BOOK.PS
上传用户:jnzhq888
上传日期:2007-01-18
资源大小:51694k
文件大小:2328k
源码类别:

操作系统开发

开发平台:

WINDOWS

  1. (22112)210 648 A
  2. 1110(})S
  3. (else)168 1194 A
  4. 1404({)S
  5. 4320 V
  6. (22113)210 648 A
  7. (return(EINVAL);)630 1362 A
  8. 4410 V
  9. (22114)210 648 A
  10. 1110(})S
  11. 4500 V
  12. (22115)210 648 A
  13. 4590 V
  14. (22116)210 648 A
  15. 1110(/*)S
  16. 1236(If)S
  17. (the)126 1362 A
  18. (super)210 1530 A
  19. (block)210 1782 A
  20. (has)126 2034 A
  21. (the)126 2202 A
  22. (wrong)210 2370 A
  23. (byte)168 2622 A
  24. (order,)252 2832 A
  25. (swap)168 3126 A
  26. (the)126 3336 A
  27. (fields;)294 3504 A
  28. (the)126 3840 A
  29. (magic)210 4008 A
  30. 4680 V
  31. (22117)210 648 A
  32. 1152(*)S
  33. (number)252 1236 A
  34. (doesn't)294 1530 A
  35. (need)168 1866 A
  36. (conversion.)462 2076 A
  37. 2580(*/)S
  38. 4770 V
  39. (22118)210 648 A
  40. (sp->s_ninodes)546 1110 A
  41. 1698(=)S
  42. (conv2(native,)546 2034 A
  43. ((int))210 2622 A
  44. (sp->s_ninodes);)630 2874 A
  45. 4860 V
  46. (22119)210 648 A
  47. (sp->s_nzones)504 1110 A
  48. 1656(=)S
  49. (conv2(native,)546 2034 A
  50. ((int))210 2622 A
  51. (sp->s_nzones);)588 2874 A
  52. 4950 V
  53. (22120)210 648 A
  54. (sp->s_imap_blocks)714 1110 A
  55. 1866(=)S
  56. (conv2(native,)546 2034 A
  57. ((int))210 2622 A
  58. (sp->s_imap_blocks);)798 2874 A
  59. 5040 V
  60. (22121)210 648 A
  61. (sp->s_zmap_blocks)714 1110 A
  62. 1866(=)S
  63. (conv2(native,)546 2034 A
  64. ((int))210 2622 A
  65. (sp->s_zmap_blocks);)798 2874 A
  66. 5130 V
  67. (22122)210 648 A
  68. (sp->s_firstdatazone)798 1110 A
  69. 1950(=)S
  70. (conv2(native,)546 2034 A
  71. ((int))210 2622 A
  72. (sp->s_firstdatazone);)882 2874 A
  73. 5220 V
  74. (22123)210 648 A
  75. (sp->s_log_zone_size)798 1110 A
  76. 1950(=)S
  77. (conv2(native,)546 2034 A
  78. ((int))210 2622 A
  79. (sp->s_log_zone_size);)882 2874 A
  80. 5310 V
  81. (22124)210 648 A
  82. (sp->s_max_size)588 1110 A
  83. 1740(=)S
  84. (conv4(native,)546 2034 A
  85. (sp->s_max_size);)672 2622 A
  86. 5400 V
  87. (22125)210 648 A
  88. (sp->s_zones)462 1110 A
  89. 1614(=)S
  90. (conv4(native,)546 2034 A
  91. (sp->s_zones);)546 2622 A
  92. 5490 V
  93. (22126)210 648 A
  94. 5580 V
  95. (22127)210 648 A
  96. 1110(/*)S
  97. 1236(In)S
  98. (V1,)126 1362 A
  99. (the)126 1530 A
  100. (device)252 1698 A
  101. (size)168 1992 A
  102. (was)126 2202 A
  103. (kept)168 2370 A
  104. 2580(in)S
  105. 2706(a)S
  106. (short,)252 2790 A
  107. (s_nzones,)378 3084 A
  108. (which)210 3504 A
  109. (limited)294 3756 A
  110. 5670 V
  111. (22128)210 648 A
  112. 1152(*)S
  113. (devices)294 1236 A
  114. 1572(to)S
  115. (32K)126 1698 A
  116. (zones.)252 1866 A
  117. (For)126 2202 A
  118. (V2,)126 2370 A
  119. 2538(it)S
  120. (was)126 2664 A
  121. (decided)294 2832 A
  122. 3168(to)S
  123. (keep)168 3294 A
  124. (the)126 3504 A
  125. (size)168 3672 A
  126. 3882(as)S
  127. 4008(a)S
  128. 5760 V
  129. (22129)210 648 A
  130. 1152(*)S
  131. (long.)210 1236 A
  132. (However,)336 1530 A
  133. (just)168 1908 A
  134. (changing)336 2118 A
  135. (s_nzones)336 2496 A
  136. 2874(to)S
  137. 3000(a)S
  138. (long)168 3084 A
  139. (would)210 3294 A
  140. (not)126 3546 A
  141. (work,)210 3714 A
  142. (since)210 3966 A
  143. 5850 V
  144. (22130)210 648 A
  145. 1152(*)S
  146. (then)168 1236 A
  147. (the)126 1446 A
  148. (position)336 1614 A
  149. 1992(of)S
  150. (s_magic)294 2118 A
  151. 2454(in)S
  152. (the)126 2580 A
  153. (super)210 2748 A
  154. (block)210 3000 A
  155. (would)210 3252 A
  156. (not)126 3504 A
  157. 3672(be)S
  158. (the)126 3798 A
  159. (same)168 3966 A
  160. 5940 V
  161. (22131)210 648 A
  162. 1152(*)S
  163. 1236(in)S
  164. 1362(V1)S
  165. (and)126 1488 A
  166. 1656(V2)S
  167. (file)168 1782 A
  168. (systems,)336 1992 A
  169. (and)126 2370 A
  170. (there)210 2538 A
  171. (would)210 2790 A
  172. 3042(be)S
  173. 3168(no)S
  174. (way)126 3294 A
  175. 3462(to)S
  176. (tell)168 3588 A
  177. (whether)294 3798 A
  178. 6030 V
  179. (22132)210 648 A
  180. 1152(*)S
  181. 1236(a)S
  182. (newly)210 1320 A
  183. (mounted)294 1572 A
  184. (file)168 1908 A
  185. (system)252 2118 A
  186. (was)126 2412 A
  187. 2580(V1)S
  188. 2706(or)S
  189. (V2.)126 2832 A
  190. (The)126 3042 A
  191. (solution)336 3210 A
  192. (was)126 3588 A
  193. 3756(to)S
  194. (introduce)378 3882 A
  195. 6120 V
  196. (22133)210 648 A
  197. 1152(*)S
  198. 1236(a)S
  199. (new)126 1320 A
  200. (variable,)378 1488 A
  201. (s_zones,)336 1908 A
  202. (and)126 2286 A
  203. (copy)168 2454 A
  204. (the)126 2664 A
  205. (size)168 2832 A
  206. (there.)252 3042 A
  207. 6210 V
  208. (22134)210 648 A
  209. 1152(*)S
  210. 8418 V
  211. EP
  212. %%Page: 301 301
  213. BP
  214. /slant 0 def
  215. /height 0 def
  216. 630 V
  217. 10 R
  218. 648(MINIX)S
  219. 976(SOURCE)S
  220. 1399(CODE)S
  221. 11 R
  222. 2126(File:)S
  223. 2359(src/fs/super.c)S
  224. 12 B
  225. (301)180 4248 A
  226. 900 V
  227. 7 LST
  228. (22135)210 648 A
  229. 1152(*)S
  230. (Calculate)378 1236 A
  231. (some)168 1656 A
  232. (other)210 1866 A
  233. (numbers)294 2118 A
  234. (that)168 2454 A
  235. (depend)252 2664 A
  236. 2958(on)S
  237. (the)126 3084 A
  238. (version)294 3252 A
  239. (here)168 3588 A
  240. (too,)168 3798 A
  241. 4008(to)S
  242. 990 V
  243. (22136)210 648 A
  244. 1152(*)S
  245. (hide)168 1236 A
  246. (some)168 1446 A
  247. 1656(of)S
  248. (the)126 1782 A
  249. (differences.)504 1950 A
  250. 1080 V
  251. (22137)210 648 A
  252. 1152(*/)S
  253. 1170 V
  254. (22138)210 648 A
  255. 1110(if)S
  256. ((version)336 1236 A
  257. 1614(==)S
  258. (V1))126 1740 A
  259. 1908({)S
  260. 1260 V
  261. (22139)210 648 A
  262. (sp->s_zones)462 1362 A
  263. 1866(=)S
  264. (sp->s_nzones;)546 1950 A
  265. 2706(/*)S
  266. (only)168 2832 A
  267. 3042(V1)S
  268. (needs)210 3168 A
  269. (this)168 3420 A
  270. (copy)168 3630 A
  271. 3840(*/)S
  272. 1350 V
  273. (22140)210 648 A
  274. (sp->s_inodes_per_block)924 1362 A
  275. 2328(=)S
  276. (V1_INODES_PER_BLOCK;)840 2412 A
  277. 1440 V
  278. (22141)210 648 A
  279. (sp->s_ndzones)546 1362 A
  280. 1950(=)S
  281. (V1_NR_DZONES;)546 2034 A
  282. 1530 V
  283. (22142)210 648 A
  284. (sp->s_nindirs)546 1362 A
  285. 1950(=)S
  286. (V1_INDIRECTS;)546 2034 A
  287. 1620 V
  288. (22143)210 648 A
  289. 1110(})S
  290. (else)168 1194 A
  291. 1404({)S
  292. 1710 V
  293. (22144)210 648 A
  294. (sp->s_inodes_per_block)924 1362 A
  295. 2328(=)S
  296. (V2_INODES_PER_BLOCK;)840 2412 A
  297. 1800 V
  298. (22145)210 648 A
  299. (sp->s_ndzones)546 1362 A
  300. 1950(=)S
  301. (V2_NR_DZONES;)546 2034 A
  302. 1890 V
  303. (22146)210 648 A
  304. (sp->s_nindirs)546 1362 A
  305. 1950(=)S
  306. (V2_INDIRECTS;)546 2034 A
  307. 1980 V
  308. (22147)210 648 A
  309. 1110(})S
  310. 2070 V
  311. (22148)210 648 A
  312. 2160 V
  313. (22149)210 648 A
  314. (sp->s_isearch)546 1110 A
  315. 1698(=)S
  316. 1782(0;)S
  317. 2370(/*)S
  318. (inode)210 2496 A
  319. (searches)336 2748 A
  320. (initially)378 3126 A
  321. (start)210 3546 A
  322. 3798(at)S
  323. 3924(0)S
  324. 4008(*/)S
  325. 2250 V
  326. (22150)210 648 A
  327. (sp->s_zsearch)546 1110 A
  328. 1698(=)S
  329. 1782(0;)S
  330. 2370(/*)S
  331. (zone)168 2496 A
  332. (searches)336 2706 A
  333. (initially)378 3084 A
  334. (start)210 3504 A
  335. 3756(at)S
  336. 3882(0)S
  337. 3966(*/)S
  338. 2340 V
  339. (22151)210 648 A
  340. (sp->s_version)546 1110 A
  341. 1698(=)S
  342. (version;)336 1782 A
  343. 2430 V
  344. (22152)210 648 A
  345. (sp->s_native)504 1110 A
  346. 1698(=)S
  347. (native;)294 1782 A
  348. 2520 V
  349. (22153)210 648 A
  350. 2610 V
  351. (22154)210 648 A
  352. 1110(/*)S
  353. (Make)168 1236 A
  354. 1446(a)S
  355. (few)126 1530 A
  356. (basic)210 1698 A
  357. (checks)252 1950 A
  358. 2244(to)S
  359. (see)126 2370 A
  360. 2538(if)S
  361. (super)210 2664 A
  362. (block)210 2916 A
  363. (looks)210 3168 A
  364. (reasonable.)462 3420 A
  365. 3924(*/)S
  366. 2700 V
  367. (22155)210 648 A
  368. 1110(if)S
  369. ((sp->s_imap_blocks)756 1236 A
  370. 2034(<)S
  371. 2118(1)S
  372. 2202(||)S
  373. (sp->s_zmap_blocks)714 2328 A
  374. 3084(<)S
  375. 3168(1)S
  376. 2790 V
  377. (22156)210 648 A
  378. 2370(||)S
  379. (sp->s_ninodes)546 2496 A
  380. 3084(<)S
  381. 3168(1)S
  382. 3252(||)S
  383. (sp->s_zones)462 3378 A
  384. 3882(<)S
  385. 3966(1)S
  386. 2880 V
  387. (22157)210 648 A
  388. 2370(||)S
  389. ((unsigned))420 2496 A
  390. (sp->s_log_zone_size)798 2958 A
  391. 3798(>)S
  392. 3882(4))S
  393. 4008({)S
  394. 2970 V
  395. (22158)210 648 A
  396. (return(EINVAL);)630 1362 A
  397. 3060 V
  398. (22159)210 648 A
  399. 1110(})S
  400. 3150 V
  401. (22160)210 648 A
  402. (sp->s_dev)378 1110 A
  403. 1530(=)S
  404. (dev;)168 1614 A
  405. 2370(/*)S
  406. (restore)294 2496 A
  407. (device)252 2832 A
  408. (number)252 3126 A
  409. 3420(*/)S
  410. 3240 V
  411. (22161)210 648 A
  412. (return(OK);)462 1110 A
  413. 3330 V
  414. (22162)210 648 A
  415. 1026(})S
  416. 3690 V
  417. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  418. 3780 V
  419. (src/fs/filedes.c)672 2034 A
  420. 3870 V
  421. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  422. 4050 V
  423. (22200)210 648 A
  424. 1026(/*)S
  425. (This)168 1152 A
  426. (file)168 1362 A
  427. (contains)336 1572 A
  428. (the)126 1950 A
  429. (procedures)420 2118 A
  430. (that)168 2580 A
  431. (manipulate)420 2790 A
  432. (file)168 3252 A
  433. (descriptors.)504 3462 A
  434. 4140 V
  435. (22201)210 648 A
  436. 1068(*)S
  437. 4230 V
  438. (22202)210 648 A
  439. 1068(*)S
  440. (The)126 1152 A
  441. (entry)210 1320 A
  442. (points)252 1572 A
  443. (into)168 1866 A
  444. (this)168 2076 A
  445. (file)168 2286 A
  446. (are)126 2496 A
  447. 4320 V
  448. (22203)210 648 A
  449. 1068(*)S
  450. (get_fd:)294 1236 A
  451. (look)168 1698 A
  452. (for)126 1908 A
  453. (free)168 2076 A
  454. (file)168 2286 A
  455. (descriptor)420 2496 A
  456. (and)126 2958 A
  457. (free)168 3126 A
  458. (filp)168 3336 A
  459. (slots)210 3546 A
  460. 4410 V
  461. (22204)210 648 A
  462. 1068(*)S
  463. (get_filp:)378 1236 A
  464. (look)168 1698 A
  465. 1908(up)S
  466. (the)126 2034 A
  467. (filp)168 2202 A
  468. (entry)210 2412 A
  469. (for)126 2664 A
  470. 2832(a)S
  471. (given)210 2916 A
  472. (file)168 3168 A
  473. (descriptor)420 3378 A
  474. 4500 V
  475. (22205)210 648 A
  476. 1068(*)S
  477. (find_filp:)420 1236 A
  478. (find)168 1698 A
  479. 1908(a)S
  480. (filp)168 1992 A
  481. (slot)168 2202 A
  482. (that)168 2412 A
  483. (points)252 2622 A
  484. 2916(to)S
  485. 3042(a)S
  486. (given)210 3126 A
  487. (inode)210 3378 A
  488. 4590 V
  489. (22206)210 648 A
  490. 1068(*/)S
  491. 4680 V
  492. (22207)210 648 A
  493. 4770 V
  494. (22208)210 648 A
  495. (#include)336 1026 A
  496. ("fs.h")252 1404 A
  497. 4860 V
  498. (22209)210 648 A
  499. (#include)336 1026 A
  500. ("file.h")336 1404 A
  501. 4950 V
  502. (22210)210 648 A
  503. (#include)336 1026 A
  504. ("fproc.h")378 1404 A
  505. 5040 V
  506. (22211)210 648 A
  507. (#include)336 1026 A
  508. ("inode.h")378 1404 A
  509. 5130 V
  510. (22212)210 648 A
  511. 5220 V
  512. (22213)210 648 A
  513. (/*===========================================================================*)3276 1026 A
  514. 5310 V
  515. (22214)210 648 A
  516. 1068(*)S
  517. (get_fd)252 2370 A
  518. 4260(*)S
  519. 5400 V
  520. (22215)210 648 A
  521. (*===========================================================================*/)3276 1068 A
  522. 5490 V
  523. (22216)210 648 A
  524. (PUBLIC)252 1026 A
  525. (int)126 1320 A
  526. (get_fd(start,)546 1488 A
  527. (bits,)210 2076 A
  528. 2328(k,)S
  529. (fpt))168 2454 A
  530. 5580 V
  531. (22217)210 648 A
  532. (int)126 1026 A
  533. (start;)252 1194 A
  534. 2370(/*)S
  535. (start)210 2496 A
  536. 2748(of)S
  537. (search)252 2874 A
  538. ((used)210 3168 A
  539. (for)126 3420 A
  540. (F_DUPFD))336 3588 A
  541. 3966(*/)S
  542. 5670 V
  543. (22218)210 648 A
  544. (mode_t)252 1026 A
  545. (bits;)210 1320 A
  546. 2370(/*)S
  547. (mode)168 2496 A
  548. 2706(of)S
  549. (the)126 2832 A
  550. (file)168 3000 A
  551. 3210(to)S
  552. 3336(be)S
  553. (created)294 3462 A
  554. ((RWX)168 3798 A
  555. (bits))210 4008 A
  556. 4260(*/)S
  557. 5760 V
  558. (22219)210 648 A
  559. (int)126 1026 A
  560. (*k;)126 1194 A
  561. 2370(/*)S
  562. (place)210 2496 A
  563. 2748(to)S
  564. (return)252 2874 A
  565. (file)168 3168 A
  566. (descriptor)420 3378 A
  567. 3840(*/)S
  568. 5850 V
  569. (22220)210 648 A
  570. (struct)252 1026 A
  571. (filp)168 1320 A
  572. (**fpt;)252 1530 A
  573. 2370(/*)S
  574. (place)210 2496 A
  575. 2748(to)S
  576. (return)252 2874 A
  577. (filp)168 3168 A
  578. (slot)168 3378 A
  579. 3588(*/)S
  580. 5940 V
  581. (22221)210 648 A
  582. 1026({)S
  583. 6030 V
  584. (22222)210 648 A
  585. 1026(/*)S
  586. (Look)168 1152 A
  587. (for)126 1362 A
  588. 1530(a)S
  589. (free)168 1614 A
  590. (file)168 1824 A
  591. (descriptor)420 2034 A
  592. (and)126 2496 A
  593. 2664(a)S
  594. (free)168 2748 A
  595. (filp)168 2958 A
  596. (slot.)210 3168 A
  597. (Fill)168 3462 A
  598. 3672(in)S
  599. (the)126 3798 A
  600. (mode)168 3966 A
  601. (word)168 4176 A
  602. 6120 V
  603. (22223)210 648 A
  604. 1068(*)S
  605. 1152(in)S
  606. (the)126 1278 A
  607. (latter,)294 1446 A
  608. (but)126 1782 A
  609. (don't)210 1950 A
  610. (claim)210 2202 A
  611. (either)252 2454 A
  612. (one)126 2748 A
  613. (yet,)168 2916 A
  614. (since)210 3126 A
  615. (the)126 3378 A
  616. (open())252 3546 A
  617. 3840(or)S
  618. (creat())294 3966 A
  619. 6210 V
  620. (22224)210 648 A
  621. 1068(*)S
  622. (may)126 1152 A
  623. (yet)126 1320 A
  624. (fail.)210 1488 A
  625. 8418 V
  626. EP
  627. %%Page: 302 302
  628. BP
  629. /slant 0 def
  630. /height 0 def
  631. 630 V
  632. 12 B
  633. (302)180 648 A
  634. 11 R
  635. 2098(File:)S
  636. 2331(src/fs/filedes.c)S
  637. 10 R
  638. 3402(MINIX)S
  639. 3730(SOURCE)S
  640. 4153(CODE)S
  641. 900 V
  642. 7 LST
  643. (22225)210 648 A
  644. 1068(*/)S
  645. 990 V
  646. (22226)210 648 A
  647. 1080 V
  648. (22227)210 648 A
  649. (register)336 1110 A
  650. (struct)252 1488 A
  651. (filp)168 1782 A
  652. (*f;)126 1992 A
  653. 1170 V
  654. (22228)210 648 A
  655. (register)336 1110 A
  656. (int)126 1488 A
  657. 1656(i;)S
  658. 1260 V
  659. (22229)210 648 A
  660. 1350 V
  661. (22230)210 648 A
  662. 1110(*k)S
  663. 1236(=)S
  664. (-1;)126 1320 A
  665. 2370(/*)S
  666. 2496(we)S
  667. (need)168 2622 A
  668. 2832(a)S
  669. (way)126 2916 A
  670. 3084(to)S
  671. (tell)168 3210 A
  672. 3420(if)S
  673. (file)168 3546 A
  674. (desc)168 3756 A
  675. (found)210 3966 A
  676. 4218(*/)S
  677. 1440 V
  678. (22231)210 648 A
  679. 1530 V
  680. (22232)210 648 A
  681. 1110(/*)S
  682. (Search)252 1236 A
  683. (the)126 1530 A
  684. (fproc)210 1698 A
  685. (fp_filp)294 1950 A
  686. (table)210 2286 A
  687. (for)126 2538 A
  688. 2706(a)S
  689. (free)168 2790 A
  690. (file)168 3000 A
  691. (descriptor.)462 3210 A
  692. 3714(*/)S
  693. 1620 V
  694. (22233)210 648 A
  695. (for)126 1110 A
  696. 1278((i)S
  697. 1404(=)S
  698. (start;)252 1488 A
  699. 1782(i)S
  700. 1866(<)S
  701. (OPEN_MAX;)378 1950 A
  702. (i++))168 2370 A
  703. 2580({)S
  704. 1710 V
  705. (22234)210 648 A
  706. 1362(if)S
  707. ((fp->fp_filp[i])630 1488 A
  708. 2160(==)S
  709. (NIL_FILP))378 2286 A
  710. 2706({)S
  711. 1800 V
  712. (22235)210 648 A
  713. 1698(/*)S
  714. 1824(A)S
  715. (file)168 1908 A
  716. (descriptor)420 2118 A
  717. (has)126 2580 A
  718. (been)168 2748 A
  719. (located.)336 2958 A
  720. 3336(*/)S
  721. 1890 V
  722. (22236)210 648 A
  723. 1698(*k)S
  724. 1824(=)S
  725. 1908(i;)S
  726. 1980 V
  727. (22237)210 648 A
  728. (break;)252 1698 A
  729. 2070 V
  730. (22238)210 648 A
  731. 1362(})S
  732. 2160 V
  733. (22239)210 648 A
  734. 1110(})S
  735. 2250 V
  736. (22240)210 648 A
  737. 2340 V
  738. (22241)210 648 A
  739. 1110(/*)S
  740. (Check)210 1236 A
  741. 1488(to)S
  742. (see)126 1614 A
  743. 1782(if)S
  744. 1908(a)S
  745. (file)168 1992 A
  746. (descriptor)420 2202 A
  747. (has)126 2664 A
  748. (been)168 2832 A
  749. (found.)252 3042 A
  750. 3336(*/)S
  751. 2430 V
  752. (22242)210 648 A
  753. 1110(if)S
  754. ((*k)126 1236 A
  755. 1404(<)S
  756. 1488(0))S
  757. (return(EMFILE);)630 1614 A
  758. 2370(/*)S
  759. (this)168 2496 A
  760. 2706(is)S
  761. (why)126 2832 A
  762. 3000(we)S
  763. (initialized)462 3126 A
  764. 3630(k)S
  765. 3714(to)S
  766. 3840(-1)S
  767. 3966(*/)S
  768. 2520 V
  769. (22243)210 648 A
  770. 2610 V
  771. (22244)210 648 A
  772. 1110(/*)S
  773. (Now)126 1236 A
  774. (that)168 1404 A
  775. 1614(a)S
  776. (file)168 1698 A
  777. (descriptor)420 1908 A
  778. (has)126 2370 A
  779. (been)168 2538 A
  780. (found,)252 2748 A
  781. (look)168 3042 A
  782. (for)126 3252 A
  783. 3420(a)S
  784. (free)168 3504 A
  785. (filp)168 3714 A
  786. (slot.)210 3924 A
  787. 4176(*/)S
  788. 2700 V
  789. (22245)210 648 A
  790. (for)126 1110 A
  791. 1278((f)S
  792. 1404(=)S
  793. (&filp[0];)378 1488 A
  794. 1908(f)S
  795. 1992(<)S
  796. (&filp[NR_FILPS];)672 2076 A
  797. (f++))168 2790 A
  798. 3000({)S
  799. 2790 V
  800. (22246)210 648 A
  801. 1362(if)S
  802. ((f->filp_count)588 1488 A
  803. 2118(==)S
  804. 2244(0))S
  805. 2370({)S
  806. 2880 V
  807. (22247)210 648 A
  808. (f->filp_mode)504 1698 A
  809. 2244(=)S
  810. (bits;)210 2328 A
  811. 2970 V
  812. (22248)210 648 A
  813. (f->filp_pos)462 1698 A
  814. 2202(=)S
  815. (0L;)126 2286 A
  816. 3060 V
  817. (22249)210 648 A
  818. (f->filp_flags)546 1698 A
  819. 2286(=)S
  820. 2370(0;)S
  821. 3150 V
  822. (22250)210 648 A
  823. (*fpt)168 1698 A
  824. 1908(=)S
  825. 1992(f;)S
  826. 3240 V
  827. (22251)210 648 A
  828. (return(OK);)462 1698 A
  829. 3330 V
  830. (22252)210 648 A
  831. 1362(})S
  832. 3420 V
  833. (22253)210 648 A
  834. 1110(})S
  835. 3510 V
  836. (22254)210 648 A
  837. 3600 V
  838. (22255)210 648 A
  839. 1110(/*)S
  840. 1236(If)S
  841. (control)294 1362 A
  842. (passes)252 1698 A
  843. (here,)210 1992 A
  844. (the)126 2244 A
  845. (filp)168 2412 A
  846. (table)210 2622 A
  847. (must)168 2874 A
  848. 3084(be)S
  849. (full.)210 3210 A
  850. (Report)252 3504 A
  851. (that)168 3798 A
  852. (back.)210 4008 A
  853. 4260(*/)S
  854. 3690 V
  855. (22256)210 648 A
  856. (return(ENFILE);)630 1110 A
  857. 3780 V
  858. (22257)210 648 A
  859. 1026(})S
  860. 4050 V
  861. (22260)210 648 A
  862. (/*===========================================================================*)3276 1026 A
  863. 4140 V
  864. (22261)210 648 A
  865. 1068(*)S
  866. (get_filp)336 2370 A
  867. 4260(*)S
  868. 4230 V
  869. (22262)210 648 A
  870. (*===========================================================================*/)3276 1068 A
  871. 4320 V
  872. (22263)210 648 A
  873. (PUBLIC)252 1026 A
  874. (struct)252 1320 A
  875. (filp)168 1614 A
  876. (*get_filp(fild))630 1824 A
  877. 4410 V
  878. (22264)210 648 A
  879. (int)126 1026 A
  880. (fild;)210 1194 A
  881. 2370(/*)S
  882. (file)168 2496 A
  883. (descriptor)420 2706 A
  884. 3168(*/)S
  885. 4500 V
  886. (22265)210 648 A
  887. 1026({)S
  888. 4590 V
  889. (22266)210 648 A
  890. 1026(/*)S
  891. (See)126 1152 A
  892. 1320(if)S
  893. ('fild')252 1446 A
  894. (refers)252 1740 A
  895. 2034(to)S
  896. 2160(a)S
  897. (valid)210 2244 A
  898. (file)168 2496 A
  899. (descr.)252 2706 A
  900. 3042(If)S
  901. (so,)126 3168 A
  902. (return)252 3336 A
  903. (its)126 3630 A
  904. (filp)168 3798 A
  905. (ptr.)168 4008 A
  906. 4218(*/)S
  907. 4680 V
  908. (22267)210 648 A
  909. 4770 V
  910. (22268)210 648 A
  911. (err_code)336 1110 A
  912. 1488(=)S
  913. (EBADF;)252 1572 A
  914. 4860 V
  915. (22269)210 648 A
  916. 1110(if)S
  917. ((fild)210 1236 A
  918. 1488(<)S
  919. 1572(0)S
  920. 1656(||)S
  921. (fild)168 1782 A
  922. 1992(>=)S
  923. (OPEN_MAX)336 2118 A
  924. 2496())S
  925. (return(NIL_FILP);)714 2580 A
  926. 4950 V
  927. (22270)210 648 A
  928. (return(fp->fp_filp[fild]);)1092 1110 A
  929. 2370(/*)S
  930. (may)126 2496 A
  931. (also)168 2664 A
  932. 2874(be)S
  933. (NIL_FILP)336 3000 A
  934. 3378(*/)S
  935. 5040 V
  936. (22271)210 648 A
  937. 1026(})S
  938. 5310 V
  939. (22274)210 648 A
  940. (/*===========================================================================*)3276 1026 A
  941. 5400 V
  942. (22275)210 648 A
  943. 1068(*)S
  944. (find_filp)378 2370 A
  945. 4260(*)S
  946. 5490 V
  947. (22276)210 648 A
  948. (*===========================================================================*/)3276 1068 A
  949. 5580 V
  950. (22277)210 648 A
  951. (PUBLIC)252 1026 A
  952. (struct)252 1320 A
  953. (filp)168 1614 A
  954. (*find_filp(rip,)630 1824 A
  955. (bits))210 2496 A
  956. 5670 V
  957. (22278)210 648 A
  958. (register)336 1026 A
  959. (struct)252 1404 A
  960. (inode)210 1698 A
  961. (*rip;)210 1950 A
  962. 2370(/*)S
  963. (inode)210 2496 A
  964. (referred)336 2748 A
  965. 3126(to)S
  966. 3252(by)S
  967. (the)126 3378 A
  968. (filp)168 3546 A
  969. 3756(to)S
  970. 3882(be)S
  971. (found)210 4008 A
  972. 4260(*/)S
  973. 5760 V
  974. (22279)210 648 A
  975. (Mode_t)252 1026 A
  976. (bits;)210 1320 A
  977. 2370(/*)S
  978. (mode)168 2496 A
  979. 2706(of)S
  980. (the)126 2832 A
  981. (filp)168 3000 A
  982. 3210(to)S
  983. 3336(be)S
  984. (found)210 3462 A
  985. ((RWX)168 3714 A
  986. (bits))210 3924 A
  987. 4176(*/)S
  988. 5850 V
  989. (22280)210 648 A
  990. 1026({)S
  991. 5940 V
  992. (22281)210 648 A
  993. 1026(/*)S
  994. (Find)168 1152 A
  995. 1362(a)S
  996. (filp)168 1446 A
  997. (slot)168 1656 A
  998. (that)168 1866 A
  999. (refers)252 2076 A
  1000. 2370(to)S
  1001. (the)126 2496 A
  1002. (inode)210 2664 A
  1003. ('rip')210 2916 A
  1004. 3168(in)S
  1005. 3294(a)S
  1006. (way)126 3378 A
  1007. 3546(as)S
  1008. (described)378 3672 A
  1009. 6030 V
  1010. (22282)210 648 A
  1011. 1068(*)S
  1012. 1152(by)S
  1013. (the)126 1278 A
  1014. (mode)168 1446 A
  1015. (bit)126 1656 A
  1016. ('bits'.)294 1824 A
  1017. (Used)168 2160 A
  1018. (for)126 2370 A
  1019. (determining)462 2538 A
  1020. (whether)294 3042 A
  1021. (somebody)336 3378 A
  1022. 3756(is)S
  1023. (still)210 3882 A
  1024. 6120 V
  1025. (22283)210 648 A
  1026. 1068(*)S
  1027. (interested)420 1152 A
  1028. 1614(in)S
  1029. (either)252 1740 A
  1030. (end)126 2034 A
  1031. 2202(of)S
  1032. 2328(a)S
  1033. (pipe.)210 2412 A
  1034. (Also)168 2706 A
  1035. (used)168 2916 A
  1036. (when)168 3126 A
  1037. (opening)294 3336 A
  1038. 3672(a)S
  1039. (FIFO)168 3756 A
  1040. 3966(to)S
  1041. 6210 V
  1042. (22284)210 648 A
  1043. 1068(*)S
  1044. (find)168 1152 A
  1045. (partners)336 1362 A
  1046. 1740(to)S
  1047. (share)210 1866 A
  1048. 2118(a)S
  1049. (filp)168 2202 A
  1050. (field)210 2412 A
  1051. (with)168 2664 A
  1052. ((to)126 2874 A
  1053. (shared)252 3042 A
  1054. (the)126 3336 A
  1055. (file)168 3504 A
  1056. (position).)420 3714 A
  1057. 8418 V
  1058. EP
  1059. %%Page: 303 303
  1060. BP
  1061. /slant 0 def
  1062. /height 0 def
  1063. 630 V
  1064. 10 R
  1065. 648(MINIX)S
  1066. 976(SOURCE)S
  1067. 1399(CODE)S
  1068. 11 R
  1069. 2098(File:)S
  1070. 2331(src/fs/filedes.c)S
  1071. 12 B
  1072. (303)180 4248 A
  1073. 900 V
  1074. 7 LST
  1075. (22285)210 648 A
  1076. 1068(*)S
  1077. (Like)168 1152 A
  1078. ('get_fd')336 1362 A
  1079. 1740(it)S
  1080. (performs)336 1866 A
  1081. (its)126 2244 A
  1082. (job)126 2412 A
  1083. 2580(by)S
  1084. (linear)252 2706 A
  1085. (search)252 3000 A
  1086. (through)294 3294 A
  1087. (the)126 3630 A
  1088. (filp)168 3798 A
  1089. (table.)252 4008 A
  1090. 990 V
  1091. (22286)210 648 A
  1092. 1068(*/)S
  1093. 1080 V
  1094. (22287)210 648 A
  1095. 1170 V
  1096. (22288)210 648 A
  1097. (register)336 1110 A
  1098. (struct)252 1488 A
  1099. (filp)168 1782 A
  1100. (*f;)126 1992 A
  1101. 1260 V
  1102. (22289)210 648 A
  1103. 1350 V
  1104. (22290)210 648 A
  1105. (for)126 1110 A
  1106. 1278((f)S
  1107. 1404(=)S
  1108. (&filp[0];)378 1488 A
  1109. 1908(f)S
  1110. 1992(<)S
  1111. (&filp[NR_FILPS];)672 2076 A
  1112. (f++))168 2790 A
  1113. 3000({)S
  1114. 1440 V
  1115. (22291)210 648 A
  1116. 1362(if)S
  1117. ((f->filp_count)588 1488 A
  1118. 2118(!=)S
  1119. 2244(0)S
  1120. 2328(&&)S
  1121. (f->filp_ino)462 2454 A
  1122. 2958(==)S
  1123. (rip)126 3084 A
  1124. 3252(&&)S
  1125. ((f->filp_mode)546 3378 A
  1126. 3966(&)S
  1127. (bits)){)294 4050 A
  1128. 1530 V
  1129. (22292)210 648 A
  1130. (return(f);)420 1698 A
  1131. 1620 V
  1132. (22293)210 648 A
  1133. 1362(})S
  1134. 1710 V
  1135. (22294)210 648 A
  1136. 1110(})S
  1137. 1800 V
  1138. (22295)210 648 A
  1139. 1890 V
  1140. (22296)210 648 A
  1141. 1110(/*)S
  1142. 1236(If)S
  1143. (control)294 1362 A
  1144. (passes)252 1698 A
  1145. (here,)210 1992 A
  1146. (the)126 2244 A
  1147. (filp)168 2412 A
  1148. (wasn't)252 2622 A
  1149. (there.)252 2916 A
  1150. (Report)252 3252 A
  1151. (that)168 3546 A
  1152. (back.)210 3756 A
  1153. 4008(*/)S
  1154. 1980 V
  1155. (22297)210 648 A
  1156. (return(NIL_FILP);)714 1110 A
  1157. 2070 V
  1158. (22298)210 648 A
  1159. 1026(})S
  1160. 2340 V
  1161. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  1162. 2430 V
  1163. (src/fs/lock.c)546 2034 A
  1164. 2520 V
  1165. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  1166. 2700 V
  1167. (22300)210 648 A
  1168. 1026(/*)S
  1169. (This)168 1152 A
  1170. (file)168 1362 A
  1171. (handles)294 1572 A
  1172. (advisory)336 1908 A
  1173. (file)168 2286 A
  1174. (locking)294 2496 A
  1175. 2832(as)S
  1176. (required)336 2958 A
  1177. 3336(by)S
  1178. (POSIX.)252 3462 A
  1179. 2790 V
  1180. (22301)210 648 A
  1181. 1068(*)S
  1182. 2880 V
  1183. (22302)210 648 A
  1184. 1068(*)S
  1185. (The)126 1152 A
  1186. (entry)210 1320 A
  1187. (points)252 1572 A
  1188. (into)168 1866 A
  1189. (this)168 2076 A
  1190. (file)168 2286 A
  1191. (are)126 2496 A
  1192. 2970 V
  1193. (22303)210 648 A
  1194. 1068(*)S
  1195. (lock_op:)336 1236 A
  1196. (perform)294 1698 A
  1197. (locking)294 2034 A
  1198. (operations)420 2370 A
  1199. (for)126 2832 A
  1200. (FCNTL)210 3000 A
  1201. (system)252 3252 A
  1202. (call)168 3546 A
  1203. 3060 V
  1204. (22304)210 648 A
  1205. 1068(*)S
  1206. (lock_revive:)504 1236 A
  1207. (revive)252 1782 A
  1208. (processes)378 2076 A
  1209. (when)168 2496 A
  1210. 2706(a)S
  1211. (lock)168 2790 A
  1212. 3000(is)S
  1213. (released)336 3126 A
  1214. 3150 V
  1215. (22305)210 648 A
  1216. 1068(*/)S
  1217. 3240 V
  1218. (22306)210 648 A
  1219. 3330 V
  1220. (22307)210 648 A
  1221. (#include)336 1026 A
  1222. ("fs.h")252 1404 A
  1223. 3420 V
  1224. (22308)210 648 A
  1225. (#include)336 1026 A
  1226. (<fcntl.h>)378 1404 A
  1227. 3510 V
  1228. (22309)210 648 A
  1229. (#include)336 1026 A
  1230. (<unistd.h>)420 1404 A
  1231. 2034(/*)S
  1232. 2160(cc)S
  1233. (runs)168 2286 A
  1234. (out)126 2496 A
  1235. 2664(of)S
  1236. (memory)252 2790 A
  1237. (with)168 3084 A
  1238. (unistd.h)336 3294 A
  1239. (:-()126 3672 A
  1240. 3840(*/)S
  1241. 3600 V
  1242. (22310)210 648 A
  1243. (#include)336 1026 A
  1244. ("file.h")336 1404 A
  1245. 3690 V
  1246. (22311)210 648 A
  1247. (#include)336 1026 A
  1248. ("fproc.h")378 1404 A
  1249. 3780 V
  1250. (22312)210 648 A
  1251. (#include)336 1026 A
  1252. ("inode.h")378 1404 A
  1253. 3870 V
  1254. (22313)210 648 A
  1255. (#include)336 1026 A
  1256. ("lock.h")336 1404 A
  1257. 3960 V
  1258. (22314)210 648 A
  1259. (#include)336 1026 A
  1260. ("param.h")378 1404 A
  1261. 4050 V
  1262. (22315)210 648 A
  1263. 4140 V
  1264. (22316)210 648 A
  1265. (/*===========================================================================*)3276 1026 A
  1266. 4230 V
  1267. (22317)210 648 A
  1268. 1068(*)S
  1269. (lock_op)294 2370 A
  1270. 4260(*)S
  1271. 4320 V
  1272. (22318)210 648 A
  1273. (*===========================================================================*/)3276 1068 A
  1274. 4410 V
  1275. (22319)210 648 A
  1276. (PUBLIC)252 1026 A
  1277. (int)126 1320 A
  1278. (lock_op(f,)420 1488 A
  1279. (req))168 1950 A
  1280. 4500 V
  1281. (22320)210 648 A
  1282. (struct)252 1026 A
  1283. (filp)168 1320 A
  1284. (*f;)126 1530 A
  1285. 4590 V
  1286. (22321)210 648 A
  1287. (int)126 1026 A
  1288. (req;)168 1194 A
  1289. 2370(/*)S
  1290. (either)252 2496 A
  1291. (F_SETLK)294 2790 A
  1292. 3126(or)S
  1293. (F_SETLKW)336 3252 A
  1294. 3630(*/)S
  1295. 4680 V
  1296. (22322)210 648 A
  1297. 1026({)S
  1298. 4770 V
  1299. (22323)210 648 A
  1300. 1026(/*)S
  1301. (Perform)294 1152 A
  1302. (the)126 1488 A
  1303. (advisory)336 1656 A
  1304. (locking)294 2034 A
  1305. (required)336 2370 A
  1306. 2748(by)S
  1307. (POSIX.)252 2874 A
  1308. 3168(*/)S
  1309. 4860 V
  1310. (22324)210 648 A
  1311. 4950 V
  1312. (22325)210 648 A
  1313. (int)126 1110 A
  1314. 1278(r,)S
  1315. (ltype,)252 1404 A
  1316. 1698(i,)S
  1317. (conflict)336 1824 A
  1318. 2202(=)S
  1319. 2286(0,)S
  1320. (unlocking)378 2412 A
  1321. 2832(=)S
  1322. 2916(0;)S
  1323. 5040 V
  1324. (22326)210 648 A
  1325. (mode_t)252 1110 A
  1326. (mo;)126 1404 A
  1327. 5130 V
  1328. (22327)210 648 A
  1329. (off_t)210 1110 A
  1330. (first,)252 1362 A
  1331. (last;)210 1656 A
  1332. 5220 V
  1333. (22328)210 648 A
  1334. (struct)252 1110 A
  1335. (flock)210 1404 A
  1336. (flock;)252 1656 A
  1337. 5310 V
  1338. (22329)210 648 A
  1339. (vir_bytes)378 1110 A
  1340. (user_flock;)462 1530 A
  1341. 5400 V
  1342. (22330)210 648 A
  1343. (struct)252 1110 A
  1344. (file_lock)378 1404 A
  1345. (*flp,)210 1824 A
  1346. (*flp2,)252 2076 A
  1347. (*empty;)294 2370 A
  1348. 5490 V
  1349. (22331)210 648 A
  1350. 5580 V
  1351. (22332)210 648 A
  1352. 1110(/*)S
  1353. (Fetch)210 1236 A
  1354. (the)126 1488 A
  1355. (flock)210 1656 A
  1356. (structure)378 1908 A
  1357. (from)168 2328 A
  1358. (user)168 2538 A
  1359. (space.)252 2748 A
  1360. 3042(*/)S
  1361. 5670 V
  1362. (22333)210 648 A
  1363. (user_flock)420 1110 A
  1364. 1572(=)S
  1365. ((vir_bytes))462 1656 A
  1366. (name1;)252 2160 A
  1367. 5760 V
  1368. (22334)210 648 A
  1369. 1110(r)S
  1370. 1194(=)S
  1371. (sys_copy(who,)546 1278 A
  1372. 1866(D,)S
  1373. ((phys_bytes))504 1992 A
  1374. (user_flock,)462 2538 A
  1375. 5850 V
  1376. (22335)210 648 A
  1377. (FS_PROC_NR,)462 1362 A
  1378. 1866(D,)S
  1379. ((phys_bytes))504 1992 A
  1380. (&flock,)294 2538 A
  1381. ((phys_bytes))504 2874 A
  1382. (sizeof(flock));)630 3420 A
  1383. 5940 V
  1384. (22336)210 648 A
  1385. 1110(if)S
  1386. 1236((r)S
  1387. 1362(!=)S
  1388. (OK))126 1488 A
  1389. (return(EINVAL);)630 1656 A
  1390. 6030 V
  1391. (22337)210 648 A
  1392. 6120 V
  1393. (22338)210 648 A
  1394. 1110(/*)S
  1395. (Make)168 1236 A
  1396. (some)168 1446 A
  1397. (error)210 1656 A
  1398. (checks.)294 1908 A
  1399. 2244(*/)S
  1400. 6210 V
  1401. (22339)210 648 A
  1402. (ltype)210 1110 A
  1403. 1362(=)S
  1404. (flock.l_type;)546 1446 A
  1405. 8418 V
  1406. EP
  1407. %%Page: 304 304
  1408. BP
  1409. /slant 0 def
  1410. /height 0 def
  1411. 630 V
  1412. 12 B
  1413. (304)180 648 A
  1414. 11 R
  1415. 2151(File:)S
  1416. 2384(src/fs/lock.c)S
  1417. 10 R
  1418. 3402(MINIX)S
  1419. 3730(SOURCE)S
  1420. 4153(CODE)S
  1421. 900 V
  1422. 7 LST
  1423. (22340)210 648 A
  1424. 1110(mo)S
  1425. 1236(=)S
  1426. (f->filp_mode;)546 1320 A
  1427. 990 V
  1428. (22341)210 648 A
  1429. 1110(if)S
  1430. ((ltype)252 1236 A
  1431. 1530(!=)S
  1432. (F_UNLCK)294 1656 A
  1433. 1992(&&)S
  1434. (ltype)210 2118 A
  1435. 2370(!=)S
  1436. (F_RDLCK)294 2496 A
  1437. 2832(&&)S
  1438. (ltype)210 2958 A
  1439. 3210(!=)S
  1440. (F_WRLCK))336 3336 A
  1441. (return(EINVAL);)630 3714 A
  1442. 1080 V
  1443. (22342)210 648 A
  1444. 1110(if)S
  1445. ((req)168 1236 A
  1446. 1446(==)S
  1447. (F_GETLK)294 1572 A
  1448. 1908(&&)S
  1449. (ltype)210 2034 A
  1450. 2286(==)S
  1451. (F_UNLCK))336 2412 A
  1452. (return(EINVAL);)630 2790 A
  1453. 1170 V
  1454. (22343)210 648 A
  1455. 1110(if)S
  1456. 1236(()S
  1457. ((f->filp_ino->i_mode)840 1320 A
  1458. 2202(&)S
  1459. (I_TYPE))294 2286 A
  1460. 2622(!=)S
  1461. (I_REGULAR))420 2748 A
  1462. (return(EINVAL);)630 3210 A
  1463. 1260 V
  1464. (22344)210 648 A
  1465. 1110(if)S
  1466. ((req)168 1236 A
  1467. 1446(!=)S
  1468. (F_GETLK)294 1572 A
  1469. 1908(&&)S
  1470. (ltype)210 2034 A
  1471. 2286(==)S
  1472. (F_RDLCK)294 2412 A
  1473. 2748(&&)S
  1474. ((mo)126 2874 A
  1475. 3042(&)S
  1476. (R_BIT))252 3126 A
  1477. 3420(==)S
  1478. 3546(0))S
  1479. (return(EBADF);)588 3672 A
  1480. 1350 V
  1481. (22345)210 648 A
  1482. 1110(if)S
  1483. ((req)168 1236 A
  1484. 1446(!=)S
  1485. (F_GETLK)294 1572 A
  1486. 1908(&&)S
  1487. (ltype)210 2034 A
  1488. 2286(==)S
  1489. (F_WRLCK)294 2412 A
  1490. 2748(&&)S
  1491. ((mo)126 2874 A
  1492. 3042(&)S
  1493. (W_BIT))252 3126 A
  1494. 3420(==)S
  1495. 3546(0))S
  1496. (return(EBADF);)588 3672 A
  1497. 1440 V
  1498. (22346)210 648 A
  1499. 1530 V
  1500. (22347)210 648 A
  1501. 1110(/*)S
  1502. (Compute)294 1236 A
  1503. (the)126 1572 A
  1504. (first)210 1740 A
  1505. (and)126 1992 A
  1506. (last)168 2160 A
  1507. (bytes)210 2370 A
  1508. 2622(in)S
  1509. (the)126 2748 A
  1510. (lock)168 2916 A
  1511. (region.)294 3126 A
  1512. 3462(*/)S
  1513. 1620 V
  1514. (22348)210 648 A
  1515. (switch)252 1110 A
  1516. ((flock.l_whence))672 1404 A
  1517. 2118({)S
  1518. 1710 V
  1519. (22349)210 648 A
  1520. (case)168 1362 A
  1521. (SEEK_SET:)378 1572 A
  1522. (first)210 2034 A
  1523. 2286(=)S
  1524. 2370(0;)S
  1525. (break;)252 2496 A
  1526. 1800 V
  1527. (22350)210 648 A
  1528. (case)168 1362 A
  1529. (SEEK_CUR:)378 1572 A
  1530. (first)210 2034 A
  1531. 2286(=)S
  1532. (f->filp_pos;)504 2370 A
  1533. (break;)252 2916 A
  1534. 1890 V
  1535. (22351)210 648 A
  1536. (case)168 1362 A
  1537. (SEEK_END:)378 1572 A
  1538. (first)210 2034 A
  1539. 2286(=)S
  1540. (f->filp_ino->i_size;)840 2370 A
  1541. (break;)252 3252 A
  1542. 1980 V
  1543. (22352)210 648 A
  1544. (default:)336 1362 A
  1545. (return(EINVAL);)630 2034 A
  1546. 2070 V
  1547. (22353)210 648 A
  1548. 1110(})S
  1549. 2160 V
  1550. (22354)210 648 A
  1551. 1110(/*)S
  1552. (Check)210 1236 A
  1553. (for)126 1488 A
  1554. (overflow.)378 1656 A
  1555. 2076(*/)S
  1556. 2250 V
  1557. (22355)210 648 A
  1558. 1110(if)S
  1559. ((((long)flock.l_start)882 1236 A
  1560. 2160(>)S
  1561. 2244(0))S
  1562. 2370(&&)S
  1563. (((first)294 2496 A
  1564. 2832(+)S
  1565. (flock.l_start))588 2916 A
  1566. 3546(<)S
  1567. (first)))294 3630 A
  1568. 2340 V
  1569. (22356)210 648 A
  1570. (return(EINVAL);)630 1362 A
  1571. 2430 V
  1572. (22357)210 648 A
  1573. 1110(if)S
  1574. ((((long)flock.l_start)882 1236 A
  1575. 2160(<)S
  1576. 2244(0))S
  1577. 2370(&&)S
  1578. (((first)294 2496 A
  1579. 2832(+)S
  1580. (flock.l_start))588 2916 A
  1581. 3546(>)S
  1582. (first)))294 3630 A
  1583. 2520 V
  1584. (22358)210 648 A
  1585. (return(EINVAL);)630 1362 A
  1586. 2610 V
  1587. (22359)210 648 A
  1588. (first)210 1110 A
  1589. 1362(=)S
  1590. (first)210 1446 A
  1591. 1698(+)S
  1592. (flock.l_start;)588 1782 A
  1593. 2700 V
  1594. (22360)210 648 A
  1595. (last)168 1110 A
  1596. 1320(=)S
  1597. (first)210 1404 A
  1598. 1656(+)S
  1599. (flock.l_len)462 1740 A
  1600. 2244(-)S
  1601. 2328(1;)S
  1602. 2790 V
  1603. (22361)210 648 A
  1604. 1110(if)S
  1605. ((flock.l_len)504 1236 A
  1606. 1782(==)S
  1607. 1908(0))S
  1608. (last)168 2034 A
  1609. 2244(=)S
  1610. (MAX_FILE_POS;)546 2328 A
  1611. 2880 V
  1612. (22362)210 648 A
  1613. 1110(if)S
  1614. ((last)210 1236 A
  1615. 1488(<)S
  1616. (first))252 1572 A
  1617. (return(EINVAL);)630 1866 A
  1618. 2970 V
  1619. (22363)210 648 A
  1620. 3060 V
  1621. (22364)210 648 A
  1622. 1110(/*)S
  1623. (Check)210 1236 A
  1624. 1488(if)S
  1625. (this)168 1614 A
  1626. (region)252 1824 A
  1627. (conflicts)378 2118 A
  1628. (with)168 2538 A
  1629. (any)126 2748 A
  1630. (existing)336 2916 A
  1631. (lock.)210 3294 A
  1632. 3546(*/)S
  1633. 3150 V
  1634. (22365)210 648 A
  1635. (empty)210 1110 A
  1636. 1362(=)S
  1637. ((struct)294 1446 A
  1638. (file_lock)378 1782 A
  1639. 2202(*))S
  1640. 2328(0;)S
  1641. 3240 V
  1642. (22366)210 648 A
  1643. (for)126 1110 A
  1644. ((flp)168 1278 A
  1645. 1488(=)S
  1646. (&file_lock[0];)588 1572 A
  1647. (flp)126 2202 A
  1648. 2370(<)S
  1649. 2454(&)S
  1650. (file_lock[NR_LOCKS];)840 2538 A
  1651. (flp++))252 3420 A
  1652. 3714({)S
  1653. 3330 V
  1654. (22367)210 648 A
  1655. 1362(if)S
  1656. ((flp->lock_type)630 1488 A
  1657. 2160(==)S
  1658. 2286(0))S
  1659. 2412({)S
  1660. 3420 V
  1661. (22368)210 648 A
  1662. 1698(if)S
  1663. ((empty)252 1824 A
  1664. 2118(==)S
  1665. ((struct)294 2244 A
  1666. (file_lock)378 2580 A
  1667. 3000(*))S
  1668. 3126(0))S
  1669. (empty)210 3252 A
  1670. 3504(=)S
  1671. (flp;)168 3588 A
  1672. 3510 V
  1673. (22369)210 648 A
  1674. (continue;)378 1698 A
  1675. 2370(/*)S
  1676. 2496(0)S
  1677. (means)210 2580 A
  1678. (unused)252 2832 A
  1679. (slot)168 3126 A
  1680. 3336(*/)S
  1681. 3600 V
  1682. (22370)210 648 A
  1683. 1362(})S
  1684. 3690 V
  1685. (22371)210 648 A
  1686. 1362(if)S
  1687. ((flp->lock_inode)672 1488 A
  1688. 2202(!=)S
  1689. (f->filp_ino))504 2328 A
  1690. (continue;)378 2874 A
  1691. 3378(/*)S
  1692. (different)378 3504 A
  1693. (file)168 3924 A
  1694. 4134(*/)S
  1695. 3780 V
  1696. (22372)210 648 A
  1697. 1362(if)S
  1698. ((last)210 1488 A
  1699. 1740(<)S
  1700. (flp->lock_first))672 1824 A
  1701. (continue;)378 2538 A
  1702. 3042(/*)S
  1703. (new)126 3168 A
  1704. (one)126 3336 A
  1705. 3504(is)S
  1706. 3630(in)S
  1707. (front)210 3756 A
  1708. 4008(*/)S
  1709. 3870 V
  1710. (22373)210 648 A
  1711. 1362(if)S
  1712. ((first)252 1488 A
  1713. 1782(>)S
  1714. (flp->lock_last))630 1866 A
  1715. (continue;)378 2538 A
  1716. 3042(/*)S
  1717. (new)126 3168 A
  1718. (one)126 3336 A
  1719. 3504(is)S
  1720. (afterwards)420 3630 A
  1721. 4092(*/)S
  1722. 3960 V
  1723. (22374)210 648 A
  1724. 1362(if)S
  1725. ((ltype)252 1488 A
  1726. 1782(==)S
  1727. (F_RDLCK)294 1908 A
  1728. 2244(&&)S
  1729. (flp->lock_type)588 2370 A
  1730. 3000(==)S
  1731. (F_RDLCK))336 3126 A
  1732. (continue;)378 3504 A
  1733. 4050 V
  1734. (22375)210 648 A
  1735. 1362(if)S
  1736. ((ltype)252 1488 A
  1737. 1782(!=)S
  1738. (F_UNLCK)294 1908 A
  1739. 2244(&&)S
  1740. (flp->lock_pid)546 2370 A
  1741. 2958(==)S
  1742. (fp->fp_pid))462 3084 A
  1743. (continue;)378 3588 A
  1744. 4140 V
  1745. (22376)210 648 A
  1746. 4230 V
  1747. (22377)210 648 A
  1748. 1362(/*)S
  1749. (There)210 1488 A
  1750. (might)210 1740 A
  1751. 1992(be)S
  1752. 2118(a)S
  1753. (conflict.)378 2202 A
  1754. (Process)294 2664 A
  1755. (it.)126 3000 A
  1756. 3168(*/)S
  1757. 4320 V
  1758. (22378)210 648 A
  1759. (conflict)336 1362 A
  1760. 1740(=)S
  1761. 1824(1;)S
  1762. 4410 V
  1763. (22379)210 648 A
  1764. 1362(if)S
  1765. ((req)168 1488 A
  1766. 1698(==)S
  1767. (F_GETLK))336 1824 A
  1768. (break;)252 2202 A
  1769. 4500 V
  1770. (22380)210 648 A
  1771. 4590 V
  1772. (22381)210 648 A
  1773. 1362(/*)S
  1774. 1488(If)S
  1775. 1614(we)S
  1776. (are)126 1740 A
  1777. (trying)252 1908 A
  1778. 2202(to)S
  1779. (set)126 2328 A
  1780. 2496(a)S
  1781. (lock,)210 2580 A
  1782. 2832(it)S
  1783. (just)168 2958 A
  1784. (failed.)294 3168 A
  1785. 3504(*/)S
  1786. 4680 V
  1787. (22382)210 648 A
  1788. 1362(if)S
  1789. ((ltype)252 1488 A
  1790. 1782(==)S
  1791. (F_RDLCK)294 1908 A
  1792. 2244(||)S
  1793. (ltype)210 2370 A
  1794. 2622(==)S
  1795. (F_WRLCK))336 2748 A
  1796. 3126({)S
  1797. 4770 V
  1798. (22383)210 648 A
  1799. 1698(if)S
  1800. ((req)168 1824 A
  1801. 2034(==)S
  1802. (F_SETLK))336 2160 A
  1803. 2538({)S
  1804. 4860 V
  1805. (22384)210 648 A
  1806. 2034(/*)S
  1807. (For)126 2160 A
  1808. (F_SETLK,)336 2328 A
  1809. (just)168 2706 A
  1810. (report)252 2916 A
  1811. (back)168 3210 A
  1812. (failure.)336 3420 A
  1813. 3798(*/)S
  1814. 4950 V
  1815. (22385)210 648 A
  1816. (return(EAGAIN);)630 2034 A
  1817. 5040 V
  1818. (22386)210 648 A
  1819. 1698(})S
  1820. (else)168 1782 A
  1821. 1992({)S
  1822. 5130 V
  1823. (22387)210 648 A
  1824. 2034(/*)S
  1825. (For)126 2160 A
  1826. (F_SETLKW,)378 2328 A
  1827. (suspend)294 2748 A
  1828. (the)126 3084 A
  1829. (process.)336 3252 A
  1830. 3630(*/)S
  1831. 5220 V
  1832. (22388)210 648 A
  1833. (suspend(XLOCK);)630 2034 A
  1834. 5310 V
  1835. (22389)210 648 A
  1836. (return(0);)420 2034 A
  1837. 5400 V
  1838. (22390)210 648 A
  1839. 1698(})S
  1840. 5490 V
  1841. (22391)210 648 A
  1842. 1362(})S
  1843. 5580 V
  1844. (22392)210 648 A
  1845. 5670 V
  1846. (22393)210 648 A
  1847. 1362(/*)S
  1848. 1488(We)S
  1849. (are)126 1614 A
  1850. (clearing)336 1782 A
  1851. 2160(a)S
  1852. (lock)168 2244 A
  1853. (and)126 2454 A
  1854. 2622(we)S
  1855. (found)210 2748 A
  1856. (something)378 3000 A
  1857. (that)168 3420 A
  1858. (overlaps.)378 3630 A
  1859. 4050(*/)S
  1860. 5760 V
  1861. (22394)210 648 A
  1862. (unlocking)378 1362 A
  1863. 1782(=)S
  1864. 1866(1;)S
  1865. 5850 V
  1866. (22395)210 648 A
  1867. 1362(if)S
  1868. ((first)252 1488 A
  1869. 1782(<=)S
  1870. (flp->lock_first)630 1908 A
  1871. 2580(&&)S
  1872. (last)168 2706 A
  1873. 2916(>=)S
  1874. (flp->lock_last))630 3042 A
  1875. 3714({)S
  1876. 5940 V
  1877. (22396)210 648 A
  1878. (flp->lock_type)588 1698 A
  1879. 2328(=)S
  1880. 2412(0;)S
  1881. 2706(/*)S
  1882. (mark)168 2832 A
  1883. (slot)168 3042 A
  1884. 3252(as)S
  1885. (unused)252 3378 A
  1886. 3672(*/)S
  1887. 6030 V
  1888. (22397)210 648 A
  1889. (nr_locks--;)462 1698 A
  1890. 2706(/*)S
  1891. (number)252 2832 A
  1892. 3126(of)S
  1893. (locks)210 3252 A
  1894. 3504(is)S
  1895. (now)126 3630 A
  1896. 3798(1)S
  1897. (less)168 3882 A
  1898. 4092(*/)S
  1899. 6120 V
  1900. (22398)210 648 A
  1901. (continue;)378 1698 A
  1902. 6210 V
  1903. (22399)210 648 A
  1904. 1362(})S
  1905. 8418 V
  1906. EP
  1907. %%Page: 305 305
  1908. BP
  1909. /slant 0 def
  1910. /height 0 def
  1911. 630 V
  1912. 10 R
  1913. 648(MINIX)S
  1914. 976(SOURCE)S
  1915. 1399(CODE)S
  1916. 11 R
  1917. 2151(File:)S
  1918. 2384(src/fs/lock.c)S
  1919. 12 B
  1920. (305)180 4248 A
  1921. 900 V
  1922. 7 LST
  1923. (22400)210 648 A
  1924. 990 V
  1925. (22401)210 648 A
  1926. 1362(/*)S
  1927. (Part)168 1488 A
  1928. 1698(of)S
  1929. 1824(a)S
  1930. (locked)252 1908 A
  1931. (region)252 2202 A
  1932. (has)126 2496 A
  1933. (been)168 2664 A
  1934. (unlocked.)378 2874 A
  1935. 3294(*/)S
  1936. 1080 V
  1937. (22402)210 648 A
  1938. 1362(if)S
  1939. ((first)252 1488 A
  1940. 1782(<=)S
  1941. (flp->lock_first))672 1908 A
  1942. 2622({)S
  1943. 1170 V
  1944. (22403)210 648 A
  1945. (flp->lock_first)630 1698 A
  1946. 2370(=)S
  1947. (last)168 2454 A
  1948. 2664(+)S
  1949. 2748(1;)S
  1950. 1260 V
  1951. (22404)210 648 A
  1952. (continue;)378 1698 A
  1953. 1350 V
  1954. (22405)210 648 A
  1955. 1362(})S
  1956. 1440 V
  1957. (22406)210 648 A
  1958. 1530 V
  1959. (22407)210 648 A
  1960. 1362(if)S
  1961. ((last)210 1488 A
  1962. 1740(>=)S
  1963. (flp->lock_last))630 1866 A
  1964. 2538({)S
  1965. 1620 V
  1966. (22408)210 648 A
  1967. (flp->lock_last)588 1698 A
  1968. 2328(=)S
  1969. (first)210 2412 A
  1970. 2664(-)S
  1971. 2748(1;)S
  1972. 1710 V
  1973. (22409)210 648 A
  1974. (continue;)378 1698 A
  1975. 1800 V
  1976. (22410)210 648 A
  1977. 1362(})S
  1978. 1890 V
  1979. (22411)210 648 A
  1980. 1980 V
  1981. (22412)210 648 A
  1982. 1362(/*)S
  1983. (Bad)126 1488 A
  1984. (luck.)210 1656 A
  1985. 1908(A)S
  1986. (lock)168 1992 A
  1987. (has)126 2202 A
  1988. (been)168 2370 A
  1989. (split)210 2580 A
  1990. 2832(in)S
  1991. (two)126 2958 A
  1992. 3126(by)S
  1993. (unlocking)378 3252 A
  1994. (the)126 3672 A
  1995. (middle.)294 3840 A
  1996. 4176(*/)S
  1997. 2070 V
  1998. (22413)210 648 A
  1999. 1362(if)S
  2000. ((nr_locks)378 1488 A
  2001. 1908(==)S
  2002. (NR_LOCKS))378 2034 A
  2003. (return(ENOLCK);)630 2454 A
  2004. 2160 V
  2005. (22414)210 648 A
  2006. (for)126 1362 A
  2007. 1530((i)S
  2008. 1656(=)S
  2009. 1740(0;)S
  2010. 1866(i)S
  2011. 1950(<)S
  2012. (NR_LOCKS;)378 2034 A
  2013. (i++))168 2454 A
  2014. 2250 V
  2015. (22415)210 648 A
  2016. 1698(if)S
  2017. ((file_lock[i].lock_type)966 1824 A
  2018. 2832(==)S
  2019. 2958(0))S
  2020. (break;)252 3084 A
  2021. 2340 V
  2022. (22416)210 648 A
  2023. (flp2)168 1362 A
  2024. 1572(=)S
  2025. (&file_lock[i];)588 1656 A
  2026. 2430 V
  2027. (22417)210 648 A
  2028. (flp2->lock_type)630 1362 A
  2029. 2034(=)S
  2030. (flp->lock_type;)630 2118 A
  2031. 2520 V
  2032. (22418)210 648 A
  2033. (flp2->lock_pid)588 1362 A
  2034. 1992(=)S
  2035. (flp->lock_pid;)588 2076 A
  2036. 2610 V
  2037. (22419)210 648 A
  2038. (flp2->lock_inode)672 1362 A
  2039. 2076(=)S
  2040. (flp->lock_inode;)672 2160 A
  2041. 2700 V
  2042. (22420)210 648 A
  2043. (flp2->lock_first)672 1362 A
  2044. 2076(=)S
  2045. (last)168 2160 A
  2046. 2370(+)S
  2047. 2454(1;)S
  2048. 2790 V
  2049. (22421)210 648 A
  2050. (flp2->lock_last)630 1362 A
  2051. 2034(=)S
  2052. (flp->lock_last;)630 2118 A
  2053. 2880 V
  2054. (22422)210 648 A
  2055. (flp->lock_last)588 1362 A
  2056. 1992(=)S
  2057. (first)210 2076 A
  2058. 2328(-)S
  2059. 2412(1;)S
  2060. 2970 V
  2061. (22423)210 648 A
  2062. (nr_locks++;)462 1362 A
  2063. 3060 V
  2064. (22424)210 648 A
  2065. 1110(})S
  2066. 3150 V
  2067. (22425)210 648 A
  2068. 1110(if)S
  2069. ((unlocking))462 1236 A
  2070. (lock_revive();)588 1740 A
  2071. 3240 V
  2072. (22426)210 648 A
  2073. 3330 V
  2074. (22427)210 648 A
  2075. 1110(if)S
  2076. ((req)168 1236 A
  2077. 1446(==)S
  2078. (F_GETLK))336 1572 A
  2079. 1950({)S
  2080. 3420 V
  2081. (22428)210 648 A
  2082. 1362(if)S
  2083. ((conflict))420 1488 A
  2084. 1950({)S
  2085. 3510 V
  2086. (22429)210 648 A
  2087. 1698(/*)S
  2088. (GETLK)210 1824 A
  2089. (and)126 2076 A
  2090. (conflict.)378 2244 A
  2091. (Report)252 2664 A
  2092. 2958(on)S
  2093. (the)126 3084 A
  2094. (conflicting)462 3252 A
  2095. (lock.)210 3756 A
  2096. 4008(*/)S
  2097. 3600 V
  2098. (22430)210 648 A
  2099. (flock.l_type)504 1698 A
  2100. 2244(=)S
  2101. (flp->lock_type;)630 2328 A
  2102. 3690 V
  2103. (22431)210 648 A
  2104. (flock.l_whence)588 1698 A
  2105. 2328(=)S
  2106. (SEEK_SET;)378 2412 A
  2107. 3780 V
  2108. (22432)210 648 A
  2109. (flock.l_start)546 1698 A
  2110. 2286(=)S
  2111. (flp->lock_first;)672 2370 A
  2112. 3870 V
  2113. (22433)210 648 A
  2114. (flock.l_len)462 1698 A
  2115. 2202(=)S
  2116. (flp->lock_last)588 2286 A
  2117. 2916(-)S
  2118. (flp->lock_first)630 3000 A
  2119. 3672(+)S
  2120. 3756(1;)S
  2121. 3960 V
  2122. (22434)210 648 A
  2123. (flock.l_pid)462 1698 A
  2124. 2202(=)S
  2125. (flp->lock_pid;)588 2286 A
  2126. 4050 V
  2127. (22435)210 648 A
  2128. 4140 V
  2129. (22436)210 648 A
  2130. 1362(})S
  2131. (else)168 1446 A
  2132. 1656({)S
  2133. 4230 V
  2134. (22437)210 648 A
  2135. 1698(/*)S
  2136. 1824(It)S
  2137. 1950(is)S
  2138. (GETLK)210 2076 A
  2139. (and)126 2328 A
  2140. (there)210 2496 A
  2141. 2748(is)S
  2142. 2874(no)S
  2143. (conflict.)378 3000 A
  2144. 3420(*/)S
  2145. 4320 V
  2146. (22438)210 648 A
  2147. (flock.l_type)504 1698 A
  2148. 2244(=)S
  2149. (F_UNLCK;)336 2328 A
  2150. 4410 V
  2151. (22439)210 648 A
  2152. 1362(})S
  2153. 4500 V
  2154. (22440)210 648 A
  2155. 4590 V
  2156. (22441)210 648 A
  2157. 1362(/*)S
  2158. (Copy)168 1488 A
  2159. (the)126 1698 A
  2160. (flock)210 1866 A
  2161. (structure)378 2118 A
  2162. (back)168 2538 A
  2163. 2748(to)S
  2164. (the)126 2874 A
  2165. (caller.)294 3042 A
  2166. 3378(*/)S
  2167. 4680 V
  2168. (22442)210 648 A
  2169. 1362(r)S
  2170. 1446(=)S
  2171. (sys_copy(FS_PROC_NR,)840 1530 A
  2172. 2412(D,)S
  2173. ((phys_bytes))504 2538 A
  2174. (&flock,)294 3084 A
  2175. 4770 V
  2176. (22443)210 648 A
  2177. (who,)168 1698 A
  2178. 1908(D,)S
  2179. ((phys_bytes))504 2034 A
  2180. (user_flock,)462 2580 A
  2181. ((phys_bytes))504 3084 A
  2182. (sizeof(flock));)630 3630 A
  2183. 4860 V
  2184. (22444)210 648 A
  2185. (return(r);)420 1362 A
  2186. 4950 V
  2187. (22445)210 648 A
  2188. 1110(})S
  2189. 5040 V
  2190. (22446)210 648 A
  2191. 5130 V
  2192. (22447)210 648 A
  2193. 1110(if)S
  2194. ((ltype)252 1236 A
  2195. 1530(==)S
  2196. (F_UNLCK))336 1656 A
  2197. (return(OK);)462 2034 A
  2198. 2706(/*)S
  2199. (unlocked)336 2832 A
  2200. 3210(a)S
  2201. (region)252 3294 A
  2202. (with)168 3588 A
  2203. 3798(no)S
  2204. (locks)210 3924 A
  2205. 4176(*/)S
  2206. 5220 V
  2207. (22448)210 648 A
  2208. 5310 V
  2209. (22449)210 648 A
  2210. 1110(/*)S
  2211. (There)210 1236 A
  2212. 1488(is)S
  2213. 1614(no)S
  2214. (conflict.)378 1740 A
  2215. 2202(If)S
  2216. (space)210 2328 A
  2217. (exists,)294 2580 A
  2218. (store)210 2916 A
  2219. (new)126 3168 A
  2220. (lock)168 3336 A
  2221. 3546(in)S
  2222. (the)126 3672 A
  2223. (table.)252 3840 A
  2224. 4134(*/)S
  2225. 5400 V
  2226. (22450)210 648 A
  2227. 1110(if)S
  2228. ((empty)252 1236 A
  2229. 1530(==)S
  2230. ((struct)294 1656 A
  2231. (file_lock)378 1992 A
  2232. 2412(*))S
  2233. 2538(0))S
  2234. (return(ENOLCK);)630 2664 A
  2235. 3378(/*)S
  2236. (table)210 3504 A
  2237. (full)168 3756 A
  2238. 3966(*/)S
  2239. 5490 V
  2240. (22451)210 648 A
  2241. (empty->lock_type)672 1110 A
  2242. 1824(=)S
  2243. (ltype;)252 1908 A
  2244. 5580 V
  2245. (22452)210 648 A
  2246. (empty->lock_pid)630 1110 A
  2247. 1782(=)S
  2248. (fp->fp_pid;)462 1866 A
  2249. 5670 V
  2250. (22453)210 648 A
  2251. (empty->lock_inode)714 1110 A
  2252. 1866(=)S
  2253. (f->filp_ino;)504 1950 A
  2254. 5760 V
  2255. (22454)210 648 A
  2256. (empty->lock_first)714 1110 A
  2257. 1866(=)S
  2258. (first;)252 1950 A
  2259. 5850 V
  2260. (22455)210 648 A
  2261. (empty->lock_last)672 1110 A
  2262. 1824(=)S
  2263. (last;)210 1908 A
  2264. 5940 V
  2265. (22456)210 648 A
  2266. (nr_locks++;)462 1110 A
  2267. 6030 V
  2268. (22457)210 648 A
  2269. (return(OK);)462 1110 A
  2270. 6120 V
  2271. (22458)210 648 A
  2272. 1026(})S
  2273. 8418 V
  2274. EP
  2275. %%Page: 306 306
  2276. BP
  2277. /slant 0 def
  2278. /height 0 def
  2279. 630 V
  2280. 12 B
  2281. (306)180 648 A
  2282. 11 R
  2283. 2151(File:)S
  2284. 2384(src/fs/lock.c)S
  2285. 10 R
  2286. 3402(MINIX)S
  2287. 3730(SOURCE)S
  2288. 4153(CODE)S
  2289. 900 V
  2290. 7 LST
  2291. (22460)210 648 A
  2292. (/*===========================================================================*)3276 1026 A
  2293. 990 V
  2294. (22461)210 648 A
  2295. 1068(*)S
  2296. (lock_revive)462 2370 A
  2297. 4260(*)S
  2298. 1080 V
  2299. (22462)210 648 A
  2300. (*===========================================================================*/)3276 1068 A
  2301. 1170 V
  2302. (22463)210 648 A
  2303. (PUBLIC)252 1026 A
  2304. (void)168 1320 A
  2305. (lock_revive())546 1530 A
  2306. 1260 V
  2307. (22464)210 648 A
  2308. 1026({)S
  2309. 1350 V
  2310. (22465)210 648 A
  2311. 1026(/*)S
  2312. 1152(Go)S
  2313. (find)168 1278 A
  2314. (all)126 1488 A
  2315. (the)126 1656 A
  2316. (processes)378 1824 A
  2317. (that)168 2244 A
  2318. (are)126 2454 A
  2319. (waiting)294 2622 A
  2320. (for)126 2958 A
  2321. (any)126 3126 A
  2322. (kind)168 3294 A
  2323. 3504(of)S
  2324. (lock)168 3630 A
  2325. (and)126 3840 A
  2326. 1440 V
  2327. (22466)210 648 A
  2328. 1068(*)S
  2329. (revive)252 1152 A
  2330. (them)168 1446 A
  2331. (all.)168 1656 A
  2332. (The)126 1908 A
  2333. (ones)168 2076 A
  2334. (that)168 2286 A
  2335. (are)126 2496 A
  2336. (still)210 2664 A
  2337. (blocked)294 2916 A
  2338. (will)168 3252 A
  2339. (block)210 3462 A
  2340. (again)210 3714 A
  2341. (when)168 3966 A
  2342. 1530 V
  2343. (22467)210 648 A
  2344. 1068(*)S
  2345. (they)168 1152 A
  2346. (run.)168 1362 A
  2347. (The)126 1614 A
  2348. (others)252 1782 A
  2349. (will)168 2076 A
  2350. (complete.)378 2286 A
  2351. (This)168 2748 A
  2352. (strategy)336 2958 A
  2353. 3336(is)S
  2354. 3462(a)S
  2355. (space-time)420 3546 A
  2356. 1620 V
  2357. (22468)210 648 A
  2358. 1068(*)S
  2359. (tradeoff.)378 1152 A
  2360. (Figuring)336 1614 A
  2361. (out)126 1992 A
  2362. (exactly)294 2160 A
  2363. (which)210 2496 A
  2364. (ones)168 2748 A
  2365. 2958(to)S
  2366. (unblock)294 3084 A
  2367. (now)126 3420 A
  2368. (would)210 3588 A
  2369. (take)168 3840 A
  2370. 1710 V
  2371. (22469)210 648 A
  2372. 1068(*)S
  2373. (extra)210 1152 A
  2374. (code,)210 1404 A
  2375. (and)126 1656 A
  2376. (the)126 1824 A
  2377. (only)168 1992 A
  2378. (thing)210 2202 A
  2379. 2454(it)S
  2380. (would)210 2580 A
  2381. (win)126 2832 A
  2382. (would)210 3000 A
  2383. 3252(be)S
  2384. (some)168 3378 A
  2385. (performance)462 3588 A
  2386. 4092(in)S
  2387. 1800 V
  2388. (22470)210 648 A
  2389. 1068(*)S
  2390. (extremely)378 1152 A
  2391. (rare)168 1572 A
  2392. (circumstances)546 1782 A
  2393. ((namely,)336 2370 A
  2394. (that)168 2748 A
  2395. (somebody)336 2958 A
  2396. (actually)336 3336 A
  2397. (used)168 3714 A
  2398. 1890 V
  2399. (22471)210 648 A
  2400. 1068(*)S
  2401. (locking).)378 1152 A
  2402. 1980 V
  2403. (22472)210 648 A
  2404. 1068(*/)S
  2405. 2070 V
  2406. (22473)210 648 A
  2407. 2160 V
  2408. (22474)210 648 A
  2409. (int)126 1110 A
  2410. (task;)210 1278 A
  2411. 2250 V
  2412. (22475)210 648 A
  2413. (struct)252 1110 A
  2414. (fproc)210 1404 A
  2415. (*fptr;)252 1656 A
  2416. 2340 V
  2417. (22476)210 648 A
  2418. 2430 V
  2419. (22477)210 648 A
  2420. (for)126 1110 A
  2421. ((fptr)210 1278 A
  2422. 1530(=)S
  2423. (&fproc[INIT_PROC_NR)798 1614 A
  2424. 2454(+)S
  2425. (1];)126 2538 A
  2426. (fptr)168 2706 A
  2427. 2916(<)S
  2428. (&fproc[NR_PROCS];)714 3000 A
  2429. (fptr++){)336 3756 A
  2430. 2520 V
  2431. (22478)210 648 A
  2432. (task)168 1362 A
  2433. 1572(=)S
  2434. (-fptr->fp_task;)630 1656 A
  2435. 2610 V
  2436. (22479)210 648 A
  2437. 1362(if)S
  2438. ((fptr->fp_suspended)798 1488 A
  2439. 2328(==)S
  2440. (SUSPENDED)378 2454 A
  2441. 2874(&&)S
  2442. (task)168 3000 A
  2443. 3210(==)S
  2444. (XLOCK))252 3336 A
  2445. 3630({)S
  2446. 2700 V
  2447. (22480)210 648 A
  2448. (revive()294 1698 A
  2449. ((int))210 2034 A
  2450. ((fptr)210 2286 A
  2451. 2538(-)S
  2452. (fproc),)294 2622 A
  2453. (0);)126 2958 A
  2454. 2790 V
  2455. (22481)210 648 A
  2456. 1362(})S
  2457. 2880 V
  2458. (22482)210 648 A
  2459. 1110(})S
  2460. 2970 V
  2461. (22483)210 648 A
  2462. 1026(})S
  2463. 3240 V
  2464. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  2465. 3330 V
  2466. (src/fs/main.c)546 2034 A
  2467. 3420 V
  2468. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  2469. 3600 V
  2470. (22500)210 648 A
  2471. 1026(/*)S
  2472. (This)168 1152 A
  2473. (file)168 1362 A
  2474. (contains)336 1572 A
  2475. (the)126 1950 A
  2476. (main)168 2118 A
  2477. (program)294 2328 A
  2478. 2664(of)S
  2479. (the)126 2790 A
  2480. (File)168 2958 A
  2481. (System.)294 3168 A
  2482. 3546(It)S
  2483. (consists)336 3672 A
  2484. 4050(of)S
  2485. 3690 V
  2486. (22501)210 648 A
  2487. 1068(*)S
  2488. 1152(a)S
  2489. (loop)168 1236 A
  2490. (that)168 1446 A
  2491. (gets)168 1656 A
  2492. (messages)336 1866 A
  2493. (requesting)420 2244 A
  2494. (work,)210 2706 A
  2495. (carries)294 2958 A
  2496. (out)126 3294 A
  2497. (the)126 3462 A
  2498. (work,)210 3630 A
  2499. (and)126 3882 A
  2500. (sends)210 4050 A
  2501. 3780 V
  2502. (22502)210 648 A
  2503. 1068(*)S
  2504. (replies.)336 1152 A
  2505. 3870 V
  2506. (22503)210 648 A
  2507. 1068(*)S
  2508. 3960 V
  2509. (22504)210 648 A
  2510. 1068(*)S
  2511. (The)126 1152 A
  2512. (entry)210 1320 A
  2513. (points)252 1572 A
  2514. (into)168 1866 A
  2515. (this)168 2076 A
  2516. (file)168 2286 A
  2517. (are)126 2496 A
  2518. 4050 V
  2519. (22505)210 648 A
  2520. 1068(*)S
  2521. (main:)210 1236 A
  2522. (main)168 1698 A
  2523. (program)294 1908 A
  2524. 2244(of)S
  2525. (the)126 2370 A
  2526. (File)168 2538 A
  2527. (System)252 2748 A
  2528. 4140 V
  2529. (22506)210 648 A
  2530. 1068(*)S
  2531. (reply:)252 1236 A
  2532. (send)168 1698 A
  2533. 1908(a)S
  2534. (reply)210 1992 A
  2535. 2244(to)S
  2536. 2370(a)S
  2537. (process)294 2454 A
  2538. (after)210 2790 A
  2539. (the)126 3042 A
  2540. (requested)378 3210 A
  2541. (work)168 3630 A
  2542. 3840(is)S
  2543. (done)168 3966 A
  2544. 4230 V
  2545. (22507)210 648 A
  2546. 1068(*/)S
  2547. 4320 V
  2548. (22508)210 648 A
  2549. 4410 V
  2550. (22509)210 648 A
  2551. (struct)252 1026 A
  2552. (super_block;)504 1320 A
  2553. 2370(/*)S
  2554. (proto.h)294 2496 A
  2555. (needs)210 2832 A
  2556. 3084(to)S
  2557. (know)168 3210 A
  2558. (this)168 3420 A
  2559. 3630(*/)S
  2560. 4500 V
  2561. (22510)210 648 A
  2562. 4590 V
  2563. (22511)210 648 A
  2564. (#include)336 1026 A
  2565. ("fs.h")252 1404 A
  2566. 4680 V
  2567. (22512)210 648 A
  2568. (#include)336 1026 A
  2569. (<fcntl.h>)378 1404 A
  2570. 4770 V
  2571. (22513)210 648 A
  2572. (#include)336 1026 A
  2573. (<string.h>)420 1404 A
  2574. 4860 V
  2575. (22514)210 648 A
  2576. (#include)336 1026 A
  2577. (<sys/ioctl.h>)546 1404 A
  2578. 4950 V
  2579. (22515)210 648 A
  2580. (#include)336 1026 A
  2581. (<minix/callnr.h>)672 1404 A
  2582. 5040 V
  2583. (22516)210 648 A
  2584. (#include)336 1026 A
  2585. (<minix/com.h>)546 1404 A
  2586. 5130 V
  2587. (22517)210 648 A
  2588. (#include)336 1026 A
  2589. (<minix/boot.h>)588 1404 A
  2590. 5220 V
  2591. (22518)210 648 A
  2592. (#include)336 1026 A
  2593. ("buf.h")294 1404 A
  2594. 5310 V
  2595. (22519)210 648 A
  2596. (#include)336 1026 A
  2597. ("dev.h")294 1404 A
  2598. 5400 V
  2599. (22520)210 648 A
  2600. (#include)336 1026 A
  2601. ("file.h")336 1404 A
  2602. 5490 V
  2603. (22521)210 648 A
  2604. (#include)336 1026 A
  2605. ("fproc.h")378 1404 A
  2606. 5580 V
  2607. (22522)210 648 A
  2608. (#include)336 1026 A
  2609. ("inode.h")378 1404 A
  2610. 5670 V
  2611. (22523)210 648 A
  2612. (#include)336 1026 A
  2613. ("param.h")378 1404 A
  2614. 5760 V
  2615. (22524)210 648 A
  2616. (#include)336 1026 A
  2617. ("super.h")378 1404 A
  2618. 5850 V
  2619. (22525)210 648 A
  2620. 5940 V
  2621. (22526)210 648 A
  2622. (FORWARD)294 1026 A
  2623. (_PROTOTYPE()462 1362 A
  2624. (void)168 1866 A
  2625. (buf_pool,)378 2076 A
  2626. ((void))252 2496 A
  2627. 4050();)S
  2628. 6030 V
  2629. (22527)210 648 A
  2630. (FORWARD)294 1026 A
  2631. (_PROTOTYPE()462 1362 A
  2632. (void)168 1866 A
  2633. (fs_init,)336 2076 A
  2634. ((void))252 2454 A
  2635. 4050();)S
  2636. 6120 V
  2637. (22528)210 648 A
  2638. (FORWARD)294 1026 A
  2639. (_PROTOTYPE()462 1362 A
  2640. (void)168 1866 A
  2641. (get_boot_parameters,)840 2076 A
  2642. ((void))252 2958 A
  2643. 4050();)S
  2644. 6210 V
  2645. (22529)210 648 A
  2646. (FORWARD)294 1026 A
  2647. (_PROTOTYPE()462 1362 A
  2648. (void)168 1866 A
  2649. (get_work,)378 2076 A
  2650. ((void))252 2496 A
  2651. 4050();)S
  2652. 8418 V
  2653. EP
  2654. %%Page: 307 307
  2655. BP
  2656. /slant 0 def
  2657. /height 0 def
  2658. 630 V
  2659. 10 R
  2660. 648(MINIX)S
  2661. 976(SOURCE)S
  2662. 1399(CODE)S
  2663. 11 R
  2664. 2135(File:)S
  2665. 2368(src/fs/main.c)S
  2666. 12 B
  2667. (307)180 4248 A
  2668. 900 V
  2669. 7 LST
  2670. (22530)210 648 A
  2671. (FORWARD)294 1026 A
  2672. (_PROTOTYPE()462 1362 A
  2673. (void)168 1866 A
  2674. (load_ram,)378 2076 A
  2675. ((void))252 2496 A
  2676. 4050();)S
  2677. 990 V
  2678. (22531)210 648 A
  2679. (FORWARD)294 1026 A
  2680. (_PROTOTYPE()462 1362 A
  2681. (void)168 1866 A
  2682. (load_super,)462 2076 A
  2683. ((Dev_t)252 2580 A
  2684. (super_dev))420 2874 A
  2685. 4050();)S
  2686. 1080 V
  2687. (22532)210 648 A
  2688. 1170 V
  2689. (22533)210 648 A
  2690. 1260 V
  2691. (22534)210 648 A
  2692. (/*===========================================================================*)3276 1026 A
  2693. 1350 V
  2694. (22535)210 648 A
  2695. 1068(*)S
  2696. (main)168 2370 A
  2697. 4260(*)S
  2698. 1440 V
  2699. (22536)210 648 A
  2700. (*===========================================================================*/)3276 1068 A
  2701. 1530 V
  2702. (22537)210 648 A
  2703. (PUBLIC)252 1026 A
  2704. (void)168 1320 A
  2705. (main())252 1530 A
  2706. 1620 V
  2707. (22538)210 648 A
  2708. 1026({)S
  2709. 1710 V
  2710. (22539)210 648 A
  2711. 1026(/*)S
  2712. (This)168 1152 A
  2713. 1362(is)S
  2714. (the)126 1488 A
  2715. (main)168 1656 A
  2716. (program)294 1866 A
  2717. 2202(of)S
  2718. (the)126 2328 A
  2719. (file)168 2496 A
  2720. (system.)294 2706 A
  2721. (The)126 3084 A
  2722. (main)168 3252 A
  2723. (loop)168 3462 A
  2724. (consists)336 3672 A
  2725. 4050(of)S
  2726. 1800 V
  2727. (22540)210 648 A
  2728. 1068(*)S
  2729. (three)210 1152 A
  2730. (major)210 1404 A
  2731. (activities:)462 1656 A
  2732. (getting)294 2160 A
  2733. (new)126 2496 A
  2734. (work,)210 2664 A
  2735. (processing)420 2916 A
  2736. (the)126 3378 A
  2737. (work,)210 3546 A
  2738. (and)126 3798 A
  2739. (sending)294 3966 A
  2740. 1890 V
  2741. (22541)210 648 A
  2742. 1068(*)S
  2743. (the)126 1152 A
  2744. (reply.)252 1320 A
  2745. (This)168 1656 A
  2746. (loop)168 1866 A
  2747. (never)210 2076 A
  2748. (terminates)420 2328 A
  2749. 2790(as)S
  2750. (long)168 2916 A
  2751. 3126(as)S
  2752. (the)126 3252 A
  2753. (file)168 3420 A
  2754. (system)252 3630 A
  2755. (runs.)210 3924 A
  2756. 1980 V
  2757. (22542)210 648 A
  2758. 1068(*/)S
  2759. 2070 V
  2760. (22543)210 648 A
  2761. (int)126 1110 A
  2762. (error;)252 1278 A
  2763. 2160 V
  2764. (22544)210 648 A
  2765. 2250 V
  2766. (22545)210 648 A
  2767. (fs_init();)420 1110 A
  2768. 2340 V
  2769. (22546)210 648 A
  2770. 2430 V
  2771. (22547)210 648 A
  2772. 1110(/*)S
  2773. (This)168 1236 A
  2774. 1446(is)S
  2775. (the)126 1572 A
  2776. (main)168 1740 A
  2777. (loop)168 1950 A
  2778. (that)168 2160 A
  2779. (gets)168 2370 A
  2780. (work,)210 2580 A
  2781. (processes)378 2832 A
  2782. (it,)126 3252 A
  2783. (and)126 3420 A
  2784. (sends)210 3588 A
  2785. (replies.)336 3840 A
  2786. 4218(*/)S
  2787. 2520 V
  2788. (22548)210 648 A
  2789. (while)210 1110 A
  2790. ((TRUE))252 1362 A
  2791. 1656({)S
  2792. 2610 V
  2793. (22549)210 648 A
  2794. (get_work();)462 1362 A
  2795. 2370(/*)S
  2796. (sets)168 2496 A
  2797. (who)126 2706 A
  2798. (and)126 2874 A
  2799. (fs_call)294 3042 A
  2800. 3378(*/)S
  2801. 2700 V
  2802. (22550)210 648 A
  2803. 2790 V
  2804. (22551)210 648 A
  2805. 1362(fp)S
  2806. 1488(=)S
  2807. (&fproc[who];)504 1572 A
  2808. 2370(/*)S
  2809. (pointer)294 2496 A
  2810. 2832(to)S
  2811. (proc)168 2958 A
  2812. (table)210 3168 A
  2813. (struct)252 3420 A
  2814. 3714(*/)S
  2815. 2880 V
  2816. (22552)210 648 A
  2817. (super_user)420 1362 A
  2818. 1824(=)S
  2819. ((fp->fp_effuid)588 1908 A
  2820. 2538(==)S
  2821. (SU_UID)252 2664 A
  2822. 2958(?)S
  2823. (TRUE)168 3042 A
  2824. 3252(:)S
  2825. (FALSE);)294 3336 A
  2826. 3756(/*)S
  2827. (su?)126 3882 A
  2828. 4050(*/)S
  2829. 2970 V
  2830. (22553)210 648 A
  2831. (dont_reply)420 1362 A
  2832. 1824(=)S
  2833. (FALSE;)252 1908 A
  2834. 2370(/*)S
  2835. 2496(in)S
  2836. (other)210 2622 A
  2837. (words,)252 2874 A
  2838. 3168(do)S
  2839. (reply)210 3294 A
  2840. 3546(is)S
  2841. (default)294 3672 A
  2842. 4008(*/)S
  2843. 3060 V
  2844. (22554)210 648 A
  2845. 3150 V
  2846. (22555)210 648 A
  2847. 1362(/*)S
  2848. (Call)168 1488 A
  2849. (the)126 1698 A
  2850. (internal)336 1866 A
  2851. (function)336 2244 A
  2852. (that)168 2622 A
  2853. (does)168 2832 A
  2854. (the)126 3042 A
  2855. (work.)210 3210 A
  2856. 3462(*/)S
  2857. 3240 V
  2858. (22556)210 648 A
  2859. 1362(if)S
  2860. ((fs_call)336 1488 A
  2861. 1866(<)S
  2862. 1950(0)S
  2863. 2034(||)S
  2864. (fs_call)294 2160 A
  2865. 2496(>=)S
  2866. (NCALLS))294 2622 A
  2867. 3330 V
  2868. (22557)210 648 A
  2869. (error)210 1698 A
  2870. 1950(=)S
  2871. (EBADCALL;)378 2034 A
  2872. 3420 V
  2873. (22558)210 648 A
  2874. (else)168 1362 A
  2875. 3510 V
  2876. (22559)210 648 A
  2877. (error)210 1698 A
  2878. 1950(=)S
  2879. ((*call_vector[fs_call])();)1092 2034 A
  2880. 3600 V
  2881. (22560)210 648 A
  2882. 3690 V
  2883. (22561)210 648 A
  2884. 1362(/*)S
  2885. (Copy)168 1488 A
  2886. (the)126 1698 A
  2887. (results)294 1866 A
  2888. (back)168 2202 A
  2889. 2412(to)S
  2890. (the)126 2538 A
  2891. (user)168 2706 A
  2892. (and)126 2916 A
  2893. (send)168 3084 A
  2894. (reply.)252 3294 A
  2895. 3588(*/)S
  2896. 3780 V
  2897. (22562)210 648 A
  2898. 1362(if)S
  2899. ((dont_reply))504 1488 A
  2900. (continue;)378 2034 A
  2901. 3870 V
  2902. (22563)210 648 A
  2903. (reply(who,)420 1362 A
  2904. (error);)294 1824 A
  2905. 3960 V
  2906. (22564)210 648 A
  2907. 1362(if)S
  2908. ((rdahed_inode)546 1488 A
  2909. 2076(!=)S
  2910. (NIL_INODE))420 2202 A
  2911. (read_ahead();)546 2664 A
  2912. 3252(/*)S
  2913. 3378(do)S
  2914. (block)210 3504 A
  2915. (read)168 3756 A
  2916. (ahead)210 3966 A
  2917. 4218(*/)S
  2918. 4050 V
  2919. (22565)210 648 A
  2920. 1110(})S
  2921. 4140 V
  2922. (22566)210 648 A
  2923. 1026(})S
  2924. 4410 V
  2925. (22569)210 648 A
  2926. (/*===========================================================================*)3276 1026 A
  2927. 4500 V
  2928. (22570)210 648 A
  2929. 1068(*)S
  2930. (get_work)336 2370 A
  2931. 4260(*)S
  2932. 4590 V
  2933. (22571)210 648 A
  2934. (*===========================================================================*/)3276 1068 A
  2935. 4680 V
  2936. (22572)210 648 A
  2937. (PRIVATE)294 1026 A
  2938. (void)168 1362 A
  2939. (get_work())420 1572 A
  2940. 4770 V
  2941. (22573)210 648 A
  2942. 1026({)S
  2943. 4860 V
  2944. (22574)210 648 A
  2945. 1110(/*)S
  2946. (Normally)336 1236 A
  2947. (wait)168 1614 A
  2948. (for)126 1824 A
  2949. (new)126 1992 A
  2950. (input.)252 2160 A
  2951. (However,)336 2496 A
  2952. 2874(if)S
  2953. ('reviving')420 3000 A
  2954. 3462(is)S
  2955. 4950 V
  2956. (22575)210 648 A
  2957. 1152(*)S
  2958. (nonzero,)336 1236 A
  2959. 1614(a)S
  2960. (suspended)378 1698 A
  2961. (process)294 2118 A
  2962. (must)168 2454 A
  2963. 2664(be)S
  2964. (awakened.)378 2790 A
  2965. 5040 V
  2966. (22576)210 648 A
  2967. 1152(*/)S
  2968. 5130 V
  2969. (22577)210 648 A
  2970. 5220 V
  2971. (22578)210 648 A
  2972. (register)336 1110 A
  2973. (struct)252 1488 A
  2974. (fproc)210 1782 A
  2975. (*rp;)168 2034 A
  2976. 5310 V
  2977. (22579)210 648 A
  2978. 5400 V
  2979. (22580)210 648 A
  2980. 1110(if)S
  2981. ((reviving)378 1236 A
  2982. 1656(!=)S
  2983. 1782(0))S
  2984. 1908({)S
  2985. 5490 V
  2986. (22581)210 648 A
  2987. 1362(/*)S
  2988. (Revive)252 1488 A
  2989. 1782(a)S
  2990. (suspended)378 1866 A
  2991. (process.)336 2286 A
  2992. 2664(*/)S
  2993. 5580 V
  2994. (22582)210 648 A
  2995. (for)126 1362 A
  2996. ((rp)126 1530 A
  2997. 1698(=)S
  2998. (&fproc[0];)420 1782 A
  2999. 2244(rp)S
  3000. 2370(<)S
  3001. (&fproc[NR_PROCS];)714 2454 A
  3002. (rp++))210 3210 A
  3003. 5670 V
  3004. (22583)210 648 A
  3005. 1698(if)S
  3006. ((rp->fp_revived)630 1824 A
  3007. 2496(==)S
  3008. (REVIVING))378 2622 A
  3009. 3042({)S
  3010. 5760 V
  3011. (22584)210 648 A
  3012. (who)126 2034 A
  3013. 2202(=)S
  3014. ((int)(rp)336 2286 A
  3015. 2664(-)S
  3016. (fproc);)294 2748 A
  3017. 5850 V
  3018. (22585)210 648 A
  3019. (fs_call)294 2034 A
  3020. 2370(=)S
  3021. (rp->fp_fd)378 2454 A
  3022. 2874(&)S
  3023. (BYTE;)210 2958 A
  3024. 5940 V
  3025. (22586)210 648 A
  3026. 2034(fd)S
  3027. 2160(=)S
  3028. ((rp->fp_fd)420 2244 A
  3029. (>>8))168 2706 A
  3030. 2916(&)S
  3031. (BYTE;)210 3000 A
  3032. 6030 V
  3033. (22587)210 648 A
  3034. (buffer)252 2034 A
  3035. 2328(=)S
  3036. (rp->fp_buffer;)588 2412 A
  3037. 6120 V
  3038. (22588)210 648 A
  3039. (nbytes)252 2034 A
  3040. 2328(=)S
  3041. (rp->fp_nbytes;)588 2412 A
  3042. 6210 V
  3043. (22589)210 648 A
  3044. (rp->fp_suspended)672 2034 A
  3045. 2748(=)S
  3046. (NOT_SUSPENDED;)588 2832 A
  3047. (/*no)168 3462 A
  3048. (longer)252 3672 A
  3049. (hanging*/)378 3966 A
  3050. 8418 V
  3051. EP
  3052. %%Page: 308 308
  3053. BP
  3054. /slant 0 def
  3055. /height 0 def
  3056. 630 V
  3057. 12 B
  3058. (308)180 648 A
  3059. 11 R
  3060. 2135(File:)S
  3061. 2368(src/fs/main.c)S
  3062. 10 R
  3063. 3402(MINIX)S
  3064. 3730(SOURCE)S
  3065. 4153(CODE)S
  3066. 900 V
  3067. 7 LST
  3068. (22590)210 648 A
  3069. (rp->fp_revived)588 2034 A
  3070. 2664(=)S
  3071. (NOT_REVIVING;)546 2748 A
  3072. 990 V
  3073. (22591)210 648 A
  3074. (reviving--;)462 2034 A
  3075. 1080 V
  3076. (22592)210 648 A
  3077. (return;)294 2034 A
  3078. 1170 V
  3079. (22593)210 648 A
  3080. 1698(})S
  3081. 1260 V
  3082. (22594)210 648 A
  3083. (panic("get_work)630 1362 A
  3084. (couldn't)336 2034 A
  3085. (revive)252 2412 A
  3086. (anyone",)336 2706 A
  3087. (NO_NUM);)336 3084 A
  3088. 1350 V
  3089. (22595)210 648 A
  3090. 1110(})S
  3091. 1440 V
  3092. (22596)210 648 A
  3093. 1530 V
  3094. (22597)210 648 A
  3095. 1110(/*)S
  3096. (Normal)252 1236 A
  3097. (case.)210 1530 A
  3098. 1824(No)S
  3099. (one)126 1950 A
  3100. 2118(to)S
  3101. (revive.)294 2244 A
  3102. 2580(*/)S
  3103. 1620 V
  3104. (22598)210 648 A
  3105. 1110(if)S
  3106. ((receive(ANY,)546 1236 A
  3107. (&m))126 1824 A
  3108. 1992(!=)S
  3109. (OK))126 2118 A
  3110. (panic("fs)378 2286 A
  3111. (receive)294 2706 A
  3112. (error",)294 3042 A
  3113. (NO_NUM);)336 3378 A
  3114. 1710 V
  3115. (22599)210 648 A
  3116. 1800 V
  3117. (22600)210 648 A
  3118. (who)126 1110 A
  3119. 1278(=)S
  3120. (m.m_source;)462 1362 A
  3121. 1890 V
  3122. (22601)210 648 A
  3123. (fs_call)294 1110 A
  3124. 1446(=)S
  3125. (m.m_type;)378 1530 A
  3126. 1980 V
  3127. (22602)210 648 A
  3128. 1026(})S
  3129. 2250 V
  3130. (22605)210 648 A
  3131. (/*===========================================================================*)3276 1026 A
  3132. 2340 V
  3133. (22606)210 648 A
  3134. 1068(*)S
  3135. (reply)210 2370 A
  3136. 4260(*)S
  3137. 2430 V
  3138. (22607)210 648 A
  3139. (*===========================================================================*/)3276 1068 A
  3140. 2520 V
  3141. (22608)210 648 A
  3142. (PUBLIC)252 1026 A
  3143. (void)168 1320 A
  3144. (reply(whom,)462 1530 A
  3145. (result))294 2034 A
  3146. 2610 V
  3147. (22609)210 648 A
  3148. (int)126 1026 A
  3149. (whom;)210 1194 A
  3150. 2370(/*)S
  3151. (process)294 2496 A
  3152. 2832(to)S
  3153. (reply)210 2958 A
  3154. 3210(to)S
  3155. 3336(*/)S
  3156. 2700 V
  3157. (22610)210 648 A
  3158. (int)126 1026 A
  3159. (result;)294 1194 A
  3160. 2370(/*)S
  3161. (result)252 2496 A
  3162. 2790(of)S
  3163. (the)126 2916 A
  3164. (call)168 3084 A
  3165. ((usually)336 3294 A
  3166. 3672(OK)S
  3167. 3798(or)S
  3168. (error)210 3924 A
  3169. 4176(#))S
  3170. 4302(*/)S
  3171. 2790 V
  3172. (22611)210 648 A
  3173. 1026({)S
  3174. 2880 V
  3175. (22612)210 648 A
  3176. 1026(/*)S
  3177. (Send)168 1152 A
  3178. 1362(a)S
  3179. (reply)210 1446 A
  3180. 1698(to)S
  3181. 1824(a)S
  3182. (user)168 1908 A
  3183. (process.)336 2118 A
  3184. 2496(It)S
  3185. (may)126 2622 A
  3186. (fail)168 2790 A
  3187. ((if)126 3000 A
  3188. (the)126 3168 A
  3189. (process)294 3336 A
  3190. (has)126 3672 A
  3191. (just)168 3840 A
  3192. 2970 V
  3193. (22613)210 648 A
  3194. 1068(*)S
  3195. (been)168 1152 A
  3196. (killed)252 1362 A
  3197. 1656(by)S
  3198. 1782(a)S
  3199. (signal),)336 1866 A
  3200. 2244(so)S
  3201. (don't)210 2370 A
  3202. (check)210 2622 A
  3203. (the)126 2874 A
  3204. (return)252 3042 A
  3205. (code.)210 3336 A
  3206. 3630(If)S
  3207. (the)126 3756 A
  3208. (send)168 3924 A
  3209. 3060 V
  3210. (22614)210 648 A
  3211. 1068(*)S
  3212. (fails,)252 1152 A
  3213. (just)168 1446 A
  3214. (ignore)252 1656 A
  3215. (it.)126 1950 A
  3216. 3150 V
  3217. (22615)210 648 A
  3218. 1068(*/)S
  3219. 3240 V
  3220. (22616)210 648 A
  3221. 3330 V
  3222. (22617)210 648 A
  3223. (reply_type)420 1110 A
  3224. 1572(=)S
  3225. (result;)294 1656 A
  3226. 3420 V
  3227. (22618)210 648 A
  3228. (send(whom,)420 1110 A
  3229. (&m1);)210 1572 A
  3230. 3510 V
  3231. (22619)210 648 A
  3232. 1026(})S
  3233. 3780 V
  3234. (22622)210 648 A
  3235. (/*===========================================================================*)3276 1026 A
  3236. 3870 V
  3237. (22623)210 648 A
  3238. 1068(*)S
  3239. (fs_init)294 2370 A
  3240. 4260(*)S
  3241. 3960 V
  3242. (22624)210 648 A
  3243. (*===========================================================================*/)3276 1068 A
  3244. 4050 V
  3245. (22625)210 648 A
  3246. (PRIVATE)294 1026 A
  3247. (void)168 1362 A
  3248. (fs_init())378 1572 A
  3249. 4140 V
  3250. (22626)210 648 A
  3251. 1026({)S
  3252. 4230 V
  3253. (22627)210 648 A
  3254. 1026(/*)S
  3255. (Initialize)420 1152 A
  3256. (global)252 1614 A
  3257. (variables,)420 1908 A
  3258. (tables,)294 2370 A
  3259. (etc.)168 2706 A
  3260. 2916(*/)S
  3261. 4320 V
  3262. (22628)210 648 A
  3263. 4410 V
  3264. (22629)210 648 A
  3265. (register)336 1110 A
  3266. (struct)252 1488 A
  3267. (inode)210 1782 A
  3268. (*rip;)210 2034 A
  3269. 4500 V
  3270. (22630)210 648 A
  3271. (int)126 1110 A
  3272. 1278(i;)S
  3273. 4590 V
  3274. (22631)210 648 A
  3275. (message)294 1110 A
  3276. (mess;)210 1446 A
  3277. 4680 V
  3278. (22632)210 648 A
  3279. 4770 V
  3280. (22633)210 648 A
  3281. 1110(/*)S
  3282. (The)126 1236 A
  3283. (following)378 1404 A
  3284. (initializations)630 1824 A
  3285. (are)126 2496 A
  3286. (needed)252 2664 A
  3287. 2958(to)S
  3288. (let)126 3084 A
  3289. (dev_opcl)336 3252 A
  3290. (succeed)294 3630 A
  3291. (.*/)126 3966 A
  3292. 4860 V
  3293. (22634)210 648 A
  3294. 1110(fp)S
  3295. 1236(=)S
  3296. ((struct)294 1320 A
  3297. (fproc)210 1656 A
  3298. 1908(*))S
  3299. (NULL;)210 2034 A
  3300. 4950 V
  3301. (22635)210 648 A
  3302. (who)126 1110 A
  3303. 1278(=)S
  3304. (FS_PROC_NR;)462 1362 A
  3305. 5040 V
  3306. (22636)210 648 A
  3307. 5130 V
  3308. (22637)210 648 A
  3309. (buf_pool();)462 1110 A
  3310. 2370(/*)S
  3311. (initialize)420 2496 A
  3312. (buffer)252 2958 A
  3313. (pool)168 3252 A
  3314. 3462(*/)S
  3315. 5220 V
  3316. (22638)210 648 A
  3317. (get_boot_parameters();)924 1110 A
  3318. 2370(/*)S
  3319. (get)126 2496 A
  3320. (the)126 2664 A
  3321. (parameters)420 2832 A
  3322. (from)168 3294 A
  3323. (the)126 3504 A
  3324. (menu)168 3672 A
  3325. 3882(*/)S
  3326. 5310 V
  3327. (22639)210 648 A
  3328. (load_ram();)462 1110 A
  3329. 2370(/*)S
  3330. (init)168 2496 A
  3331. (RAM)126 2706 A
  3332. (disk,)210 2874 A
  3333. (load)168 3126 A
  3334. 3336(if)S
  3335. 3462(it)S
  3336. 3588(is)S
  3337. (root)168 3714 A
  3338. 3924(*/)S
  3339. 5400 V
  3340. (22640)210 648 A
  3341. (load_super(ROOT_DEV);)882 1110 A
  3342. 2370(/*)S
  3343. (load)168 2496 A
  3344. (super)210 2706 A
  3345. (block)210 2958 A
  3346. (for)126 3210 A
  3347. (root)168 3378 A
  3348. (device)252 3588 A
  3349. 3882(*/)S
  3350. 5490 V
  3351. (22641)210 648 A
  3352. 5580 V
  3353. (22642)210 648 A
  3354. 1110(/*)S
  3355. (Initialize)420 1236 A
  3356. (the)126 1698 A
  3357. ('fproc')294 1866 A
  3358. (fields)252 2202 A
  3359. (for)126 2496 A
  3360. (process)294 2664 A
  3361. 3000(0)S
  3362. 3084(..)S
  3363. (INIT.)210 3210 A
  3364. 3462(*/)S
  3365. 5670 V
  3366. (22643)210 648 A
  3367. (for)126 1110 A
  3368. 1278((i)S
  3369. 1404(=)S
  3370. 1488(0;)S
  3371. 1614(i)S
  3372. 1698(<=)S
  3373. (LOW_USER;)378 1824 A
  3374. (i+=)126 2244 A
  3375. 2412(1))S
  3376. 2538({)S
  3377. 5760 V
  3378. (22644)210 648 A
  3379. 1362(if)S
  3380. 1488((i)S
  3381. 1614(==)S
  3382. (FS_PROC_NR))462 1740 A
  3383. (continue;)378 2244 A
  3384. 2706(/*)S
  3385. 2832(do)S
  3386. (not)126 2958 A
  3387. (initialize)420 3126 A
  3388. 3588(FS)S
  3389. 3714(*/)S
  3390. 5850 V
  3391. (22645)210 648 A
  3392. 1362(fp)S
  3393. 1488(=)S
  3394. (&fproc[i];)420 1572 A
  3395. 5940 V
  3396. (22646)210 648 A
  3397. (rip)126 1362 A
  3398. 1530(=)S
  3399. (get_inode(ROOT_DEV,)798 1614 A
  3400. (ROOT_INODE);)504 2454 A
  3401. 6030 V
  3402. (22647)210 648 A
  3403. (fp->fp_rootdir)588 1362 A
  3404. 1992(=)S
  3405. (rip;)168 2076 A
  3406. 6120 V
  3407. (22648)210 648 A
  3408. (dup_inode(rip);)630 1362 A
  3409. 6210 V
  3410. (22649)210 648 A
  3411. (fp->fp_workdir)588 1362 A
  3412. 1992(=)S
  3413. (rip;)168 2076 A
  3414. 8418 V
  3415. EP
  3416. %%Page: 309 309
  3417. BP
  3418. /slant 0 def
  3419. /height 0 def
  3420. 630 V
  3421. 10 R
  3422. 648(MINIX)S
  3423. 976(SOURCE)S
  3424. 1399(CODE)S
  3425. 11 R
  3426. 2135(File:)S
  3427. 2368(src/fs/main.c)S
  3428. 12 B
  3429. (309)180 4248 A
  3430. 900 V
  3431. 7 LST
  3432. (22650)210 648 A
  3433. (fp->fp_realuid)588 1362 A
  3434. 1992(=)S
  3435. ((uid_t))294 2076 A
  3436. (SYS_UID;)336 2412 A
  3437. 990 V
  3438. (22651)210 648 A
  3439. (fp->fp_effuid)546 1362 A
  3440. 1950(=)S
  3441. ((uid_t))294 2034 A
  3442. (SYS_UID;)336 2370 A
  3443. 1080 V
  3444. (22652)210 648 A
  3445. (fp->fp_realgid)588 1362 A
  3446. 1992(=)S
  3447. ((gid_t))294 2076 A
  3448. (SYS_GID;)336 2412 A
  3449. 1170 V
  3450. (22653)210 648 A
  3451. (fp->fp_effgid)546 1362 A
  3452. 1950(=)S
  3453. ((gid_t))294 2034 A
  3454. (SYS_GID;)336 2370 A
  3455. 1260 V
  3456. (22654)210 648 A
  3457. (fp->fp_umask)504 1362 A
  3458. 1908(=)S
  3459. (3040;)126 1992 A
  3460. 1350 V
  3461. (22655)210 648 A
  3462. 1110(})S
  3463. 1440 V
  3464. (22656)210 648 A
  3465. 1530 V
  3466. (22657)210 648 A
  3467. 1110(/*)S
  3468. (Certain)294 1236 A
  3469. (relations)378 1572 A
  3470. (must)168 1992 A
  3471. (hold)168 2202 A
  3472. (for)126 2412 A
  3473. (the)126 2580 A
  3474. (file)168 2748 A
  3475. (system)252 2958 A
  3476. 3252(to)S
  3477. (work)168 3378 A
  3478. 3588(at)S
  3479. (all.)168 3714 A
  3480. 3924(*/)S
  3481. 1620 V
  3482. (22658)210 648 A
  3483. 1110(if)S
  3484. ((SUPER_SIZE)462 1236 A
  3485. 1740(>)S
  3486. (BLOCK_SIZE))462 1824 A
  3487. (panic("SUPER_SIZE)714 2328 A
  3488. 3084(>)S
  3489. (BLOCK_SIZE",)504 3168 A
  3490. (NO_NUM);)336 3714 A
  3491. 1710 V
  3492. (22659)210 648 A
  3493. 1110(if)S
  3494. ((BLOCK_SIZE)462 1236 A
  3495. 1740(%)S
  3496. (V2_INODE_SIZE)546 1824 A
  3497. 2412(!=)S
  3498. 2538(0))S
  3499. 2706(/*)S
  3500. (this)168 2832 A
  3501. (checks)252 3042 A
  3502. (V1_INODE_SIZE)546 3336 A
  3503. (too)126 3924 A
  3504. 4092(*/)S
  3505. 1800 V
  3506. (22660)210 648 A
  3507. (panic("BLOCK_SIZE)714 1362 A
  3508. 2118(%)S
  3509. (V2_INODE_SIZE)546 2202 A
  3510. 2790(!=)S
  3511. (0",)126 2916 A
  3512. (NO_NUM);)336 3084 A
  3513. 1890 V
  3514. (22661)210 648 A
  3515. 1110(if)S
  3516. ((OPEN_MAX)378 1236 A
  3517. 1656(>)S
  3518. (127))168 1740 A
  3519. (panic("OPEN_MAX)630 1950 A
  3520. 2622(>)S
  3521. (127",)210 2706 A
  3522. (NO_NUM);)336 2958 A
  3523. 1980 V
  3524. (22662)210 648 A
  3525. 1110(if)S
  3526. ((NR_BUFS)336 1236 A
  3527. 1614(<)S
  3528. 1698(6))S
  3529. (panic("NR_BUFS)588 1824 A
  3530. 2454(<)S
  3531. (6",)126 2538 A
  3532. (NO_NUM);)336 2706 A
  3533. 2070 V
  3534. (22663)210 648 A
  3535. 1110(if)S
  3536. ((V1_INODE_SIZE)588 1236 A
  3537. 1866(!=)S
  3538. (32))126 1992 A
  3539. (panic("V1)378 2160 A
  3540. (inode)210 2580 A
  3541. (size)168 2832 A
  3542. 3042(!=)S
  3543. (32",)168 3168 A
  3544. (NO_NUM);)336 3378 A
  3545. 2160 V
  3546. (22664)210 648 A
  3547. 1110(if)S
  3548. ((V2_INODE_SIZE)588 1236 A
  3549. 1866(!=)S
  3550. (64))126 1992 A
  3551. (panic("V2)378 2160 A
  3552. (inode)210 2580 A
  3553. (size)168 2832 A
  3554. 3042(!=)S
  3555. (64",)168 3168 A
  3556. (NO_NUM);)336 3378 A
  3557. 2250 V
  3558. (22665)210 648 A
  3559. 1110(if)S
  3560. ((OPEN_MAX)378 1236 A
  3561. 1656(>)S
  3562. 1740(8)S
  3563. 1824(*)S
  3564. (sizeof(long)))546 1908 A
  3565. (panic("Too)420 2496 A
  3566. (few)126 2958 A
  3567. (bits)168 3126 A
  3568. 3336(in)S
  3569. (fp_cloexec",)504 3462 A
  3570. (NO_NUM);)336 4008 A
  3571. 2340 V
  3572. (22666)210 648 A
  3573. 2430 V
  3574. (22667)210 648 A
  3575. 1110(/*)S
  3576. (Tell)168 1236 A
  3577. (the)126 1446 A
  3578. (memory)252 1614 A
  3579. (task)168 1908 A
  3580. (where)210 2118 A
  3581. 2370(my)S
  3582. (process)294 2496 A
  3583. (table)210 2832 A
  3584. 3084(is)S
  3585. (for)126 3210 A
  3586. (the)126 3378 A
  3587. (sake)168 3546 A
  3588. 3756(of)S
  3589. (ps(1).)252 3882 A
  3590. 4176(*/)S
  3591. 2520 V
  3592. (22668)210 648 A
  3593. (mess.m_type)462 1110 A
  3594. 1614(=)S
  3595. (DEV_IOCTL;)420 1698 A
  3596. 2610 V
  3597. (22669)210 648 A
  3598. (mess.PROC_NR)504 1110 A
  3599. 1656(=)S
  3600. (FS_PROC_NR;)462 1740 A
  3601. 2700 V
  3602. (22670)210 648 A
  3603. (mess.REQUEST)504 1110 A
  3604. 1656(=)S
  3605. (MIOCSPSINFO;)504 1740 A
  3606. 2790 V
  3607. (22671)210 648 A
  3608. (mess.ADDRESS)504 1110 A
  3609. 1656(=)S
  3610. ((void)210 1740 A
  3611. 1992(*))S
  3612. (fproc;)252 2118 A
  3613. 2880 V
  3614. (22672)210 648 A
  3615. ((void))252 1110 A
  3616. (sendrec(MEM,)504 1404 A
  3617. (&mess);)294 1950 A
  3618. 2970 V
  3619. (22673)210 648 A
  3620. 1026(})S
  3621. 3240 V
  3622. (22676)210 648 A
  3623. (/*===========================================================================*)3276 1026 A
  3624. 3330 V
  3625. (22677)210 648 A
  3626. 1068(*)S
  3627. (buf_pool)336 2370 A
  3628. 4260(*)S
  3629. 3420 V
  3630. (22678)210 648 A
  3631. (*===========================================================================*/)3276 1068 A
  3632. 3510 V
  3633. (22679)210 648 A
  3634. (PRIVATE)294 1026 A
  3635. (void)168 1362 A
  3636. (buf_pool())420 1572 A
  3637. 3600 V
  3638. (22680)210 648 A
  3639. 1026({)S
  3640. 3690 V
  3641. (22681)210 648 A
  3642. 1026(/*)S
  3643. (Initialize)420 1152 A
  3644. (the)126 1614 A
  3645. (buffer)252 1782 A
  3646. (pool.)210 2076 A
  3647. 2328(*/)S
  3648. 3780 V
  3649. (22682)210 648 A
  3650. 3870 V
  3651. (22683)210 648 A
  3652. (register)336 1110 A
  3653. (struct)252 1488 A
  3654. (buf)126 1782 A
  3655. (*bp;)168 1950 A
  3656. 3960 V
  3657. (22684)210 648 A
  3658. 4050 V
  3659. (22685)210 648 A
  3660. (bufs_in_use)462 1110 A
  3661. 1614(=)S
  3662. 1698(0;)S
  3663. 4140 V
  3664. (22686)210 648 A
  3665. (front)210 1110 A
  3666. 1362(=)S
  3667. (&buf[0];)336 1446 A
  3668. 4230 V
  3669. (22687)210 648 A
  3670. (rear)168 1110 A
  3671. 1320(=)S
  3672. (&buf[NR_BUFS)504 1404 A
  3673. 1950(-)S
  3674. (1];)126 2034 A
  3675. 4320 V
  3676. (22688)210 648 A
  3677. 4410 V
  3678. (22689)210 648 A
  3679. (for)126 1110 A
  3680. ((bp)126 1278 A
  3681. 1446(=)S
  3682. (&buf[0];)336 1530 A
  3683. 1908(bp)S
  3684. 2034(<)S
  3685. (&buf[NR_BUFS];)588 2118 A
  3686. (bp++))210 2748 A
  3687. 3000({)S
  3688. 4500 V
  3689. (22690)210 648 A
  3690. (bp->b_blocknr)546 1362 A
  3691. 1950(=)S
  3692. (NO_BLOCK;)378 2034 A
  3693. 4590 V
  3694. (22691)210 648 A
  3695. (bp->b_dev)378 1362 A
  3696. 1782(=)S
  3697. (NO_DEV;)294 1866 A
  3698. 4680 V
  3699. (22692)210 648 A
  3700. (bp->b_next)420 1362 A
  3701. 1824(=)S
  3702. 1908(bp)S
  3703. 2034(+)S
  3704. 2118(1;)S
  3705. 4770 V
  3706. (22693)210 648 A
  3707. (bp->b_prev)420 1362 A
  3708. 1824(=)S
  3709. 1908(bp)S
  3710. 2034(-)S
  3711. 2118(1;)S
  3712. 4860 V
  3713. (22694)210 648 A
  3714. 1110(})S
  3715. 4950 V
  3716. (22695)210 648 A
  3717. (buf[0].b_prev)546 1110 A
  3718. 1698(=)S
  3719. (NIL_BUF;)336 1782 A
  3720. 5040 V
  3721. (22696)210 648 A
  3722. (buf[NR_BUFS)462 1110 A
  3723. 1614(-)S
  3724. (1].b_next)378 1698 A
  3725. 2118(=)S
  3726. (NIL_BUF;)336 2202 A
  3727. 5130 V
  3728. (22697)210 648 A
  3729. 5220 V
  3730. (22698)210 648 A
  3731. (for)126 1110 A
  3732. ((bp)126 1278 A
  3733. 1446(=)S
  3734. (&buf[0];)336 1530 A
  3735. 1908(bp)S
  3736. 2034(<)S
  3737. (&buf[NR_BUFS];)588 2118 A
  3738. (bp++))210 2748 A
  3739. (bp->b_hash)420 3000 A
  3740. 3462(=)S
  3741. (bp->b_next;)462 3546 A
  3742. 5310 V
  3743. (22699)210 648 A
  3744. (buf_hash[0])462 1110 A
  3745. 1614(=)S
  3746. (front;)252 1698 A
  3747. 5400 V
  3748. (22700)210 648 A
  3749. 1026(})S
  3750. 5670 V
  3751. (22703)210 648 A
  3752. (/*===========================================================================*)3276 1026 A
  3753. 5760 V
  3754. (22704)210 648 A
  3755. 1068(*)S
  3756. (get_boot_parameters)798 2370 A
  3757. 4260(*)S
  3758. 5850 V
  3759. (22705)210 648 A
  3760. (*===========================================================================*/)3276 1068 A
  3761. 5940 V
  3762. (22706)210 648 A
  3763. (PUBLIC)252 1026 A
  3764. (struct)252 1320 A
  3765. (bparam_s)336 1614 A
  3766. (boot_parameters;)672 1992 A
  3767. 6030 V
  3768. (22707)210 648 A
  3769. 6120 V
  3770. (22708)210 648 A
  3771. (PRIVATE)294 1026 A
  3772. (void)168 1362 A
  3773. (get_boot_parameters())882 1572 A
  3774. 6210 V
  3775. (22709)210 648 A
  3776. 1026({)S
  3777. 8418 V
  3778. EP
  3779. %%Page: 310 310
  3780. BP
  3781. /slant 0 def
  3782. /height 0 def
  3783. 630 V
  3784. 12 B
  3785. (310)180 648 A
  3786. 11 R
  3787. 2135(File:)S
  3788. 2368(src/fs/main.c)S
  3789. 10 R
  3790. 3402(MINIX)S
  3791. 3730(SOURCE)S
  3792. 4153(CODE)S
  3793. 900 V
  3794. 7 LST
  3795. (22710)210 648 A
  3796. 1026(/*)S
  3797. (Ask)126 1152 A
  3798. (kernel)252 1320 A
  3799. (for)126 1614 A
  3800. (boot)168 1782 A
  3801. (parameters.)462 1992 A
  3802. 2496(*/)S
  3803. 990 V
  3804. (22711)210 648 A
  3805. 1080 V
  3806. (22712)210 648 A
  3807. (m1.m_type)378 1110 A
  3808. 1530(=)S
  3809. (SYS_GBOOT;)420 1614 A
  3810. 1170 V
  3811. (22713)210 648 A
  3812. (m1.PROC1)336 1110 A
  3813. 1488(=)S
  3814. (FS_PROC_NR;)462 1572 A
  3815. 1260 V
  3816. (22714)210 648 A
  3817. (m1.MEM_PTR)420 1110 A
  3818. 1572(=)S
  3819. ((char)210 1656 A
  3820. 1908(*))S
  3821. (&boot_parameters;)714 2034 A
  3822. 1350 V
  3823. (22715)210 648 A
  3824. ((void))252 1110 A
  3825. (sendrec(SYSTASK,)672 1404 A
  3826. (&m1);)210 2118 A
  3827. 1440 V
  3828. (22716)210 648 A
  3829. 1026(})S
  3830. 1710 V
  3831. (22719)210 648 A
  3832. (/*===========================================================================*)3276 1026 A
  3833. 1800 V
  3834. (22720)210 648 A
  3835. 1068(*)S
  3836. (load_ram)336 2370 A
  3837. 4260(*)S
  3838. 1890 V
  3839. (22721)210 648 A
  3840. (*===========================================================================*/)3276 1068 A
  3841. 1980 V
  3842. (22722)210 648 A
  3843. (PRIVATE)294 1026 A
  3844. (void)168 1362 A
  3845. (load_ram())420 1572 A
  3846. 2070 V
  3847. (22723)210 648 A
  3848. 1026({)S
  3849. 2160 V
  3850. (22724)210 648 A
  3851. 1026(/*)S
  3852. 1152(If)S
  3853. (the)126 1278 A
  3854. (root)168 1446 A
  3855. (device)252 1656 A
  3856. 1950(is)S
  3857. (the)126 2076 A
  3858. (RAM)126 2244 A
  3859. (disk,)210 2412 A
  3860. (copy)168 2664 A
  3861. (the)126 2874 A
  3862. (entire)252 3042 A
  3863. (root)168 3336 A
  3864. (image)210 3546 A
  3865. (device)252 3798 A
  3866. 2250 V
  3867. (22725)210 648 A
  3868. 1068(*)S
  3869. (block-by-block)588 1152 A
  3870. 1782(to)S
  3871. 1908(a)S
  3872. (RAM)126 1992 A
  3873. (disk)168 2160 A
  3874. (with)168 2370 A
  3875. (the)126 2580 A
  3876. (same)168 2748 A
  3877. (size)168 2958 A
  3878. 3168(as)S
  3879. (the)126 3294 A
  3880. (image.)252 3462 A
  3881. 2340 V
  3882. (22726)210 648 A
  3883. 1068(*)S
  3884. (Otherwise,)420 1152 A
  3885. (just)168 1614 A
  3886. (allocate)336 1824 A
  3887. 2202(a)S
  3888. (RAM)126 2286 A
  3889. (disk)168 2454 A
  3890. (with)168 2664 A
  3891. (size)168 2874 A
  3892. (given)210 3084 A
  3893. 3336(in)S
  3894. (the)126 3462 A
  3895. (boot)168 3630 A
  3896. (parameters.)462 3840 A
  3897. 2430 V
  3898. (22727)210 648 A
  3899. 1068(*/)S
  3900. 2520 V
  3901. (22728)210 648 A
  3902. 2610 V
  3903. (22729)210 648 A
  3904. (register)336 1110 A
  3905. (struct)252 1488 A
  3906. (buf)126 1782 A
  3907. (*bp,)168 1950 A
  3908. (*bp1;)210 2160 A
  3909. 2700 V
  3910. (22730)210 648 A
  3911. (long)168 1110 A
  3912. (k_loaded,)378 1320 A
  3913. (lcount;)294 1740 A
  3914. 2790 V
  3915. (22731)210 648 A
  3916. (u32_t)210 1110 A
  3917. (ram_size,)378 1362 A
  3918. (fsmax;)252 1782 A
  3919. 2880 V
  3920. (22732)210 648 A
  3921. (zone_t)252 1110 A
  3922. (zones;)252 1404 A
  3923. 2970 V
  3924. (22733)210 648 A
  3925. (struct)252 1110 A
  3926. (super_block)462 1404 A
  3927. (*sp,)168 1908 A
  3928. (*dsp;)210 2118 A
  3929. 3060 V
  3930. (22734)210 648 A
  3931. (block_t)294 1110 A
  3932. 1446(b;)S
  3933. 3150 V
  3934. (22735)210 648 A
  3935. (int)126 1110 A
  3936. (major,)252 1278 A
  3937. (task;)210 1572 A
  3938. 3240 V
  3939. (22736)210 648 A
  3940. (message)294 1110 A
  3941. (dev_mess;)378 1446 A
  3942. 3330 V
  3943. (22737)210 648 A
  3944. 3420 V
  3945. (22738)210 648 A
  3946. (ram_size)336 1110 A
  3947. 1488(=)S
  3948. (boot_parameters.bp_ramsize;)1134 1572 A
  3949. 3510 V
  3950. (22739)210 648 A
  3951. 3600 V
  3952. (22740)210 648 A
  3953. 1110(/*)S
  3954. (Open)168 1236 A
  3955. (the)126 1446 A
  3956. (root)168 1614 A
  3957. (device.)294 1824 A
  3958. 2160(*/)S
  3959. 3690 V
  3960. (22741)210 648 A
  3961. (major)210 1110 A
  3962. 1362(=)S
  3963. ((ROOT_DEV)378 1446 A
  3964. 1866(>>)S
  3965. (MAJOR))252 1992 A
  3966. 2286(&)S
  3967. (BYTE;)210 2370 A
  3968. 2706(/*)S
  3969. (major)210 2832 A
  3970. (device)252 3084 A
  3971. 3378(nr)S
  3972. 3504(*/)S
  3973. 3780 V
  3974. (22742)210 648 A
  3975. (task)168 1110 A
  3976. 1320(=)S
  3977. (dmap[major].dmap_task;)924 1404 A
  3978. 2706(/*)S
  3979. (device)252 2832 A
  3980. (task)168 3126 A
  3981. 3336(nr)S
  3982. 3462(*/)S
  3983. 3870 V
  3984. (22743)210 648 A
  3985. (dev_mess.m_type)630 1110 A
  3986. 1782(=)S
  3987. (DEV_OPEN;)378 1866 A
  3988. 2706(/*)S
  3989. (distinguish)462 2832 A
  3990. (from)168 3336 A
  3991. (close)210 3546 A
  3992. 3798(*/)S
  3993. 3960 V
  3994. (22744)210 648 A
  3995. (dev_mess.DEVICE)630 1110 A
  3996. 1782(=)S
  3997. (ROOT_DEV;)378 1866 A
  3998. 4050 V
  3999. (22745)210 648 A
  4000. (dev_mess.COUNT)588 1110 A
  4001. 1740(=)S
  4002. (R_BIT|W_BIT;)504 1824 A
  4003. 4140 V
  4004. (22746)210 648 A
  4005. ((*dmap[major].dmap_open)(task,)1260 1110 A
  4006. (&dev_mess);)462 2412 A
  4007. 4230 V
  4008. (22747)210 648 A
  4009. 1110(if)S
  4010. ((dev_mess.REP_STATUS)840 1236 A
  4011. 2118(!=)S
  4012. (OK))126 2244 A
  4013. (panic("Cannot)546 2412 A
  4014. (open)168 3000 A
  4015. (root)168 3210 A
  4016. (device",NO_NUM);)672 3420 A
  4017. 4320 V
  4018. (22748)210 648 A
  4019. 4410 V
  4020. (22749)210 648 A
  4021. 1110(/*)S
  4022. 1236(If)S
  4023. (the)126 1362 A
  4024. (root)168 1530 A
  4025. (device)252 1740 A
  4026. 2034(is)S
  4027. (the)126 2160 A
  4028. (ram)126 2328 A
  4029. (disk)168 2496 A
  4030. (then)168 2706 A
  4031. (fill)168 2916 A
  4032. 3126(it)S
  4033. (from)168 3252 A
  4034. (the)126 3462 A
  4035. (image)210 3630 A
  4036. (device.)294 3882 A
  4037. 4218(*/)S
  4038. 4500 V
  4039. (22750)210 648 A
  4040. 1110(if)S
  4041. ((ROOT_DEV)378 1236 A
  4042. 1656(==)S
  4043. (DEV_RAM))336 1782 A
  4044. 2160({)S
  4045. 4590 V
  4046. (22751)210 648 A
  4047. (major)210 1362 A
  4048. 1614(=)S
  4049. ((IMAGE_DEV)420 1698 A
  4050. 2160(>>)S
  4051. (MAJOR))252 2286 A
  4052. 2580(&)S
  4053. (BYTE;)210 2664 A
  4054. 3042(/*)S
  4055. (major)210 3168 A
  4056. (device)252 3420 A
  4057. 3714(nr)S
  4058. 3840(*/)S
  4059. 4680 V
  4060. (22752)210 648 A
  4061. (task)168 1362 A
  4062. 1572(=)S
  4063. (dmap[major].dmap_task;)924 1656 A
  4064. 3042(/*)S
  4065. (device)252 3168 A
  4066. (task)168 3462 A
  4067. 3672(nr)S
  4068. 3798(*/)S
  4069. 4770 V
  4070. (22753)210 648 A
  4071. (dev_mess.m_type)630 1362 A
  4072. 2034(=)S
  4073. (DEV_OPEN;)378 2118 A
  4074. 3042(/*)S
  4075. (distinguish)462 3168 A
  4076. (from)168 3672 A
  4077. (close)210 3882 A
  4078. 4134(*/)S
  4079. 4860 V
  4080. (22754)210 648 A
  4081. (dev_mess.DEVICE)630 1362 A
  4082. 2034(=)S
  4083. (IMAGE_DEV;)420 2118 A
  4084. 4950 V
  4085. (22755)210 648 A
  4086. (dev_mess.COUNT)588 1362 A
  4087. 1992(=)S
  4088. (R_BIT;)252 2076 A
  4089. 5040 V
  4090. (22756)210 648 A
  4091. ((*dmap[major].dmap_open)(task,)1260 1362 A
  4092. (&dev_mess);)462 2664 A
  4093. 5130 V
  4094. (22757)210 648 A
  4095. 1362(if)S
  4096. ((dev_mess.REP_STATUS)840 1488 A
  4097. 2370(!=)S
  4098. (OK))126 2496 A
  4099. (panic("Cannot)546 2664 A
  4100. (open)168 3252 A
  4101. (root)168 3462 A
  4102. (device",)336 3672 A
  4103. (NO_NUM);)336 4050 A
  4104. 5220 V
  4105. (22758)210 648 A
  4106. 5310 V
  4107. (22759)210 648 A
  4108. 1362(/*)S
  4109. (Get)126 1488 A
  4110. (size)168 1656 A
  4111. 1866(of)S
  4112. (RAM)126 1992 A
  4113. (disk)168 2160 A
  4114. 2370(by)S
  4115. (reading)294 2496 A
  4116. (root)168 2832 A
  4117. (file)168 3042 A
  4118. (system's)336 3252 A
  4119. (super)210 3630 A
  4120. (block.)252 3882 A
  4121. 4176(*/)S
  4122. 5400 V
  4123. (22760)210 648 A
  4124. 1362(sp)S
  4125. 1488(=)S
  4126. (&super_block[0];)672 1572 A
  4127. 5490 V
  4128. (22761)210 648 A
  4129. (sp->s_dev)378 1362 A
  4130. 1782(=)S
  4131. (IMAGE_DEV;)420 1866 A
  4132. 5580 V
  4133. (22762)210 648 A
  4134. 1362(if)S
  4135. ((read_super(sp))630 1488 A
  4136. 2160(!=)S
  4137. (OK))126 2286 A
  4138. (panic("Bad)420 2454 A
  4139. (root)168 2916 A
  4140. (file)168 3126 A
  4141. (system",)336 3336 A
  4142. (NO_NUM);)336 3714 A
  4143. 5670 V
  4144. (22763)210 648 A
  4145. 5760 V
  4146. (22764)210 648 A
  4147. (lcount)252 1362 A
  4148. 1656(=)S
  4149. (sp->s_zones)462 1740 A
  4150. 2244(<<)S
  4151. (sp->s_log_zone_size;)840 2370 A
  4152. 3378(/*)S
  4153. 3504(#)S
  4154. (blks)168 3588 A
  4155. 3798(on)S
  4156. (root)168 3924 A
  4157. (dev*/)210 4134 A
  4158. 5850 V
  4159. (22765)210 648 A
  4160. 5940 V
  4161. (22766)210 648 A
  4162. 1362(/*)S
  4163. (Stretch)294 1488 A
  4164. (the)126 1824 A
  4165. (RAM)126 1992 A
  4166. (disk)168 2160 A
  4167. (file)168 2370 A
  4168. (system)252 2580 A
  4169. 2874(to)S
  4170. (the)126 3000 A
  4171. (boot)168 3168 A
  4172. (parameters)420 3378 A
  4173. (size,)210 3840 A
  4174. (but)126 4092 A
  4175. 6030 V
  4176. (22767)210 648 A
  4177. 1404(*)S
  4178. 1488(no)S
  4179. (further)294 1614 A
  4180. (than)168 1950 A
  4181. (the)126 2160 A
  4182. (last)168 2328 A
  4183. (zone)168 2538 A
  4184. (bit)126 2748 A
  4185. (map)126 2916 A
  4186. (block)210 3084 A
  4187. (allows.)294 3336 A
  4188. 6120 V
  4189. (22768)210 648 A
  4190. 1404(*/)S
  4191. 6210 V
  4192. (22769)210 648 A
  4193. 1362(if)S
  4194. ((ram_size)378 1488 A
  4195. 1908(<)S
  4196. (lcount))294 1992 A
  4197. (ram_size)336 2328 A
  4198. 2706(=)S
  4199. (lcount;)294 2790 A
  4200. 8418 V
  4201. EP
  4202. %%Page: 311 311
  4203. BP
  4204. /slant 0 def
  4205. /height 0 def
  4206. 630 V
  4207. 10 R
  4208. 648(MINIX)S
  4209. 976(SOURCE)S
  4210. 1399(CODE)S
  4211. 11 R
  4212. 2135(File:)S
  4213. 2368(src/fs/main.c)S
  4214. 12 B
  4215. (311)180 4248 A
  4216. 900 V
  4217. 7 LST
  4218. (22770)210 648 A
  4219. (fsmax)210 1362 A
  4220. 1614(=)S
  4221. ((u32_t))294 1698 A
  4222. (sp->s_zmap_blocks)714 2034 A
  4223. 2790(*)S
  4224. (CHAR_BIT)336 2874 A
  4225. 3252(*)S
  4226. (BLOCK_SIZE;)462 3336 A
  4227. 990 V
  4228. (22771)210 648 A
  4229. (fsmax)210 1362 A
  4230. 1614(=)S
  4231. ((fsmax)252 1698 A
  4232. 1992(+)S
  4233. ((sp->s_firstdatazone-1)))1008 2076 A
  4234. 3126(<<)S
  4235. (sp->s_log_zone_size;)840 3252 A
  4236. 1080 V
  4237. (22772)210 648 A
  4238. 1362(if)S
  4239. ((ram_size)378 1488 A
  4240. 1908(>)S
  4241. (fsmax))252 1992 A
  4242. (ram_size)336 2286 A
  4243. 2664(=)S
  4244. (fsmax;)252 2748 A
  4245. 1170 V
  4246. (22773)210 648 A
  4247. 1110(})S
  4248. 1260 V
  4249. (22774)210 648 A
  4250. 1350 V
  4251. (22775)210 648 A
  4252. 1110(/*)S
  4253. (Tell)168 1236 A
  4254. (RAM)126 1446 A
  4255. (driver)252 1614 A
  4256. (how)126 1908 A
  4257. (big)126 2076 A
  4258. (the)126 2244 A
  4259. (RAM)126 2412 A
  4260. (disk)168 2580 A
  4261. (must)168 2790 A
  4262. (be.)126 3000 A
  4263. 3168(*/)S
  4264. 1440 V
  4265. (22776)210 648 A
  4266. (m1.m_type)378 1110 A
  4267. 1530(=)S
  4268. (DEV_IOCTL;)420 1614 A
  4269. 1530 V
  4270. (22777)210 648 A
  4271. (m1.PROC_NR)420 1110 A
  4272. 1572(=)S
  4273. (FS_PROC_NR;)462 1656 A
  4274. 1620 V
  4275. (22778)210 648 A
  4276. (m1.REQUEST)420 1110 A
  4277. 1572(=)S
  4278. (MIOCRAMSIZE;)504 1656 A
  4279. 1710 V
  4280. (22779)210 648 A
  4281. (m1.POSITION)462 1110 A
  4282. 1614(=)S
  4283. (ram_size;)378 1698 A
  4284. 1800 V
  4285. (22780)210 648 A
  4286. 1110(if)S
  4287. ((sendrec(MEM,)546 1236 A
  4288. (&m1))168 1824 A
  4289. 2034(!=)S
  4290. 2160(OK)S
  4291. 2286(||)S
  4292. (m1.REP_STATUS)546 2412 A
  4293. 3000(!=)S
  4294. (OK))126 3126 A
  4295. 1890 V
  4296. (22781)210 648 A
  4297. (panic("Can't)504 1362 A
  4298. (set)126 1908 A
  4299. (RAM)126 2076 A
  4300. (disk)168 2244 A
  4301. (size",)252 2454 A
  4302. (NO_NUM);)336 2748 A
  4303. 1980 V
  4304. (22782)210 648 A
  4305. 2070 V
  4306. (22783)210 648 A
  4307. 1110(/*)S
  4308. (Tell)168 1236 A
  4309. 1446(MM)S
  4310. (the)126 1572 A
  4311. (RAM)126 1740 A
  4312. (disk)168 1908 A
  4313. (size,)210 2118 A
  4314. (and)126 2370 A
  4315. (wait)168 2538 A
  4316. (for)126 2748 A
  4317. 2916(it)S
  4318. 3042(to)S
  4319. (come)168 3168 A
  4320. ("on-line".)420 3378 A
  4321. 3840(*/)S
  4322. 2160 V
  4323. (22784)210 648 A
  4324. (m1.m1_i1)336 1110 A
  4325. 1488(=)S
  4326. (((long))294 1572 A
  4327. (ram_size)336 1908 A
  4328. 2286(*)S
  4329. (BLOCK_SIZE))462 2370 A
  4330. 2874(>>)S
  4331. (CLICK_SHIFT;)504 3000 A
  4332. 2250 V
  4333. (22785)210 648 A
  4334. 1110(if)S
  4335. ((sendrec(MM_PROC_NR,)840 1236 A
  4336. (&m1))168 2118 A
  4337. 2328(!=)S
  4338. (OK))126 2454 A
  4339. 2340 V
  4340. (22786)210 648 A
  4341. (panic("FS)378 1362 A
  4342. (can't)210 1782 A
  4343. (sync)168 2034 A
  4344. 2244(up)S
  4345. (with)168 2370 A
  4346. (MM",)168 2580 A
  4347. (NO_NUM);)336 2790 A
  4348. 2430 V
  4349. (22787)210 648 A
  4350. 2520 V
  4351. (22788)210 648 A
  4352. 1110(/*)S
  4353. 1236(If)S
  4354. (the)126 1362 A
  4355. (root)168 1530 A
  4356. (device)252 1740 A
  4357. 2034(is)S
  4358. (not)126 2160 A
  4359. (the)126 2328 A
  4360. (RAM)126 2496 A
  4361. (disk,)210 2664 A
  4362. 2916(it)S
  4363. (doesn't)294 3042 A
  4364. (need)168 3378 A
  4365. (loading.)336 3588 A
  4366. 3966(*/)S
  4367. 2610 V
  4368. (22789)210 648 A
  4369. 1110(if)S
  4370. ((ROOT_DEV)378 1236 A
  4371. 1656(!=)S
  4372. (DEV_RAM))336 1782 A
  4373. (return;)294 2160 A
  4374. 2700 V
  4375. (22790)210 648 A
  4376. 2790 V
  4377. (22791)210 648 A
  4378. 1110(/*)S
  4379. (Copy)168 1236 A
  4380. (the)126 1446 A
  4381. (blocks)252 1614 A
  4382. (one)126 1908 A
  4383. 2076(at)S
  4384. 2202(a)S
  4385. (time)168 2286 A
  4386. (from)168 2496 A
  4387. (the)126 2706 A
  4388. (image)210 2874 A
  4389. 3126(to)S
  4390. (the)126 3252 A
  4391. (RAM)126 3420 A
  4392. (disk.)210 3588 A
  4393. 3840(*/)S
  4394. 2880 V
  4395. (22792)210 648 A
  4396. (printf("Loading)630 1110 A
  4397. (RAM)126 1782 A
  4398. (disk.\33[23CLoaded:)798 1950 A
  4399. 2916(0K)S
  4400. (");)126 3042 A
  4401. 2970 V
  4402. (22793)210 648 A
  4403. 3060 V
  4404. (22794)210 648 A
  4405. (inode[0].i_mode)630 1110 A
  4406. 1782(=)S
  4407. (I_BLOCK_SPECIAL;)672 1866 A
  4408. 2706(/*)S
  4409. (temp)168 2832 A
  4410. (inode)210 3042 A
  4411. (for)126 3294 A
  4412. (rahead())336 3462 A
  4413. 3840(*/)S
  4414. 3150 V
  4415. (22795)210 648 A
  4416. (inode[0].i_size)630 1110 A
  4417. 1782(=)S
  4418. (LONG_MAX;)378 1866 A
  4419. 3240 V
  4420. (22796)210 648 A
  4421. (inode[0].i_dev)588 1110 A
  4422. 1740(=)S
  4423. (IMAGE_DEV;)420 1824 A
  4424. 3330 V
  4425. (22797)210 648 A
  4426. (inode[0].i_zone[0])756 1110 A
  4427. 1908(=)S
  4428. (IMAGE_DEV;)420 1992 A
  4429. 3420 V
  4430. (22798)210 648 A
  4431. 3510 V
  4432. (22799)210 648 A
  4433. (for)126 1110 A
  4434. 1278((b)S
  4435. 1404(=)S
  4436. 1488(0;)S
  4437. 1614(b)S
  4438. 1698(<)S
  4439. ((block_t))378 1782 A
  4440. (lcount;)294 2202 A
  4441. (b++))168 2538 A
  4442. 2748({)S
  4443. 3600 V
  4444. (22800)210 648 A
  4445. 1362(bp)S
  4446. 1488(=)S
  4447. (rahead(&inode[0],)714 1572 A
  4448. 2328(b,)S
  4449. ((off_t)BLOCK_SIZE)714 2454 A
  4450. 3210(*)S
  4451. 3294(b,)S
  4452. (BLOCK_SIZE);)504 3420 A
  4453. 3690 V
  4454. (22801)210 648 A
  4455. (bp1)126 1362 A
  4456. 1530(=)S
  4457. (get_block(ROOT_DEV,)798 1614 A
  4458. 2454(b,)S
  4459. (NO_READ);)378 2580 A
  4460. 3780 V
  4461. (22802)210 648 A
  4462. (memcpy(bp1->b_data,)798 1362 A
  4463. (bp->b_data,)462 2202 A
  4464. ((size_t))336 2706 A
  4465. (BLOCK_SIZE);)504 3084 A
  4466. 3870 V
  4467. (22803)210 648 A
  4468. (bp1->b_dirt)462 1362 A
  4469. 1866(=)S
  4470. (DIRTY;)252 1950 A
  4471. 3960 V
  4472. (22804)210 648 A
  4473. (put_block(bp,)546 1362 A
  4474. (FULL_DATA_BLOCK);)714 1950 A
  4475. 4050 V
  4476. (22805)210 648 A
  4477. (put_block(bp1,)588 1362 A
  4478. (FULL_DATA_BLOCK);)714 1992 A
  4479. 4140 V
  4480. (22806)210 648 A
  4481. (k_loaded)336 1362 A
  4482. 1740(=)S
  4483. 1824(()S
  4484. ((long))252 1908 A
  4485. 2202(b)S
  4486. 2286(*)S
  4487. (BLOCK_SIZE)/1024L;)756 2370 A
  4488. 3378(/*)S
  4489. 3504(K)S
  4490. (loaded)252 3588 A
  4491. 3882(so)S
  4492. (far)126 4008 A
  4493. 4176(*/)S
  4494. 4230 V
  4495. (22807)210 648 A
  4496. 1362(if)S
  4497. ((k_loaded)378 1488 A
  4498. 1908(%)S
  4499. 1992(5)S
  4500. 2076(==)S
  4501. 2202(0))S
  4502. (printf("\b\b\b\b\b\b\b%5ldK)1134 2328 A
  4503. 3504(",)S
  4504. (k_loaded);)420 3630 A
  4505. 4320 V
  4506. (22808)210 648 A
  4507. 1110(})S
  4508. 4410 V
  4509. (22809)210 648 A
  4510. 4500 V
  4511. (22810)210 648 A
  4512. (printf("\rRAM)546 1110 A
  4513. (disk)168 1698 A
  4514. (loaded.\33[K\n\n");)798 1908 A
  4515. 4590 V
  4516. (22811)210 648 A
  4517. 4680 V
  4518. (22812)210 648 A
  4519. 1110(/*)S
  4520. (Close)210 1236 A
  4521. (and)126 1488 A
  4522. (invalidate)420 1656 A
  4523. (image)210 2118 A
  4524. (device.)294 2370 A
  4525. 2706(*/)S
  4526. 4770 V
  4527. (22813)210 648 A
  4528. (dev_mess.m_type)630 1110 A
  4529. 1782(=)S
  4530. (DEV_CLOSE;)420 1866 A
  4531. 4860 V
  4532. (22814)210 648 A
  4533. (dev_mess.DEVICE)630 1110 A
  4534. 1782(=)S
  4535. (IMAGE_DEV;)420 1866 A
  4536. 4950 V
  4537. (22815)210 648 A
  4538. ((*dmap[major].dmap_close)(task,)1302 1110 A
  4539. (&dev_mess);)462 2454 A
  4540. 5040 V
  4541. (22816)210 648 A
  4542. (invalidate(IMAGE_DEV);)924 1110 A
  4543. 5130 V
  4544. (22817)210 648 A
  4545. 5220 V
  4546. (22818)210 648 A
  4547. 1110(/*)S
  4548. (Resize)252 1236 A
  4549. (the)126 1530 A
  4550. (RAM)126 1698 A
  4551. (disk)168 1866 A
  4552. (root)168 2076 A
  4553. (file)168 2286 A
  4554. (system.)294 2496 A
  4555. 2832(*/)S
  4556. 5310 V
  4557. (22819)210 648 A
  4558. 1110(bp)S
  4559. 1236(=)S
  4560. (get_block(ROOT_DEV,)798 1320 A
  4561. (SUPER_BLOCK,)504 2160 A
  4562. (NORMAL);)336 2706 A
  4563. 5400 V
  4564. (22820)210 648 A
  4565. (dsp)126 1110 A
  4566. 1278(=)S
  4567. ((struct)294 1362 A
  4568. (super_block)462 1698 A
  4569. 2202(*))S
  4570. (bp->b_data;)462 2328 A
  4571. 5490 V
  4572. (22821)210 648 A
  4573. (zones)210 1110 A
  4574. 1362(=)S
  4575. (ram_size)336 1446 A
  4576. 1824(>>)S
  4577. (sp->s_log_zone_size;)840 1950 A
  4578. 5580 V
  4579. (22822)210 648 A
  4580. (dsp->s_nzones)546 1110 A
  4581. 1698(=)S
  4582. (conv2(sp->s_native,)798 1782 A
  4583. ((u16_t))294 2622 A
  4584. (zones);)294 2958 A
  4585. 5670 V
  4586. (22823)210 648 A
  4587. (dsp->s_zones)504 1110 A
  4588. 1656(=)S
  4589. (conv4(sp->s_native,)798 1740 A
  4590. (zones);)294 2580 A
  4591. 5760 V
  4592. (22824)210 648 A
  4593. (bp->b_dirt)420 1110 A
  4594. 1572(=)S
  4595. (DIRTY;)252 1656 A
  4596. 5850 V
  4597. (22825)210 648 A
  4598. (put_block(bp,)546 1110 A
  4599. (ZUPER_BLOCK);)546 1698 A
  4600. 5940 V
  4601. (22826)210 648 A
  4602. 1026(})S
  4603. 6210 V
  4604. (22829)210 648 A
  4605. (/*===========================================================================*)3276 1026 A
  4606. 8418 V
  4607. EP
  4608. %%Page: 312 312
  4609. BP
  4610. /slant 0 def
  4611. /height 0 def
  4612. 630 V
  4613. 12 B
  4614. (312)180 648 A
  4615. 11 R
  4616. 2135(File:)S
  4617. 2368(src/fs/main.c)S
  4618. 10 R
  4619. 3402(MINIX)S
  4620. 3730(SOURCE)S
  4621. 4153(CODE)S
  4622. 900 V
  4623. 7 LST
  4624. (22830)210 648 A
  4625. 1068(*)S
  4626. (load_super)420 2370 A
  4627. 4260(*)S
  4628. 990 V
  4629. (22831)210 648 A
  4630. (*===========================================================================*/)3276 1068 A
  4631. 1080 V
  4632. (22832)210 648 A
  4633. (PRIVATE)294 1026 A
  4634. (void)168 1362 A
  4635. (load_super(super_dev))882 1572 A
  4636. 1170 V
  4637. (22833)210 648 A
  4638. (dev_t)210 1026 A
  4639. (super_dev;)420 1278 A
  4640. 2706(/*)S
  4641. (place)210 2832 A
  4642. 3084(to)S
  4643. (get)126 3210 A
  4644. (superblock)420 3378 A
  4645. (from)168 3840 A
  4646. 4050(*/)S
  4647. 1260 V
  4648. (22834)210 648 A
  4649. 1026({)S
  4650. 1350 V
  4651. (22835)210 648 A
  4652. (int)126 1110 A
  4653. (bad;)168 1278 A
  4654. 1440 V
  4655. (22836)210 648 A
  4656. (register)336 1110 A
  4657. (struct)252 1488 A
  4658. (super_block)462 1782 A
  4659. (*sp;)168 2286 A
  4660. 1530 V
  4661. (22837)210 648 A
  4662. (register)336 1110 A
  4663. (struct)252 1488 A
  4664. (inode)210 1782 A
  4665. (*rip;)210 2034 A
  4666. 1620 V
  4667. (22838)210 648 A
  4668. 1710 V
  4669. (22839)210 648 A
  4670. 1110(/*)S
  4671. (Initialize)420 1236 A
  4672. (the)126 1698 A
  4673. (super_block)462 1866 A
  4674. (table.)252 2370 A
  4675. 2664(*/)S
  4676. 1800 V
  4677. (22840)210 648 A
  4678. (for)126 1110 A
  4679. ((sp)126 1278 A
  4680. 1446(=)S
  4681. (&super_block[0];)672 1530 A
  4682. 2244(sp)S
  4683. 2370(<)S
  4684. (&super_block[NR_SUPERS];)1008 2454 A
  4685. (sp++))210 3504 A
  4686. 1890 V
  4687. (22841)210 648 A
  4688. (sp->s_dev)378 1362 A
  4689. 1782(=)S
  4690. (NO_DEV;)294 1866 A
  4691. 1980 V
  4692. (22842)210 648 A
  4693. 2070 V
  4694. (22843)210 648 A
  4695. 1110(/*)S
  4696. (Read)168 1236 A
  4697. 1446(in)S
  4698. (super_block)462 1572 A
  4699. (for)126 2076 A
  4700. (the)126 2244 A
  4701. (root)168 2412 A
  4702. (file)168 2622 A
  4703. (system.)294 2832 A
  4704. 3168(*/)S
  4705. 2160 V
  4706. (22844)210 648 A
  4707. 1110(sp)S
  4708. 1236(=)S
  4709. (&super_block[0];)672 1320 A
  4710. 2250 V
  4711. (22845)210 648 A
  4712. (sp->s_dev)378 1110 A
  4713. 1530(=)S
  4714. (super_dev;)420 1614 A
  4715. 2340 V
  4716. (22846)210 648 A
  4717. 2430 V
  4718. (22847)210 648 A
  4719. 1110(/*)S
  4720. (Check)210 1236 A
  4721. (super_block)462 1488 A
  4722. (for)126 1992 A
  4723. (consistency)462 2160 A
  4724. ((is)126 2664 A
  4725. 2832(it)S
  4726. (the)126 2958 A
  4727. (right)210 3126 A
  4728. (diskette?).)462 3378 A
  4729. 3882(*/)S
  4730. 2520 V
  4731. (22848)210 648 A
  4732. (bad)126 1110 A
  4733. 1278(=)S
  4734. ((read_super(sp))630 1362 A
  4735. 2034(!=)S
  4736. (OK);)168 2160 A
  4737. 2610 V
  4738. (22849)210 648 A
  4739. 1110(if)S
  4740. ((!bad))252 1236 A
  4741. 1530({)S
  4742. 2700 V
  4743. (22850)210 648 A
  4744. (rip)126 1362 A
  4745. 1530(=)S
  4746. (get_inode(super_dev,)840 1614 A
  4747. (ROOT_INODE);)504 2496 A
  4748. 3042(/*)S
  4749. (inode)210 3168 A
  4750. (for)126 3420 A
  4751. (root)168 3588 A
  4752. (dir)126 3798 A
  4753. 3966(*/)S
  4754. 2790 V
  4755. (22851)210 648 A
  4756. 1362(if)S
  4757. 1488(()S
  4758. ((rip->i_mode)504 1572 A
  4759. 2118(&)S
  4760. (I_TYPE))294 2202 A
  4761. 2538(!=)S
  4762. (I_DIRECTORY)462 2664 A
  4763. 3168(||)S
  4764. (rip->i_nlinks)546 3294 A
  4765. 3882(<)S
  4766. 3966(3))S
  4767. (bad++;)252 4092 A
  4768. 2880 V
  4769. (22852)210 648 A
  4770. 1110(})S
  4771. 2970 V
  4772. (22853)210 648 A
  4773. 1110(if)S
  4774. ((bad)panic("Invalid)798 1236 A
  4775. (root)168 2076 A
  4776. (file)168 2286 A
  4777. (system.)294 2496 A
  4778. (Possibly)336 2874 A
  4779. (wrong)210 3252 A
  4780. (diskette.",NO_NUM);)798 3504 A
  4781. 3060 V
  4782. (22854)210 648 A
  4783. 3150 V
  4784. (22855)210 648 A
  4785. (sp->s_imount)504 1110 A
  4786. 1656(=)S
  4787. (rip;)168 1740 A
  4788. 3240 V
  4789. (22856)210 648 A
  4790. (dup_inode(rip);)630 1110 A
  4791. 3330 V
  4792. (22857)210 648 A
  4793. (sp->s_isup)420 1110 A
  4794. 1572(=)S
  4795. (rip;)168 1656 A
  4796. 3420 V
  4797. (22858)210 648 A
  4798. (sp->s_rd_only)546 1110 A
  4799. 1698(=)S
  4800. 1782(0;)S
  4801. 3510 V
  4802. (22859)210 648 A
  4803. (return;)294 1110 A
  4804. 3600 V
  4805. (22860)210 648 A
  4806. 1026(})S
  4807. 4140 V
  4808. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  4809. 4230 V
  4810. (src/fs/open.c)546 2034 A
  4811. 4320 V
  4812. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  4813. 4500 V
  4814. (22900)210 648 A
  4815. 1026(/*)S
  4816. (This)168 1152 A
  4817. (file)168 1362 A
  4818. (contains)336 1572 A
  4819. (the)126 1950 A
  4820. (procedures)420 2118 A
  4821. (for)126 2580 A
  4822. (creating,)378 2748 A
  4823. (opening,)336 3168 A
  4824. (closing,)336 3546 A
  4825. (and)126 3924 A
  4826. 4590 V
  4827. (22901)210 648 A
  4828. 1068(*)S
  4829. (seeking)294 1152 A
  4830. 1488(on)S
  4831. (files.)252 1614 A
  4832. 4680 V
  4833. (22902)210 648 A
  4834. 1068(*)S
  4835. 4770 V
  4836. (22903)210 648 A
  4837. 1068(*)S
  4838. (The)126 1152 A
  4839. (entry)210 1320 A
  4840. (points)252 1572 A
  4841. (into)168 1866 A
  4842. (this)168 2076 A
  4843. (file)168 2286 A
  4844. (are)126 2496 A
  4845. 4860 V
  4846. (22904)210 648 A
  4847. 1068(*)S
  4848. (do_creat:)378 1236 A
  4849. (perform)294 1698 A
  4850. (the)126 2034 A
  4851. (CREAT)210 2202 A
  4852. (system)252 2454 A
  4853. (call)168 2748 A
  4854. 4950 V
  4855. (22905)210 648 A
  4856. 1068(*)S
  4857. (do_open:)336 1236 A
  4858. (perform)294 1698 A
  4859. (the)126 2034 A
  4860. (OPEN)168 2202 A
  4861. (system)252 2412 A
  4862. (call)168 2706 A
  4863. 5040 V
  4864. (22906)210 648 A
  4865. 1068(*)S
  4866. (do_mknod:)378 1236 A
  4867. (perform)294 1698 A
  4868. (the)126 2034 A
  4869. (MKNOD)210 2202 A
  4870. (system)252 2454 A
  4871. (call)168 2748 A
  4872. 5130 V
  4873. (22907)210 648 A
  4874. 1068(*)S
  4875. (do_mkdir:)378 1236 A
  4876. (perform)294 1698 A
  4877. (the)126 2034 A
  4878. (MKDIR)210 2202 A
  4879. (system)252 2454 A
  4880. (call)168 2748 A
  4881. 5220 V
  4882. (22908)210 648 A
  4883. 1068(*)S
  4884. (do_close:)378 1236 A
  4885. (perform)294 1698 A
  4886. (the)126 2034 A
  4887. (CLOSE)210 2202 A
  4888. (system)252 2454 A
  4889. (call)168 2748 A
  4890. 5310 V
  4891. (22909)210 648 A
  4892. 1068(*)S
  4893. (do_lseek:)378 1236 A
  4894. (perform)294 1698 A
  4895. (the)126 2034 A
  4896. (LSEEK)210 2202 A
  4897. (system)252 2454 A
  4898. (call)168 2748 A
  4899. 5400 V
  4900. (22910)210 648 A
  4901. 1068(*/)S
  4902. 5490 V
  4903. (22911)210 648 A
  4904. 5580 V
  4905. (22912)210 648 A
  4906. (#include)336 1026 A
  4907. ("fs.h")252 1404 A
  4908. 5670 V
  4909. (22913)210 648 A
  4910. (#include)336 1026 A
  4911. (<sys/stat.h>)504 1404 A
  4912. 5760 V
  4913. (22914)210 648 A
  4914. (#include)336 1026 A
  4915. (<fcntl.h>)378 1404 A
  4916. 5850 V
  4917. (22915)210 648 A
  4918. (#include)336 1026 A
  4919. (<minix/callnr.h>)672 1404 A
  4920. 5940 V
  4921. (22916)210 648 A
  4922. (#include)336 1026 A
  4923. (<minix/com.h>)546 1404 A
  4924. 6030 V
  4925. (22917)210 648 A
  4926. (#include)336 1026 A
  4927. ("buf.h")294 1404 A
  4928. 6120 V
  4929. (22918)210 648 A
  4930. (#include)336 1026 A
  4931. ("dev.h")294 1404 A
  4932. 6210 V
  4933. (22919)210 648 A
  4934. (#include)336 1026 A
  4935. ("file.h")336 1404 A
  4936. 8418 V
  4937. EP
  4938. %%Page: 313 313
  4939. BP
  4940. /slant 0 def
  4941. /height 0 def
  4942. 630 V
  4943. 10 R
  4944. 648(MINIX)S
  4945. 976(SOURCE)S
  4946. 1399(CODE)S
  4947. 11 R
  4948. 2139(File:)S
  4949. 2372(src/fs/open.c)S
  4950. 12 B
  4951. (313)180 4248 A
  4952. 900 V
  4953. 7 LST
  4954. (22920)210 648 A
  4955. (#include)336 1026 A
  4956. ("fproc.h")378 1404 A
  4957. 990 V
  4958. (22921)210 648 A
  4959. (#include)336 1026 A
  4960. ("inode.h")378 1404 A
  4961. 1080 V
  4962. (22922)210 648 A
  4963. (#include)336 1026 A
  4964. ("lock.h")336 1404 A
  4965. 1170 V
  4966. (22923)210 648 A
  4967. (#include)336 1026 A
  4968. ("param.h")378 1404 A
  4969. 1260 V
  4970. (22924)210 648 A
  4971. 1350 V
  4972. (22925)210 648 A
  4973. (PRIVATE)294 1026 A
  4974. (message)294 1362 A
  4975. (dev_mess;)378 1698 A
  4976. 1440 V
  4977. (22926)210 648 A
  4978. (PRIVATE)294 1026 A
  4979. (char)168 1362 A
  4980. (mode_map[])420 1572 A
  4981. 2034(=)S
  4982. ({R_BIT,)294 2118 A
  4983. (W_BIT,)252 2454 A
  4984. (R_BIT|W_BIT,)504 2748 A
  4985. (0};)126 3294 A
  4986. 1530 V
  4987. (22927)210 648 A
  4988. 1620 V
  4989. (22928)210 648 A
  4990. (FORWARD)294 1026 A
  4991. (_PROTOTYPE()462 1362 A
  4992. (int)126 1866 A
  4993. (common_open,)504 2034 A
  4994. ((int)168 2580 A
  4995. (oflags,)294 2790 A
  4996. (Mode_t)252 3126 A
  4997. (omode))252 3420 A
  4998. 4050();)S
  4999. 1710 V
  5000. (22929)210 648 A
  5001. (FORWARD)294 1026 A
  5002. (_PROTOTYPE()462 1362 A
  5003. (int)126 1866 A
  5004. (pipe_open,)420 2034 A
  5005. ((struct)294 2496 A
  5006. (inode)210 2832 A
  5007. (*rip,Mode_t)462 3084 A
  5008. (bits,int)336 3588 A
  5009. (oflags));)378 3966 A
  5010. 1800 V
  5011. (22930)210 648 A
  5012. (FORWARD)294 1026 A
  5013. (_PROTOTYPE()462 1362 A
  5014. (struct)252 1866 A
  5015. (inode)210 2160 A
  5016. (*new_node,)420 2412 A
  5017. ((char)210 2874 A
  5018. (*path,)252 3126 A
  5019. (Mode_t)252 3420 A
  5020. (bits,)210 3714 A
  5021. 1890 V
  5022. (22931)210 648 A
  5023. (zone_t)252 3378 A
  5024. (z0))126 3672 A
  5025. 4050();)S
  5026. 1980 V
  5027. (22932)210 648 A
  5028. 2070 V
  5029. (22933)210 648 A
  5030. 2160 V
  5031. (22934)210 648 A
  5032. (/*===========================================================================*)3276 1026 A
  5033. 2250 V
  5034. (22935)210 648 A
  5035. 1068(*)S
  5036. (do_creat)336 2370 A
  5037. 4260(*)S
  5038. 2340 V
  5039. (22936)210 648 A
  5040. (*===========================================================================*/)3276 1068 A
  5041. 2430 V
  5042. (22937)210 648 A
  5043. (PUBLIC)252 1026 A
  5044. (int)126 1320 A
  5045. (do_creat())420 1488 A
  5046. 2520 V
  5047. (22938)210 648 A
  5048. 1026({)S
  5049. 2610 V
  5050. (22939)210 648 A
  5051. 1026(/*)S
  5052. (Perform)294 1152 A
  5053. (the)126 1488 A
  5054. (creat(name,)462 1656 A
  5055. (mode))210 2160 A
  5056. (system)252 2412 A
  5057. (call.)210 2706 A
  5058. 2958(*/)S
  5059. 2700 V
  5060. (22940)210 648 A
  5061. (int)126 1110 A
  5062. 1278(r;)S
  5063. 2790 V
  5064. (22941)210 648 A
  5065. 2880 V
  5066. (22942)210 648 A
  5067. 1110(if)S
  5068. ((fetch_name(name,)714 1236 A
  5069. (name_length,)504 1992 A
  5070. (M3))126 2538 A
  5071. 2706(!=)S
  5072. (OK))126 2832 A
  5073. (return(err_code);)714 3000 A
  5074. 2970 V
  5075. (22943)210 648 A
  5076. 1110(r)S
  5077. 1194(=)S
  5078. (common_open(O_WRONLY)840 1278 A
  5079. 2160(|)S
  5080. (O_CREAT)294 2244 A
  5081. 2580(|)S
  5082. (O_TRUNC,)336 2664 A
  5083. ((mode_t))336 3042 A
  5084. (mode);)252 3420 A
  5085. 3060 V
  5086. (22944)210 648 A
  5087. (return(r);)420 1110 A
  5088. 3150 V
  5089. (22945)210 648 A
  5090. 1026(})S
  5091. 3420 V
  5092. (22948)210 648 A
  5093. (/*===========================================================================*)3276 1026 A
  5094. 3510 V
  5095. (22949)210 648 A
  5096. 1068(*)S
  5097. (do_open)294 2370 A
  5098. 4260(*)S
  5099. 3600 V
  5100. (22950)210 648 A
  5101. (*===========================================================================*/)3276 1068 A
  5102. 3690 V
  5103. (22951)210 648 A
  5104. (PUBLIC)252 1026 A
  5105. (int)126 1320 A
  5106. (do_open())378 1488 A
  5107. 3780 V
  5108. (22952)210 648 A
  5109. 1026({)S
  5110. 3870 V
  5111. (22953)210 648 A
  5112. 1026(/*)S
  5113. (Perform)294 1152 A
  5114. (the)126 1488 A
  5115. (open(name,)420 1656 A
  5116. (flags,...))420 2118 A
  5117. (system)252 2580 A
  5118. (call.)210 2874 A
  5119. 3126(*/)S
  5120. 3960 V
  5121. (22954)210 648 A
  5122. 4050 V
  5123. (22955)210 648 A
  5124. (int)126 1110 A
  5125. (create_mode)462 1278 A
  5126. 1782(=)S
  5127. 1866(0;)S
  5128. 2370(/*)S
  5129. 2496(is)S
  5130. (really)252 2622 A
  5131. (mode_t)252 2916 A
  5132. (but)126 3210 A
  5133. (this)168 3378 A
  5134. (gives)210 3588 A
  5135. (problems)336 3840 A
  5136. 4218(*/)S
  5137. 4140 V
  5138. (22956)210 648 A
  5139. (int)126 1110 A
  5140. 1278(r;)S
  5141. 4230 V
  5142. (22957)210 648 A
  5143. 4320 V
  5144. (22958)210 648 A
  5145. 1110(/*)S
  5146. 1236(If)S
  5147. (O_CREAT)294 1362 A
  5148. 1698(is)S
  5149. (set,)168 1824 A
  5150. (open)168 2034 A
  5151. (has)126 2244 A
  5152. (three)210 2412 A
  5153. (parameters,)462 2664 A
  5154. (otherwise)378 3168 A
  5155. (two.)168 3588 A
  5156. 3798(*/)S
  5157. 4410 V
  5158. (22959)210 648 A
  5159. 1110(if)S
  5160. ((mode)210 1236 A
  5161. 1488(&)S
  5162. (O_CREAT))336 1572 A
  5163. 1950({)S
  5164. 4500 V
  5165. (22960)210 648 A
  5166. (create_mode)462 1362 A
  5167. 1866(=)S
  5168. (c_mode;)294 1950 A
  5169. 4590 V
  5170. (22961)210 648 A
  5171. 1362(r)S
  5172. 1446(=)S
  5173. (fetch_name(c_name,)756 1530 A
  5174. (name1_length,)546 2328 A
  5175. (M1);)168 2916 A
  5176. 4680 V
  5177. (22962)210 648 A
  5178. 1110(})S
  5179. (else)168 1194 A
  5180. 1404({)S
  5181. 4770 V
  5182. (22963)210 648 A
  5183. 1362(r)S
  5184. 1446(=)S
  5185. (fetch_name(name,)672 1530 A
  5186. (name_length,)504 2244 A
  5187. (M3);)168 2790 A
  5188. 4860 V
  5189. (22964)210 648 A
  5190. 1110(})S
  5191. 4950 V
  5192. (22965)210 648 A
  5193. 5040 V
  5194. (22966)210 648 A
  5195. 1110(if)S
  5196. 1236((r)S
  5197. 1362(!=)S
  5198. (OK))126 1488 A
  5199. (return(err_code);)714 1656 A
  5200. 2412(/*)S
  5201. (name)168 2538 A
  5202. (was)126 2748 A
  5203. (bad)126 2916 A
  5204. 3084(*/)S
  5205. 5130 V
  5206. (22967)210 648 A
  5207. 1110(r)S
  5208. 1194(=)S
  5209. (common_open(mode,)714 1278 A
  5210. (create_mode);)546 2034 A
  5211. 5220 V
  5212. (22968)210 648 A
  5213. (return(r);)420 1110 A
  5214. 5310 V
  5215. (22969)210 648 A
  5216. 1026(})S
  5217. 5580 V
  5218. (22972)210 648 A
  5219. (/*===========================================================================*)3276 1026 A
  5220. 5670 V
  5221. (22973)210 648 A
  5222. 1068(*)S
  5223. (common_open)462 2370 A
  5224. 4260(*)S
  5225. 5760 V
  5226. (22974)210 648 A
  5227. (*===========================================================================*/)3276 1068 A
  5228. 5850 V
  5229. (22975)210 648 A
  5230. (PRIVATE)294 1026 A
  5231. (int)126 1362 A
  5232. (common_open(oflags,)798 1530 A
  5233. (omode))252 2370 A
  5234. 5940 V
  5235. (22976)210 648 A
  5236. (register)336 1026 A
  5237. (int)126 1404 A
  5238. (oflags;)294 1572 A
  5239. 6030 V
  5240. (22977)210 648 A
  5241. (mode_t)252 1026 A
  5242. (omode;)252 1320 A
  5243. 6120 V
  5244. (22978)210 648 A
  5245. 1026({)S
  5246. 6210 V
  5247. (22979)210 648 A
  5248. 1026(/*)S
  5249. (Common)252 1152 A
  5250. (code)168 1446 A
  5251. (from)168 1656 A
  5252. (do_creat)336 1866 A
  5253. (and)126 2244 A
  5254. (do_open.)336 2412 A
  5255. 2790(*/)S
  5256. 8418 V
  5257. EP
  5258. %%Page: 314 314
  5259. BP
  5260. /slant 0 def
  5261. /height 0 def
  5262. 630 V
  5263. 12 B
  5264. (314)180 648 A
  5265. 11 R
  5266. 2139(File:)S
  5267. 2372(src/fs/open.c)S
  5268. 10 R
  5269. 3402(MINIX)S
  5270. 3730(SOURCE)S
  5271. 4153(CODE)S
  5272. 900 V
  5273. 7 LST
  5274. (22980)210 648 A
  5275. 990 V
  5276. (22981)210 648 A
  5277. (register)336 1110 A
  5278. (struct)252 1488 A
  5279. (inode)210 1782 A
  5280. (*rip;)210 2034 A
  5281. 1080 V
  5282. (22982)210 648 A
  5283. (int)126 1110 A
  5284. 1278(r,)S
  5285. 1404(b,)S
  5286. (major,)252 1530 A
  5287. (task,)210 1824 A
  5288. (exist)210 2076 A
  5289. 2328(=)S
  5290. (TRUE;)210 2412 A
  5291. 1170 V
  5292. (22983)210 648 A
  5293. (dev_t)210 1110 A
  5294. (dev;)168 1362 A
  5295. 1260 V
  5296. (22984)210 648 A
  5297. (mode_t)252 1110 A
  5298. (bits;)210 1404 A
  5299. 1350 V
  5300. (22985)210 648 A
  5301. (off_t)210 1110 A
  5302. (pos;)168 1362 A
  5303. 1440 V
  5304. (22986)210 648 A
  5305. (struct)252 1110 A
  5306. (filp)168 1404 A
  5307. (*fil_ptr,)378 1614 A
  5308. (*filp2;)294 2034 A
  5309. 1530 V
  5310. (22987)210 648 A
  5311. 1620 V
  5312. (22988)210 648 A
  5313. 1110(/*)S
  5314. (Remap)210 1236 A
  5315. (the)126 1488 A
  5316. (bottom)252 1656 A
  5317. (two)126 1950 A
  5318. (bits)168 2118 A
  5319. 2328(of)S
  5320. (oflags.)294 2454 A
  5321. 2790(*/)S
  5322. 1710 V
  5323. (22989)210 648 A
  5324. (bits)168 1110 A
  5325. 1320(=)S
  5326. ((mode_t))336 1404 A
  5327. (mode_map[oflags)630 1782 A
  5328. 2454(&)S
  5329. (O_ACCMODE];)462 2538 A
  5330. 1800 V
  5331. (22990)210 648 A
  5332. 1890 V
  5333. (22991)210 648 A
  5334. 1110(/*)S
  5335. (See)126 1236 A
  5336. 1404(if)S
  5337. (file)168 1530 A
  5338. (descriptor)420 1740 A
  5339. (and)126 2202 A
  5340. (filp)168 2370 A
  5341. (slots)210 2580 A
  5342. (are)126 2832 A
  5343. (available.)420 3000 A
  5344. 3462(*/)S
  5345. 1980 V
  5346. (22992)210 648 A
  5347. 1110(if)S
  5348. 1236(()S
  5349. 1320((r)S
  5350. 1446(=)S
  5351. (get_fd(0,)378 1530 A
  5352. (bits,)210 1950 A
  5353. (&fd,)168 2202 A
  5354. (&fil_ptr)))420 2412 A
  5355. 2874(!=)S
  5356. (OK))126 3000 A
  5357. (return(r);)420 3168 A
  5358. 2070 V
  5359. (22993)210 648 A
  5360. 2160 V
  5361. (22994)210 648 A
  5362. 1110(/*)S
  5363. 1236(If)S
  5364. (O_CREATE)336 1362 A
  5365. 1740(is)S
  5366. (set,)168 1866 A
  5367. (try)126 2076 A
  5368. 2244(to)S
  5369. (make)168 2370 A
  5370. (the)126 2580 A
  5371. (file.)210 2748 A
  5372. 3000(*/)S
  5373. 2250 V
  5374. (22995)210 648 A
  5375. 1110(if)S
  5376. ((oflags)294 1236 A
  5377. 1572(&)S
  5378. (O_CREAT))336 1656 A
  5379. 2034({)S
  5380. 2340 V
  5381. (22996)210 648 A
  5382. 1362(/*)S
  5383. (Create)252 1488 A
  5384. 1782(a)S
  5385. (new)126 1866 A
  5386. (inode)210 2034 A
  5387. 2286(by)S
  5388. (calling)294 2412 A
  5389. (new_node().)462 2748 A
  5390. 3252(*/)S
  5391. 2430 V
  5392. (22997)210 648 A
  5393. (omode)210 1362 A
  5394. 1614(=)S
  5395. (I_REGULAR)378 1698 A
  5396. 2118(|)S
  5397. ((omode)252 2202 A
  5398. 2496(&)S
  5399. (ALL_MODES)378 2580 A
  5400. 3000(&)S
  5401. (fp->fp_umask);)588 3084 A
  5402. 2520 V
  5403. (22998)210 648 A
  5404. (rip)126 1362 A
  5405. 1530(=)S
  5406. (new_node(user_path,)798 1614 A
  5407. (omode,)252 2454 A
  5408. (NO_ZONE);)378 2748 A
  5409. 2610 V
  5410. (22999)210 648 A
  5411. 1362(r)S
  5412. 1446(=)S
  5413. (err_code;)378 1530 A
  5414. 2700 V
  5415. (23000)210 648 A
  5416. 1362(if)S
  5417. 1488((r)S
  5418. 1614(==)S
  5419. (OK))126 1740 A
  5420. (exist)210 1908 A
  5421. 2160(=)S
  5422. (FALSE;)252 2244 A
  5423. 2748(/*)S
  5424. 2874(we)S
  5425. (just)168 3000 A
  5426. (created)294 3210 A
  5427. (the)126 3546 A
  5428. (file)168 3714 A
  5429. 3924(*/)S
  5430. 2790 V
  5431. (23001)210 648 A
  5432. (else)168 1362 A
  5433. 1572(if)S
  5434. 1698((r)S
  5435. 1824(!=)S
  5436. (EEXIST))294 1950 A
  5437. (return(r);)420 2286 A
  5438. 2748(/*)S
  5439. (other)210 2874 A
  5440. (error)210 3126 A
  5441. 3378(*/)S
  5442. 2880 V
  5443. (23002)210 648 A
  5444. (else)168 1362 A
  5445. (exist)210 1572 A
  5446. 1824(=)S
  5447. (!(oflags)336 1908 A
  5448. 2286(&)S
  5449. (O_EXCL);)336 2370 A
  5450. 2748(/*)S
  5451. (file)168 2874 A
  5452. (exists,)294 3084 A
  5453. 3420(if)S
  5454. (the)126 3546 A
  5455. (O_EXCL)252 3714 A
  5456. 2970 V
  5457. (23003)210 648 A
  5458. (flag)168 2874 A
  5459. 3084(is)S
  5460. (set)126 3210 A
  5461. (this)168 3378 A
  5462. 3588(is)S
  5463. 3714(an)S
  5464. (error)210 3840 A
  5465. 4092(*/)S
  5466. 3060 V
  5467. (23004)210 648 A
  5468. 1110(})S
  5469. (else)168 1194 A
  5470. 1404({)S
  5471. 3150 V
  5472. (23005)210 648 A
  5473. 1404(/*)S
  5474. (Scan)168 1530 A
  5475. (path)168 1740 A
  5476. (name.)210 1950 A
  5477. 2202(*/)S
  5478. 3240 V
  5479. (23006)210 648 A
  5480. 1362(if)S
  5481. 1488(()S
  5482. ((rip)168 1572 A
  5483. 1782(=)S
  5484. (eat_path(user_path)))840 1866 A
  5485. 2748(==)S
  5486. (NIL_INODE))420 2874 A
  5487. (return(err_code);)714 3336 A
  5488. 3330 V
  5489. (23007)210 648 A
  5490. 1110(})S
  5491. 3420 V
  5492. (23008)210 648 A
  5493. 3510 V
  5494. (23009)210 648 A
  5495. 1110(/*)S
  5496. (Claim)210 1236 A
  5497. (the)126 1488 A
  5498. (file)168 1656 A
  5499. (descriptor)420 1866 A
  5500. (and)126 2328 A
  5501. (filp)168 2496 A
  5502. (slot)168 2706 A
  5503. (and)126 2916 A
  5504. (fill)168 3084 A
  5505. (them)168 3294 A
  5506. (in.)126 3504 A
  5507. 3672(*/)S
  5508. 3600 V
  5509. (23010)210 648 A
  5510. (fp->fp_filp[fd])630 1110 A
  5511. 1782(=)S
  5512. (fil_ptr;)336 1866 A
  5513. 3690 V
  5514. (23011)210 648 A
  5515. (fil_ptr->filp_count)798 1110 A
  5516. 1950(=)S
  5517. 2034(1;)S
  5518. 3780 V
  5519. (23012)210 648 A
  5520. (fil_ptr->filp_ino)714 1110 A
  5521. 1866(=)S
  5522. (rip;)168 1950 A
  5523. 3870 V
  5524. (23013)210 648 A
  5525. (fil_ptr->filp_flags)798 1110 A
  5526. 1950(=)S
  5527. (oflags;)294 2034 A
  5528. 3960 V
  5529. (23014)210 648 A
  5530. 4050 V
  5531. (23015)210 648 A
  5532. 1110(/*)S
  5533. (Only)168 1236 A
  5534. 1446(do)S
  5535. (the)126 1572 A
  5536. (normal)252 1740 A
  5537. (open)168 2034 A
  5538. (code)168 2244 A
  5539. 2454(if)S
  5540. 2580(we)S
  5541. (didn't)252 2706 A
  5542. (just)168 3000 A
  5543. (create)252 3210 A
  5544. (the)126 3504 A
  5545. (file.)210 3672 A
  5546. 3924(*/)S
  5547. 4140 V
  5548. (23016)210 648 A
  5549. 1110(if)S
  5550. ((exist))294 1236 A
  5551. 1572({)S
  5552. 4230 V
  5553. (23017)210 648 A
  5554. 1362(/*)S
  5555. (Check)210 1488 A
  5556. (protections.)504 1740 A
  5557. 2286(*/)S
  5558. 4320 V
  5559. (23018)210 648 A
  5560. 1362(if)S
  5561. (((r)126 1488 A
  5562. 1656(=)S
  5563. (forbidden(rip,)588 1740 A
  5564. (bits)))252 2370 A
  5565. 2664(==)S
  5566. (OK))126 2790 A
  5567. 2958({)S
  5568. 4410 V
  5569. (23019)210 648 A
  5570. 1698(/*)S
  5571. (Opening)294 1824 A
  5572. (reg.)168 2160 A
  5573. (files)210 2370 A
  5574. (directories)462 2622 A
  5575. (and)126 3126 A
  5576. (special)294 3294 A
  5577. (files)210 3630 A
  5578. (differ.)294 3882 A
  5579. 4218(*/)S
  5580. 4500 V
  5581. (23020)210 648 A
  5582. (switch)252 1698 A
  5583. ((rip->i_mode)504 1992 A
  5584. 2538(&)S
  5585. (I_TYPE))294 2622 A
  5586. 2958({)S
  5587. 4590 V
  5588. (23021)210 648 A
  5589. (case)168 1824 A
  5590. (I_REGULAR:)420 2034 A
  5591. 4680 V
  5592. (23022)210 648 A
  5593. 2034(/*)S
  5594. (Truncate)336 2160 A
  5595. (regular)294 2538 A
  5596. (file)168 2874 A
  5597. 3084(if)S
  5598. (O_TRUNC.)336 3210 A
  5599. 3588(*/)S
  5600. 4770 V
  5601. (23023)210 648 A
  5602. 2034(if)S
  5603. ((oflags)294 2160 A
  5604. 2496(&)S
  5605. (O_TRUNC))336 2580 A
  5606. 2958({)S
  5607. 4860 V
  5608. (23024)210 648 A
  5609. 2370(if)S
  5610. (((r)126 2496 A
  5611. 2664(=)S
  5612. (forbidden(rip,)588 2748 A
  5613. (W_BIT)))294 3378 A
  5614. (!=OK))210 3714 A
  5615. (break;)252 3966 A
  5616. 4950 V
  5617. (23025)210 648 A
  5618. (truncate(rip);)588 2370 A
  5619. 5040 V
  5620. (23026)210 648 A
  5621. (wipe_inode(rip);)672 2370 A
  5622. 5130 V
  5623. (23027)210 648 A
  5624. 2370(/*)S
  5625. (Send)168 2496 A
  5626. (the)126 2706 A
  5627. (inode)210 2874 A
  5628. (from)168 3126 A
  5629. (the)126 3336 A
  5630. (inode)210 3504 A
  5631. (cache)210 3756 A
  5632. 4008(to)S
  5633. (the)126 4134 A
  5634. 5220 V
  5635. (23028)210 648 A
  5636. 2412(*)S
  5637. (block)210 2496 A
  5638. (cache,)252 2748 A
  5639. 3042(so)S
  5640. 3168(it)S
  5641. (gets)168 3294 A
  5642. (written)294 3504 A
  5643. 3840(on)S
  5644. (the)126 3966 A
  5645. (next)168 4134 A
  5646. 5310 V
  5647. (23029)210 648 A
  5648. 2412(*)S
  5649. (cache)210 2496 A
  5650. (flush.)252 2748 A
  5651. 5400 V
  5652. (23030)210 648 A
  5653. 2412(*/)S
  5654. 5490 V
  5655. (23031)210 648 A
  5656. (rw_inode(rip,)546 2370 A
  5657. (WRITING);)378 2958 A
  5658. 5580 V
  5659. (23032)210 648 A
  5660. 2034(})S
  5661. 5670 V
  5662. (23033)210 648 A
  5663. (break;)252 2034 A
  5664. 5760 V
  5665. (23034)210 648 A
  5666. 5850 V
  5667. (23035)210 648 A
  5668. (case)168 1824 A
  5669. (I_DIRECTORY:)504 2034 A
  5670. 5940 V
  5671. (23036)210 648 A
  5672. 2034(/*)S
  5673. (Directories)462 2160 A
  5674. (may)126 2664 A
  5675. 2832(be)S
  5676. (read)168 2958 A
  5677. (but)126 3168 A
  5678. (not)126 3336 A
  5679. (written.)336 3504 A
  5680. 3882(*/)S
  5681. 6030 V
  5682. (23037)210 648 A
  5683. 2034(r)S
  5684. 2118(=)S
  5685. ((bits)210 2202 A
  5686. 2454(&)S
  5687. (W_BIT)210 2538 A
  5688. 2790(?)S
  5689. (EISDIR)252 2874 A
  5690. 3168(:)S
  5691. (OK);)168 3252 A
  5692. 6120 V
  5693. (23038)210 648 A
  5694. (break;)252 2034 A
  5695. 6210 V
  5696. (23039)210 648 A
  5697. 8418 V
  5698. EP
  5699. %%Page: 315 315
  5700. BP
  5701. /slant 0 def
  5702. /height 0 def
  5703. 630 V
  5704. 10 R
  5705. 648(MINIX)S
  5706. 976(SOURCE)S
  5707. 1399(CODE)S
  5708. 11 R
  5709. 2139(File:)S
  5710. 2372(src/fs/open.c)S
  5711. 12 B
  5712. (315)180 4248 A
  5713. 900 V
  5714. 7 LST
  5715. (23040)210 648 A
  5716. (case)168 1824 A
  5717. (I_CHAR_SPECIAL:)630 2034 A
  5718. 990 V
  5719. (23041)210 648 A
  5720. (case)168 1824 A
  5721. (I_BLOCK_SPECIAL:)672 2034 A
  5722. 1080 V
  5723. (23042)210 648 A
  5724. 2034(/*)S
  5725. (Invoke)252 2160 A
  5726. (the)126 2454 A
  5727. (driver)252 2622 A
  5728. (for)126 2916 A
  5729. (special)294 3084 A
  5730. (processing.)462 3420 A
  5731. 3924(*/)S
  5732. 1170 V
  5733. (23043)210 648 A
  5734. (dev_mess.m_type)630 2034 A
  5735. 2706(=)S
  5736. (DEV_OPEN;)378 2790 A
  5737. 1260 V
  5738. (23044)210 648 A
  5739. (dev)126 2034 A
  5740. 2202(=)S
  5741. ((dev_t))294 2286 A
  5742. (rip->i_zone[0];)630 2622 A
  5743. 1350 V
  5744. (23045)210 648 A
  5745. (dev_mess.DEVICE)630 2034 A
  5746. 2706(=)S
  5747. (dev;)168 2790 A
  5748. 1440 V
  5749. (23046)210 648 A
  5750. (dev_mess.COUNT)588 2034 A
  5751. 2664(=)S
  5752. (bits)168 2748 A
  5753. 2958(|)S
  5754. ((oflags)294 3042 A
  5755. 3378(&)S
  5756. (304O_ACCMODE);)504 3462 A
  5757. 1530 V
  5758. (23047)210 648 A
  5759. (major)210 2034 A
  5760. 2286(=)S
  5761. ((dev)168 2370 A
  5762. 2580(>>)S
  5763. (MAJOR))252 2706 A
  5764. 3000(&)S
  5765. (BYTE;)210 3084 A
  5766. 3378(/*)S
  5767. (major)210 3504 A
  5768. (device)252 3756 A
  5769. 4050(nr)S
  5770. 4176(*/)S
  5771. 1620 V
  5772. (23048)210 648 A
  5773. 2034(if)S
  5774. ((major)252 2160 A
  5775. 2454(<=)S
  5776. 2580(0)S
  5777. 2664(||)S
  5778. (major)210 2790 A
  5779. 3042(>=)S
  5780. (max_major))420 3168 A
  5781. 3630({)S
  5782. 1710 V
  5783. (23049)210 648 A
  5784. 2370(r)S
  5785. 2454(=)S
  5786. (ENODEV;)294 2538 A
  5787. 1800 V
  5788. (23050)210 648 A
  5789. (break;)252 2370 A
  5790. 1890 V
  5791. (23051)210 648 A
  5792. 2034(})S
  5793. 1980 V
  5794. (23052)210 648 A
  5795. (task)168 2034 A
  5796. 2244(=)S
  5797. (dmap[major].dmap_task;)924 2328 A
  5798. 3378(/*)S
  5799. (device)252 3504 A
  5800. (task)168 3798 A
  5801. 4008(nr)S
  5802. 4134(*/)S
  5803. 2070 V
  5804. (23053)210 648 A
  5805. ((*dmap[major].dmap_open)(task,)1260 2034 A
  5806. (&dev_mess);)462 3336 A
  5807. 2160 V
  5808. (23054)210 648 A
  5809. 2034(r)S
  5810. 2118(=)S
  5811. (dev_mess.REP_STATUS;)840 2202 A
  5812. 2250 V
  5813. (23055)210 648 A
  5814. (break;)252 2034 A
  5815. 2340 V
  5816. (23056)210 648 A
  5817. 2430 V
  5818. (23057)210 648 A
  5819. (case)168 1824 A
  5820. (I_NAMED_PIPE:)546 2034 A
  5821. 2520 V
  5822. (23058)210 648 A
  5823. (oflags)252 2034 A
  5824. 2328(|=)S
  5825. (O_APPEND;)378 2454 A
  5826. 3042(/*)S
  5827. (force)210 3168 A
  5828. (append)252 3420 A
  5829. (mode)168 3714 A
  5830. 3924(*/)S
  5831. 2610 V
  5832. (23059)210 648 A
  5833. (fil_ptr->filp_flags)798 2034 A
  5834. 2874(=)S
  5835. (oflags;)294 2958 A
  5836. 2700 V
  5837. (23060)210 648 A
  5838. 2034(r)S
  5839. 2118(=)S
  5840. (pipe_open(rip,)588 2202 A
  5841. (bits,)210 2832 A
  5842. (oflags);)336 3084 A
  5843. 2790 V
  5844. (23061)210 648 A
  5845. 2034(if)S
  5846. 2160((r)S
  5847. 2286(==)S
  5848. (OK))126 2412 A
  5849. 2580({)S
  5850. 2880 V
  5851. (23062)210 648 A
  5852. 2370(/*)S
  5853. (See)126 2496 A
  5854. 2664(if)S
  5855. (someone)294 2790 A
  5856. (else)168 3126 A
  5857. 3336(is)S
  5858. (doing)210 3462 A
  5859. 3714(a)S
  5860. 3798(rd)S
  5861. 3924(or)S
  5862. 4050(wt)S
  5863. 4176(on)S
  5864. 2970 V
  5865. (23063)210 648 A
  5866. 2412(*)S
  5867. (the)126 2496 A
  5868. (FIFO.)210 2664 A
  5869. 2958(If)S
  5870. (so,)126 3084 A
  5871. (use)126 3252 A
  5872. (its)126 3420 A
  5873. (filp)168 3588 A
  5874. (entry)210 3798 A
  5875. 4050(so)S
  5876. (the)126 4176 A
  5877. 3060 V
  5878. (23064)210 648 A
  5879. 2412(*)S
  5880. (file)168 2496 A
  5881. (position)336 2706 A
  5882. (will)168 3084 A
  5883. 3294(be)S
  5884. (automatically)546 3420 A
  5885. (shared.)294 4008 A
  5886. 3150 V
  5887. (23065)210 648 A
  5888. 2412(*/)S
  5889. 3240 V
  5890. (23066)210 648 A
  5891. 2370(b)S
  5892. 2454(=)S
  5893. ((bits)210 2538 A
  5894. 2790(&)S
  5895. (R_BIT)210 2874 A
  5896. 3126(?)S
  5897. (R_BIT)210 3210 A
  5898. 3462(:)S
  5899. (W_BIT);)294 3546 A
  5900. 3330 V
  5901. (23067)210 648 A
  5902. (fil_ptr->filp_count)798 2370 A
  5903. 3210(=)S
  5904. 3294(0;)S
  5905. 3420(/*)S
  5906. (don't)210 3546 A
  5907. (find)168 3798 A
  5908. (self)168 4008 A
  5909. 4218(*/)S
  5910. 3420 V
  5911. (23068)210 648 A
  5912. 2370(if)S
  5913. (((filp2)294 2496 A
  5914. 2832(=)S
  5915. (find_filp(rip,)588 2916 A
  5916. (b)))126 3546 A
  5917. 3714(!=)S
  5918. (NIL_FILP))378 3840 A
  5919. 4260({)S
  5920. 3510 V
  5921. (23069)210 648 A
  5922. 2706(/*)S
  5923. (Co-reader)378 2832 A
  5924. 3252(or)S
  5925. (writer)252 3378 A
  5926. (found.)252 3672 A
  5927. (Use)126 3966 A
  5928. (it.*/)210 4134 A
  5929. 3600 V
  5930. (23070)210 648 A
  5931. (fp->fp_filp[fd])630 2706 A
  5932. 3378(=)S
  5933. (filp2;)252 3462 A
  5934. 3690 V
  5935. (23071)210 648 A
  5936. (filp2->filp_count++;)840 2706 A
  5937. 3780 V
  5938. (23072)210 648 A
  5939. (filp2->filp_ino)630 2706 A
  5940. 3378(=)S
  5941. (rip;)168 3462 A
  5942. 3870 V
  5943. (23073)210 648 A
  5944. (filp2->filp_flags)714 2706 A
  5945. 3462(=)S
  5946. (oflags;)294 3546 A
  5947. 3960 V
  5948. (23074)210 648 A
  5949. 4050 V
  5950. (23075)210 648 A
  5951. 2706(/*)S
  5952. (i_count)294 2832 A
  5953. (was)126 3168 A
  5954. (incremented)462 3336 A
  5955. (incorrectly)462 3840 A
  5956. 4140 V
  5957. (23076)210 648 A
  5958. 2748(*)S
  5959. 2832(by)S
  5960. (eatpath)294 2958 A
  5961. (above,)252 3294 A
  5962. (not)126 3588 A
  5963. (knowing)294 3756 A
  5964. (that)168 4092 A
  5965. 4230 V
  5966. (23077)210 648 A
  5967. 2748(*)S
  5968. 2832(we)S
  5969. (were)168 2958 A
  5970. (going)210 3168 A
  5971. 3420(to)S
  5972. (use)126 3546 A
  5973. 3714(an)S
  5974. (existing)336 3840 A
  5975. 4320 V
  5976. (23078)210 648 A
  5977. 2748(*)S
  5978. (filp)168 2832 A
  5979. (entry.)252 3042 A
  5980. (Correct)294 3378 A
  5981. (this)168 3714 A
  5982. (error.)252 3924 A
  5983. 4410 V
  5984. (23079)210 648 A
  5985. 2748(*/)S
  5986. 4500 V
  5987. (23080)210 648 A
  5988. (rip->i_count--;)630 2706 A
  5989. 4590 V
  5990. (23081)210 648 A
  5991. 2370(})S
  5992. (else)168 2454 A
  5993. 2664({)S
  5994. 4680 V
  5995. (23082)210 648 A
  5996. 2706(/*)S
  5997. (Nobody)252 2832 A
  5998. (else)168 3126 A
  5999. (found.)252 3336 A
  6000. (Restore)294 3672 A
  6001. (filp.)210 4008 A
  6002. 4260(*/)S
  6003. 4770 V
  6004. (23083)210 648 A
  6005. (fil_ptr->filp_count)798 2706 A
  6006. 3546(=)S
  6007. 3630(1;)S
  6008. 4860 V
  6009. (23084)210 648 A
  6010. 2706(if)S
  6011. 2832((b)S
  6012. 2958(==)S
  6013. (R_BIT))252 3084 A
  6014. 4950 V
  6015. (23085)210 648 A
  6016. (pos)126 2916 A
  6017. 3084(=)S
  6018. (rip->i_zone[V2_NR_DZONES+1];)1176 3168 A
  6019. 5040 V
  6020. (23086)210 648 A
  6021. (else)168 2706 A
  6022. 5130 V
  6023. (23087)210 648 A
  6024. (pos)126 2916 A
  6025. 3084(=)S
  6026. (rip->i_zone[V2_NR_DZONES+2];)1176 3168 A
  6027. 5220 V
  6028. (23088)210 648 A
  6029. (fil_ptr->filp_pos)714 2706 A
  6030. 3462(=)S
  6031. (pos;)168 3546 A
  6032. 5310 V
  6033. (23089)210 648 A
  6034. 2370(})S
  6035. 5400 V
  6036. (23090)210 648 A
  6037. 2034(})S
  6038. 5490 V
  6039. (23091)210 648 A
  6040. (break;)252 2034 A
  6041. 5580 V
  6042. (23092)210 648 A
  6043. 1698(})S
  6044. 5670 V
  6045. (23093)210 648 A
  6046. 1362(})S
  6047. 5760 V
  6048. (23094)210 648 A
  6049. 1110(})S
  6050. 5850 V
  6051. (23095)210 648 A
  6052. 5940 V
  6053. (23096)210 648 A
  6054. 1110(/*)S
  6055. 1236(If)S
  6056. (error,)252 1362 A
  6057. (release)294 1656 A
  6058. (inode.)252 1992 A
  6059. 2286(*/)S
  6060. 6030 V
  6061. (23097)210 648 A
  6062. 1110(if)S
  6063. 1236((r)S
  6064. 1362(!=)S
  6065. (OK))126 1488 A
  6066. 1656({)S
  6067. 6120 V
  6068. (23098)210 648 A
  6069. (fp->fp_filp[fd])630 1362 A
  6070. 2034(=)S
  6071. (NIL_FILP;)378 2118 A
  6072. 6210 V
  6073. (23099)210 648 A
  6074. (fil_ptr->filp_count=)840 1362 A
  6075. 2244(0;)S
  6076. 8418 V
  6077. EP
  6078. %%Page: 316 316
  6079. BP
  6080. /slant 0 def
  6081. /height 0 def
  6082. 630 V
  6083. 12 B
  6084. (316)180 648 A
  6085. 11 R
  6086. 2139(File:)S
  6087. 2372(src/fs/open.c)S
  6088. 10 R
  6089. 3402(MINIX)S
  6090. 3730(SOURCE)S
  6091. 4153(CODE)S
  6092. 900 V
  6093. 7 LST
  6094. (23100)210 648 A
  6095. (put_inode(rip);)630 1362 A
  6096. 990 V
  6097. (23101)210 648 A
  6098. (return(r);)420 1362 A
  6099. 1080 V
  6100. (23102)210 648 A
  6101. 1110(})S
  6102. 1170 V
  6103. (23103)210 648 A
  6104. 1260 V
  6105. (23104)210 648 A
  6106. (return(fd);)462 1110 A
  6107. 1350 V
  6108. (23105)210 648 A
  6109. 1026(})S
  6110. 1620 V
  6111. (23108)210 648 A
  6112. (/*===========================================================================*)3276 1026 A
  6113. 1710 V
  6114. (23109)210 648 A
  6115. 1068(*)S
  6116. (new_node)336 2370 A
  6117. 4260(*)S
  6118. 1800 V
  6119. (23110)210 648 A
  6120. (*===========================================================================*/)3276 1068 A
  6121. 1890 V
  6122. (23111)210 648 A
  6123. (PRIVATE)294 1026 A
  6124. (struct)252 1362 A
  6125. (inode)210 1656 A
  6126. (*new_node(path,)630 1908 A
  6127. (bits,)210 2580 A
  6128. (z0))126 2832 A
  6129. 1980 V
  6130. (23112)210 648 A
  6131. (char)168 1026 A
  6132. (*path;)252 1236 A
  6133. 2370(/*)S
  6134. (pointer)294 2496 A
  6135. 2832(to)S
  6136. (path)168 2958 A
  6137. (name)168 3168 A
  6138. 3378(*/)S
  6139. 2070 V
  6140. (23113)210 648 A
  6141. (mode_t)252 1026 A
  6142. (bits;)210 1320 A
  6143. 2370(/*)S
  6144. (mode)168 2496 A
  6145. 2706(of)S
  6146. (the)126 2832 A
  6147. (new)126 3000 A
  6148. (inode)210 3168 A
  6149. 3420(*/)S
  6150. 2160 V
  6151. (23114)210 648 A
  6152. (zone_t)252 1026 A
  6153. (z0;)126 1320 A
  6154. 2370(/*)S
  6155. (zone)168 2496 A
  6156. (number)252 2706 A
  6157. 3000(0)S
  6158. (for)126 3084 A
  6159. (new)126 3252 A
  6160. (inode)210 3420 A
  6161. 3672(*/)S
  6162. 2250 V
  6163. (23115)210 648 A
  6164. 1026({)S
  6165. 2340 V
  6166. (23116)210 648 A
  6167. 1026(/*)S
  6168. (New_node())420 1152 A
  6169. 1614(is)S
  6170. (called)252 1740 A
  6171. 2034(by)S
  6172. (common_open(),)588 2160 A
  6173. (do_mknod(),)462 2790 A
  6174. (and)126 3294 A
  6175. (do_mkdir().)462 3462 A
  6176. 2430 V
  6177. (23117)210 648 A
  6178. 1068(*)S
  6179. 1152(In)S
  6180. (all)126 1278 A
  6181. (cases)210 1446 A
  6182. 1698(it)S
  6183. (allocates)378 1824 A
  6184. 2244(a)S
  6185. (new)126 2328 A
  6186. (inode,)252 2496 A
  6187. (makes)210 2790 A
  6188. 3042(a)S
  6189. (directory)378 3126 A
  6190. (entry)210 3546 A
  6191. (for)126 3798 A
  6192. 3966(it)S
  6193. 4092(on)S
  6194. 2520 V
  6195. (23118)210 648 A
  6196. 1068(*)S
  6197. (the)126 1152 A
  6198. (path)168 1320 A
  6199. ('path',)294 1530 A
  6200. (and)126 1866 A
  6201. (initializes)462 2034 A
  6202. (it.)126 2538 A
  6203. 2748(It)S
  6204. (returns)294 2874 A
  6205. 3210(a)S
  6206. (pointer)294 3294 A
  6207. 3630(to)S
  6208. (the)126 3756 A
  6209. (inode)210 3924 A
  6210. 4176(if)S
  6211. 2610 V
  6212. (23119)210 648 A
  6213. 1068(*)S
  6214. 1152(it)S
  6215. (can)126 1278 A
  6216. 1446(do)S
  6217. (this;)210 1572 A
  6218. (otherwise)378 1824 A
  6219. 2244(it)S
  6220. (returns)294 2370 A
  6221. (NIL_INODE.)420 2706 A
  6222. 3210(It)S
  6223. (always)252 3336 A
  6224. (sets)168 3630 A
  6225. ('err_code')420 3840 A
  6226. 2700 V
  6227. (23120)210 648 A
  6228. 1068(*)S
  6229. 1152(to)S
  6230. 1278(an)S
  6231. (appropriate)462 1404 A
  6232. (value)210 1908 A
  6233. ((OK)126 2160 A
  6234. 2328(or)S
  6235. 2454(an)S
  6236. (error)210 2580 A
  6237. (code).)252 2832 A
  6238. 2790 V
  6239. (23121)210 648 A
  6240. 1068(*/)S
  6241. 2880 V
  6242. (23122)210 648 A
  6243. 2970 V
  6244. (23123)210 648 A
  6245. (register)336 1110 A
  6246. (struct)252 1488 A
  6247. (inode)210 1782 A
  6248. (*rlast_dir_ptr,)630 2034 A
  6249. (*rip;)210 2706 A
  6250. 3060 V
  6251. (23124)210 648 A
  6252. (register)336 1110 A
  6253. (int)126 1488 A
  6254. 1656(r;)S
  6255. 3150 V
  6256. (23125)210 648 A
  6257. (char)168 1110 A
  6258. (string[NAME_MAX];)714 1320 A
  6259. 3240 V
  6260. (23126)210 648 A
  6261. 3330 V
  6262. (23127)210 648 A
  6263. 1110(/*)S
  6264. (See)126 1236 A
  6265. 1404(if)S
  6266. (the)126 1530 A
  6267. (path)168 1698 A
  6268. (can)126 1908 A
  6269. 2076(be)S
  6270. (opened)252 2202 A
  6271. (down)168 2496 A
  6272. 2706(to)S
  6273. (the)126 2832 A
  6274. (last)168 3000 A
  6275. (directory.)420 3210 A
  6276. 3672(*/)S
  6277. 3420 V
  6278. (23128)210 648 A
  6279. 1110(if)S
  6280. (((rlast_dir_ptr)630 1236 A
  6281. 1908(=)S
  6282. (last_dir(path,)588 1992 A
  6283. (string)))336 2622 A
  6284. 3000(==)S
  6285. (NIL_INODE))420 3126 A
  6286. (return(NIL_INODE);)756 3588 A
  6287. 3510 V
  6288. (23129)210 648 A
  6289. 3600 V
  6290. (23130)210 648 A
  6291. 1110(/*)S
  6292. (The)126 1236 A
  6293. (final)210 1404 A
  6294. (directory)378 1656 A
  6295. 2076(is)S
  6296. (accessible.)462 2202 A
  6297. (Get)126 2706 A
  6298. (final)210 2874 A
  6299. (component)378 3126 A
  6300. 3546(of)S
  6301. (the)126 3672 A
  6302. (path.)210 3840 A
  6303. 4092(*/)S
  6304. 3690 V
  6305. (23131)210 648 A
  6306. (rip)126 1110 A
  6307. 1278(=)S
  6308. (advance(rlast_dir_ptr,)924 1362 A
  6309. (string);)336 2328 A
  6310. 3780 V
  6311. (23132)210 648 A
  6312. 1110(if)S
  6313. 1236(()S
  6314. (rip)126 1320 A
  6315. 1488(==)S
  6316. (NIL_INODE)378 1614 A
  6317. 2034(&&)S
  6318. (err_code)336 2160 A
  6319. 2538(==)S
  6320. (ENOENT))294 2664 A
  6321. 3000({)S
  6322. 3870 V
  6323. (23133)210 648 A
  6324. 1362(/*)S
  6325. (Last)168 1488 A
  6326. (path)168 1698 A
  6327. (component)378 1908 A
  6328. (does)168 2328 A
  6329. (not)126 2538 A
  6330. (exist.)252 2706 A
  6331. (Make)168 3042 A
  6332. (new)126 3252 A
  6333. (directory)378 3420 A
  6334. (entry.)252 3840 A
  6335. 4134(*/)S
  6336. 3960 V
  6337. (23134)210 648 A
  6338. 1362(if)S
  6339. 1488(()S
  6340. ((rip)168 1572 A
  6341. 1782(=)S
  6342. (alloc_inode(rlast_dir_ptr->i_dev,)1386 1866 A
  6343. (bits)))252 3294 A
  6344. 3588(==)S
  6345. (NIL_INODE))420 3714 A
  6346. 4176({)S
  6347. 4050 V
  6348. (23135)210 648 A
  6349. 1698(/*)S
  6350. (Can't)210 1824 A
  6351. (creat)210 2076 A
  6352. (new)126 2328 A
  6353. (inode:)252 2496 A
  6354. (out)126 2790 A
  6355. 2958(of)S
  6356. (inodes.)294 3084 A
  6357. 3420(*/)S
  6358. 4140 V
  6359. (23136)210 648 A
  6360. (put_inode(rlast_dir_ptr);)1050 1698 A
  6361. 4230 V
  6362. (23137)210 648 A
  6363. (return(NIL_INODE);)756 1698 A
  6364. 4320 V
  6365. (23138)210 648 A
  6366. 1362(})S
  6367. 4410 V
  6368. (23139)210 648 A
  6369. 4500 V
  6370. (23140)210 648 A
  6371. 1362(/*)S
  6372. (Force)210 1488 A
  6373. (inode)210 1740 A
  6374. 1992(to)S
  6375. (the)126 2118 A
  6376. (disk)168 2286 A
  6377. (before)252 2496 A
  6378. (making)252 2790 A
  6379. (directory)378 3084 A
  6380. (entry)210 3504 A
  6381. 3756(to)S
  6382. (make)168 3882 A
  6383. 4590 V
  6384. (23141)210 648 A
  6385. 1404(*)S
  6386. (the)126 1488 A
  6387. (system)252 1656 A
  6388. (more)168 1950 A
  6389. (robust)252 2160 A
  6390. 2454(in)S
  6391. (the)126 2580 A
  6392. (face)168 2748 A
  6393. 2958(of)S
  6394. 3084(a)S
  6395. (crash:)252 3168 A
  6396. 3462(an)S
  6397. (inode)210 3588 A
  6398. (with)168 3840 A
  6399. 4680 V
  6400. (23142)210 648 A
  6401. 1404(*)S
  6402. 1488(no)S
  6403. (directory)378 1614 A
  6404. (entry)210 2034 A
  6405. 2286(is)S
  6406. (much)168 2412 A
  6407. (better)252 2622 A
  6408. (than)168 2916 A
  6409. (the)126 3126 A
  6410. (opposite.)378 3294 A
  6411. 4770 V
  6412. (23143)210 648 A
  6413. 1404(*/)S
  6414. 4860 V
  6415. (23144)210 648 A
  6416. (rip->i_nlinks++;)672 1362 A
  6417. 4950 V
  6418. (23145)210 648 A
  6419. (rip->i_zone[0])588 1362 A
  6420. 1992(=)S
  6421. (z0;)126 2076 A
  6422. 2706(/*)S
  6423. (major/minor)462 2832 A
  6424. (device)252 3336 A
  6425. (numbers)294 3630 A
  6426. 3966(*/)S
  6427. 5040 V
  6428. (23146)210 648 A
  6429. (rw_inode(rip,)546 1362 A
  6430. (WRITING);)378 1950 A
  6431. 2706(/*)S
  6432. (force)210 2832 A
  6433. (inode)210 3084 A
  6434. 3336(to)S
  6435. (disk)168 3462 A
  6436. (now)126 3672 A
  6437. 3840(*/)S
  6438. 5130 V
  6439. (23147)210 648 A
  6440. 5220 V
  6441. (23148)210 648 A
  6442. 1362(/*)S
  6443. (New)126 1488 A
  6444. (inode)210 1656 A
  6445. (acquired.)378 1908 A
  6446. (Try)126 2370 A
  6447. 2538(to)S
  6448. (make)168 2664 A
  6449. (directory)378 2874 A
  6450. (entry.)252 3294 A
  6451. 3588(*/)S
  6452. 5310 V
  6453. (23149)210 648 A
  6454. 1362(if)S
  6455. (((r)126 1488 A
  6456. 1656(=)S
  6457. (search_dir(rlast_dir_ptr,)1050 1740 A
  6458. (string,)294 2832 A
  6459. (&rip->i_num,ENTER)))798 3168 A
  6460. 4008(!=)S
  6461. (OK))126 4134 A
  6462. 4302({)S
  6463. 5400 V
  6464. (23150)210 648 A
  6465. (put_inode(rlast_dir_ptr);)1050 1698 A
  6466. 5490 V
  6467. (23151)210 648 A
  6468. (rip->i_nlinks--;)672 1698 A
  6469. 2706(/*)S
  6470. (pity,)210 2832 A
  6471. (have)168 3084 A
  6472. 3294(to)S
  6473. (free)168 3420 A
  6474. (disk)168 3630 A
  6475. (inode)210 3840 A
  6476. 4092(*/)S
  6477. 5580 V
  6478. (23152)210 648 A
  6479. (rip->i_dirt)462 1698 A
  6480. 2202(=)S
  6481. (DIRTY;)252 2286 A
  6482. 2706(/*)S
  6483. (dirty)210 2832 A
  6484. (inodes)252 3084 A
  6485. (are)126 3378 A
  6486. (written)294 3546 A
  6487. (out)126 3882 A
  6488. 4050(*/)S
  6489. 5670 V
  6490. (23153)210 648 A
  6491. (put_inode(rip);)630 1698 A
  6492. 2370(/*)S
  6493. (this)168 2496 A
  6494. (call)168 2706 A
  6495. (frees)210 2916 A
  6496. (the)126 3168 A
  6497. (inode)210 3336 A
  6498. 3588(*/)S
  6499. 5760 V
  6500. (23154)210 648 A
  6501. (err_code)336 1698 A
  6502. 2076(=)S
  6503. 2160(r;)S
  6504. 5850 V
  6505. (23155)210 648 A
  6506. (return(NIL_INODE);)756 1698 A
  6507. 5940 V
  6508. (23156)210 648 A
  6509. 1362(})S
  6510. 6030 V
  6511. (23157)210 648 A
  6512. 6120 V
  6513. (23158)210 648 A
  6514. 1110(})S
  6515. (else)168 1194 A
  6516. 1404({)S
  6517. 6210 V
  6518. (23159)210 648 A
  6519. 1362(/*)S
  6520. (Either)252 1488 A
  6521. (last)168 1782 A
  6522. (component)378 1992 A
  6523. (exists,)294 2412 A
  6524. 2748(or)S
  6525. (there)210 2874 A
  6526. 3126(is)S
  6527. (some)168 3252 A
  6528. (problem.)336 3462 A
  6529. 3840(*/)S
  6530. 8418 V
  6531. EP
  6532. %%Page: 317 317
  6533. BP
  6534. /slant 0 def
  6535. /height 0 def
  6536. 630 V
  6537. 10 R
  6538. 648(MINIX)S
  6539. 976(SOURCE)S
  6540. 1399(CODE)S
  6541. 11 R
  6542. 2139(File:)S
  6543. 2372(src/fs/open.c)S
  6544. 12 B
  6545. (317)180 4248 A
  6546. 900 V
  6547. 7 LST
  6548. (23160)210 648 A
  6549. 1362(if)S
  6550. ((rip)168 1488 A
  6551. 1698(!=)S
  6552. (NIL_INODE))420 1824 A
  6553. 990 V
  6554. (23161)210 648 A
  6555. 1698(r)S
  6556. 1782(=)S
  6557. (EEXIST;)294 1866 A
  6558. 1080 V
  6559. (23162)210 648 A
  6560. (else)168 1362 A
  6561. 1170 V
  6562. (23163)210 648 A
  6563. 1698(r)S
  6564. 1782(=)S
  6565. (err_code;)378 1866 A
  6566. 1260 V
  6567. (23164)210 648 A
  6568. 1110(})S
  6569. 1350 V
  6570. (23165)210 648 A
  6571. 1440 V
  6572. (23166)210 648 A
  6573. 1110(/*)S
  6574. (Return)252 1236 A
  6575. (the)126 1530 A
  6576. (directory)378 1698 A
  6577. (inode)210 2118 A
  6578. (and)126 2370 A
  6579. (exit.)210 2538 A
  6580. 2790(*/)S
  6581. 1530 V
  6582. (23167)210 648 A
  6583. (put_inode(rlast_dir_ptr);)1050 1110 A
  6584. 1620 V
  6585. (23168)210 648 A
  6586. (err_code)336 1110 A
  6587. 1488(=)S
  6588. 1572(r;)S
  6589. 1710 V
  6590. (23169)210 648 A
  6591. (return(rip);)504 1110 A
  6592. 1800 V
  6593. (23170)210 648 A
  6594. 1026(})S
  6595. 2070 V
  6596. (23173)210 648 A
  6597. (/*===========================================================================*)3276 1026 A
  6598. 2160 V
  6599. (23174)210 648 A
  6600. 1068(*)S
  6601. (pipe_open)378 2370 A
  6602. 4260(*)S
  6603. 2250 V
  6604. (23175)210 648 A
  6605. (*===========================================================================*/)3276 1068 A
  6606. 2340 V
  6607. (23176)210 648 A
  6608. (PRIVATE)294 1026 A
  6609. (int)126 1362 A
  6610. (pipe_open(rip,)588 1530 A
  6611. (bits,)210 2160 A
  6612. (oflags))294 2412 A
  6613. 2430 V
  6614. (23177)210 648 A
  6615. (register)336 1026 A
  6616. (struct)252 1404 A
  6617. (inode)210 1698 A
  6618. (*rip;)210 1950 A
  6619. 2520 V
  6620. (23178)210 648 A
  6621. (register)336 1026 A
  6622. (mode_t)252 1404 A
  6623. (bits;)210 1698 A
  6624. 2610 V
  6625. (23179)210 648 A
  6626. (register)336 1026 A
  6627. (int)126 1404 A
  6628. (oflags;)294 1572 A
  6629. 2700 V
  6630. (23180)210 648 A
  6631. 1026({)S
  6632. 2790 V
  6633. (23181)210 648 A
  6634. 1026(/*)S
  6635. (This)168 1194 A
  6636. (function)336 1404 A
  6637. 1782(is)S
  6638. (called)252 1908 A
  6639. (from)168 2202 A
  6640. (common_open.)504 2412 A
  6641. 2958(It)S
  6642. (checks)252 3084 A
  6643. 3378(if)S
  6644. 2880 V
  6645. (23182)210 648 A
  6646. 1068(*)S
  6647. (there)210 1194 A
  6648. 1446(is)S
  6649. 1572(at)S
  6650. (least)210 1698 A
  6651. (one)126 1950 A
  6652. (reader/writer)546 2118 A
  6653. (pair)168 2706 A
  6654. (for)126 2916 A
  6655. (the)126 3084 A
  6656. (pipe,)210 3252 A
  6657. 3504(if)S
  6658. (not)126 3630 A
  6659. 2970 V
  6660. (23183)210 648 A
  6661. 1068(*)S
  6662. 1194(it)S
  6663. (suspends)336 1320 A
  6664. (the)126 1698 A
  6665. (caller,)294 1866 A
  6666. (otherwise)378 2202 A
  6667. 2622(it)S
  6668. (revives)294 2748 A
  6669. (all)126 3084 A
  6670. (other)210 3252 A
  6671. (blocked)294 3504 A
  6672. 3060 V
  6673. (23184)210 648 A
  6674. 1068(*)S
  6675. (processes)378 1194 A
  6676. (hanging)294 1614 A
  6677. 1950(on)S
  6678. (the)126 2076 A
  6679. (pipe.)210 2244 A
  6680. 3150 V
  6681. (23185)210 648 A
  6682. 1068(*/)S
  6683. 3240 V
  6684. (23186)210 648 A
  6685. 3330 V
  6686. (23187)210 648 A
  6687. 1110(if)S
  6688. ((find_filp(rip,)630 1236 A
  6689. (bits)168 1908 A
  6690. 2118(&)S
  6691. (W_BIT)210 2202 A
  6692. 2454(?)S
  6693. (R_BIT)210 2538 A
  6694. 2790(:)S
  6695. (W_BIT))252 2874 A
  6696. 3168(==)S
  6697. (NIL_FILP))378 3294 A
  6698. 3714({)S
  6699. 3420 V
  6700. (23188)210 648 A
  6701. 1362(if)S
  6702. ((oflags)294 1488 A
  6703. 1824(&)S
  6704. (O_NONBLOCK))462 1908 A
  6705. 2412({)S
  6706. 3510 V
  6707. (23189)210 648 A
  6708. 1698(if)S
  6709. ((bits)210 1824 A
  6710. 2076(&)S
  6711. (W_BIT))252 2160 A
  6712. (return(ENXIO);)588 2454 A
  6713. 3600 V
  6714. (23190)210 648 A
  6715. 1362(})S
  6716. (else)168 1446 A
  6717. 3690 V
  6718. (23191)210 648 A
  6719. (suspend(XPOPEN);)672 1698 A
  6720. 2706(/*)S
  6721. (suspend)294 2832 A
  6722. (caller)252 3168 A
  6723. 3462(*/)S
  6724. 3780 V
  6725. (23192)210 648 A
  6726. 1110(})S
  6727. (else)168 1194 A
  6728. 1404(if)S
  6729. ((susp_count)462 1530 A
  6730. 2034(>)S
  6731. 2118(0))S
  6732. ({/*)126 2244 A
  6733. (revive)252 2412 A
  6734. (blocked)294 2706 A
  6735. (processes)378 3042 A
  6736. 3462(*/)S
  6737. 3870 V
  6738. (23193)210 648 A
  6739. (release(rip,)504 1362 A
  6740. (OPEN,)210 1908 A
  6741. (susp_count);)504 2160 A
  6742. 3960 V
  6743. (23194)210 648 A
  6744. (release(rip,)504 1362 A
  6745. (CREAT,)252 1908 A
  6746. (susp_count);)504 2202 A
  6747. 4050 V
  6748. (23195)210 648 A
  6749. 1110(})S
  6750. 4140 V
  6751. (23196)210 648 A
  6752. (rip->i_pipe)462 1110 A
  6753. 1614(=)S
  6754. (I_PIPE;)294 1698 A
  6755. 4230 V
  6756. (23197)210 648 A
  6757. 4320 V
  6758. (23198)210 648 A
  6759. (return(OK);)462 1110 A
  6760. 4410 V
  6761. (23199)210 648 A
  6762. 1026(})S
  6763. 4680 V
  6764. (23202)210 648 A
  6765. (/*===========================================================================*)3276 1026 A
  6766. 4770 V
  6767. (23203)210 648 A
  6768. 1068(*)S
  6769. (do_mknod)336 2370 A
  6770. 4260(*)S
  6771. 4860 V
  6772. (23204)210 648 A
  6773. (*===========================================================================*/)3276 1068 A
  6774. 4950 V
  6775. (23205)210 648 A
  6776. (PUBLIC)252 1026 A
  6777. (int)126 1320 A
  6778. (do_mknod())420 1488 A
  6779. 5040 V
  6780. (23206)210 648 A
  6781. 1026({)S
  6782. 5130 V
  6783. (23207)210 648 A
  6784. 1026(/*)S
  6785. (Perform)294 1152 A
  6786. (the)126 1488 A
  6787. (mknod(name,)462 1656 A
  6788. (mode,)210 2160 A
  6789. (addr))210 2412 A
  6790. (system)252 2664 A
  6791. (call.)210 2958 A
  6792. 3210(*/)S
  6793. 5220 V
  6794. (23208)210 648 A
  6795. 5310 V
  6796. (23209)210 648 A
  6797. (register)336 1110 A
  6798. (mode_t)252 1488 A
  6799. (bits,)210 1782 A
  6800. (mode_bits;)420 2034 A
  6801. 5400 V
  6802. (23210)210 648 A
  6803. (struct)252 1110 A
  6804. (inode)210 1404 A
  6805. (*ip;)168 1656 A
  6806. 5490 V
  6807. (23211)210 648 A
  6808. 5580 V
  6809. (23212)210 648 A
  6810. 1110(/*)S
  6811. (Only)168 1236 A
  6812. (the)126 1446 A
  6813. (super_user)420 1614 A
  6814. (may)126 2076 A
  6815. (make)168 2244 A
  6816. (nodes)210 2454 A
  6817. (other)210 2706 A
  6818. (than)168 2958 A
  6819. (fifos.)252 3168 A
  6820. 3462(*/)S
  6821. 5670 V
  6822. (23213)210 648 A
  6823. (mode_bits)378 1110 A
  6824. 1530(=)S
  6825. ((mode_t))336 1614 A
  6826. (m.m1_i2;)336 1992 A
  6827. 2370(/*)S
  6828. (mode)168 2496 A
  6829. 2706(of)S
  6830. (the)126 2832 A
  6831. (inode)210 3000 A
  6832. 3252(*/)S
  6833. 5760 V
  6834. (23214)210 648 A
  6835. 1110(if)S
  6836. ((!super_user)504 1236 A
  6837. 1782(&&)S
  6838. (((mode_bits)462 1908 A
  6839. 2412(&)S
  6840. (I_TYPE))294 2496 A
  6841. 2832(!=)S
  6842. (I_NAMED_PIPE)))588 2958 A
  6843. (return(EPERM);)588 3588 A
  6844. 5850 V
  6845. (23215)210 648 A
  6846. 1110(if)S
  6847. ((fetch_name(m.m1_p1,)840 1236 A
  6848. (m.m1_i1,)336 2118 A
  6849. (M1))126 2496 A
  6850. 2664(!=)S
  6851. (OK))126 2790 A
  6852. (return(err_code);)714 2958 A
  6853. 5940 V
  6854. (23216)210 648 A
  6855. (bits)168 1110 A
  6856. 1320(=)S
  6857. ((mode_bits)420 1404 A
  6858. 1866(&)S
  6859. (I_TYPE))294 1950 A
  6860. 2286(|)S
  6861. ((mode_bits)420 2370 A
  6862. 2832(&)S
  6863. (ALL_MODES)378 2916 A
  6864. 3336(&)S
  6865. (fp->fp_umask);)588 3420 A
  6866. 6030 V
  6867. (23217)210 648 A
  6868. 1110(ip)S
  6869. 1236(=)S
  6870. (new_node(user_path,)798 1320 A
  6871. (bits,)210 2160 A
  6872. ((zone_t))336 2412 A
  6873. (m.m1_i3);)378 2790 A
  6874. 6120 V
  6875. (23218)210 648 A
  6876. (put_inode(ip);)588 1110 A
  6877. 6210 V
  6878. (23219)210 648 A
  6879. (return(err_code);)714 1110 A
  6880. 8418 V
  6881. EP
  6882. %%Page: 318 318
  6883. BP
  6884. /slant 0 def
  6885. /height 0 def
  6886. 630 V
  6887. 12 B
  6888. (318)180 648 A
  6889. 11 R
  6890. 2139(File:)S
  6891. 2372(src/fs/open.c)S
  6892. 10 R
  6893. 3402(MINIX)S
  6894. 3730(SOURCE)S
  6895. 4153(CODE)S
  6896. 900 V
  6897. 7 LST
  6898. (23220)210 648 A
  6899. 1026(})S
  6900. 1170 V
  6901. (23223)210 648 A
  6902. (/*===========================================================================*)3276 1026 A
  6903. 1260 V
  6904. (23224)210 648 A
  6905. 1068(*)S
  6906. (do_mkdir)336 2370 A
  6907. 4260(*)S
  6908. 1350 V
  6909. (23225)210 648 A
  6910. (*===========================================================================*/)3276 1068 A
  6911. 1440 V
  6912. (23226)210 648 A
  6913. (PUBLIC)252 1026 A
  6914. (int)126 1320 A
  6915. (do_mkdir())420 1488 A
  6916. 1530 V
  6917. (23227)210 648 A
  6918. 1026({)S
  6919. 1620 V
  6920. (23228)210 648 A
  6921. 1026(/*)S
  6922. (Perform)294 1152 A
  6923. (the)126 1488 A
  6924. (mkdir(name,)462 1656 A
  6925. (mode))210 2160 A
  6926. (system)252 2412 A
  6927. (call.)210 2706 A
  6928. 2958(*/)S
  6929. 1710 V
  6930. (23229)210 648 A
  6931. 1800 V
  6932. (23230)210 648 A
  6933. (int)126 1110 A
  6934. (r1,)126 1278 A
  6935. (r2;)126 1446 A
  6936. 2370(/*)S
  6937. (status)252 2496 A
  6938. (codes)210 2790 A
  6939. 3042(*/)S
  6940. 1890 V
  6941. (23231)210 648 A
  6942. (ino_t)210 1110 A
  6943. (dot,)168 1362 A
  6944. (dotdot;)294 1572 A
  6945. 2370(/*)S
  6946. (inode)210 2496 A
  6947. (numbers)294 2748 A
  6948. (for)126 3084 A
  6949. 3252(.)S
  6950. (and)126 3336 A
  6951. 3504(..)S
  6952. 3630(*/)S
  6953. 1980 V
  6954. (23232)210 648 A
  6955. (mode_t)252 1110 A
  6956. (bits;)210 1404 A
  6957. 2370(/*)S
  6958. (mode)168 2496 A
  6959. (bits)168 2706 A
  6960. (for)126 2916 A
  6961. (the)126 3084 A
  6962. (new)126 3252 A
  6963. (inode)210 3420 A
  6964. 3672(*/)S
  6965. 2070 V
  6966. (23233)210 648 A
  6967. (char)168 1110 A
  6968. (string[NAME_MAX];)714 1320 A
  6969. 2370(/*)S
  6970. (last)168 2496 A
  6971. (component)378 2706 A
  6972. 3126(of)S
  6973. (the)126 3252 A
  6974. (new)126 3420 A
  6975. (dir's)210 3588 A
  6976. (path)168 3840 A
  6977. (name)168 4050 A
  6978. 4260(*/)S
  6979. 2160 V
  6980. (23234)210 648 A
  6981. (register)336 1110 A
  6982. (struct)252 1488 A
  6983. (inode)210 1782 A
  6984. (*rip,)210 2034 A
  6985. (*ldirp;)294 2286 A
  6986. 2250 V
  6987. (23235)210 648 A
  6988. 2340 V
  6989. (23236)210 648 A
  6990. 1110(/*)S
  6991. (Check)210 1236 A
  6992. 1488(to)S
  6993. (see)126 1614 A
  6994. 1782(if)S
  6995. 1908(it)S
  6996. 2034(is)S
  6997. (possible)336 2160 A
  6998. 2538(to)S
  6999. (make)168 2664 A
  7000. (another)294 2874 A
  7001. (link)168 3210 A
  7002. 3420(in)S
  7003. (the)126 3546 A
  7004. (parent)252 3714 A
  7005. (dir.)168 4008 A
  7006. 4218(*/)S
  7007. 2430 V
  7008. (23237)210 648 A
  7009. 1110(if)S
  7010. ((fetch_name(name1,)756 1236 A
  7011. (name1_length,)546 2034 A
  7012. (M1))126 2622 A
  7013. 2790(!=)S
  7014. (OK))126 2916 A
  7015. (return(err_code);)714 3084 A
  7016. 2520 V
  7017. (23238)210 648 A
  7018. (ldirp)210 1110 A
  7019. 1362(=)S
  7020. (last_dir(user_path,)798 1446 A
  7021. (string);)336 2286 A
  7022. 2706(/*)S
  7023. (pointer)294 2832 A
  7024. 3168(to)S
  7025. (new)126 3294 A
  7026. (dir's)210 3462 A
  7027. (parent)252 3714 A
  7028. 4008(*/)S
  7029. 2610 V
  7030. (23239)210 648 A
  7031. 1110(if)S
  7032. ((ldirp)252 1236 A
  7033. 1530(==)S
  7034. (NIL_INODE))420 1656 A
  7035. (return(err_code);)714 2118 A
  7036. 2700 V
  7037. (23240)210 648 A
  7038. 1110(if)S
  7039. 1236(()S
  7040. ((ldirp->i_nlinks)672 1320 A
  7041. 2034(&)S
  7042. (BYTE))210 2118 A
  7043. 2370(>=)S
  7044. (LINK_MAX))378 2496 A
  7045. 2916({)S
  7046. 2790 V
  7047. (23241)210 648 A
  7048. (put_inode(ldirp);)714 1362 A
  7049. 2370(/*)S
  7050. (return)252 2496 A
  7051. (parent)252 2790 A
  7052. 3084(*/)S
  7053. 2880 V
  7054. (23242)210 648 A
  7055. (return(EMLINK);)630 1362 A
  7056. 2970 V
  7057. (23243)210 648 A
  7058. 1110(})S
  7059. 3060 V
  7060. (23244)210 648 A
  7061. 3150 V
  7062. (23245)210 648 A
  7063. 1110(/*)S
  7064. (Next)168 1236 A
  7065. (make)168 1446 A
  7066. (the)126 1656 A
  7067. (inode.)252 1824 A
  7068. 2118(If)S
  7069. (that)168 2244 A
  7070. (fails,)252 2454 A
  7071. (return)252 2748 A
  7072. (error)210 3042 A
  7073. (code.)210 3294 A
  7074. 3546(*/)S
  7075. 3240 V
  7076. (23246)210 648 A
  7077. (bits)168 1110 A
  7078. 1320(=)S
  7079. (I_DIRECTORY)462 1404 A
  7080. 1908(|)S
  7081. ((mode)210 1992 A
  7082. 2244(&)S
  7083. (RWX_MODES)378 2328 A
  7084. 2748(&)S
  7085. (fp->fp_umask);)588 2832 A
  7086. 3330 V
  7087. (23247)210 648 A
  7088. (rip)126 1110 A
  7089. 1278(=)S
  7090. (new_node(user_path,)798 1362 A
  7091. (bits,)210 2202 A
  7092. ((zone_t))336 2454 A
  7093. (0);)126 2832 A
  7094. 3420 V
  7095. (23248)210 648 A
  7096. 1110(if)S
  7097. ((rip)168 1236 A
  7098. 1446(==)S
  7099. (NIL_INODE)378 1572 A
  7100. 1992(||)S
  7101. (err_code)336 2118 A
  7102. 2496(==)S
  7103. (EEXIST))294 2622 A
  7104. 2958({)S
  7105. 3510 V
  7106. (23249)210 648 A
  7107. (put_inode(rip);)630 1362 A
  7108. 2370(/*)S
  7109. (can't)210 2496 A
  7110. (make)168 2748 A
  7111. (dir:)168 2958 A
  7112. 3168(it)S
  7113. (already)294 3294 A
  7114. (exists)252 3630 A
  7115. 3924(*/)S
  7116. 3600 V
  7117. (23250)210 648 A
  7118. (put_inode(ldirp);)714 1362 A
  7119. 2370(/*)S
  7120. (return)252 2496 A
  7121. (parent)252 2790 A
  7122. (too)126 3084 A
  7123. 3252(*/)S
  7124. 3690 V
  7125. (23251)210 648 A
  7126. (return(err_code);)714 1362 A
  7127. 3780 V
  7128. (23252)210 648 A
  7129. 1110(})S
  7130. 3870 V
  7131. (23253)210 648 A
  7132. 3960 V
  7133. (23254)210 648 A
  7134. 1110(/*)S
  7135. (Get)126 1236 A
  7136. (the)126 1404 A
  7137. (inode)210 1572 A
  7138. (numbers)294 1824 A
  7139. (for)126 2160 A
  7140. 2328(.)S
  7141. (and)126 2412 A
  7142. 2580(..)S
  7143. 2706(to)S
  7144. (enter)210 2832 A
  7145. 3084(in)S
  7146. (the)126 3210 A
  7147. (directory.)420 3378 A
  7148. 3840(*/)S
  7149. 4050 V
  7150. (23255)210 648 A
  7151. (dotdot)252 1110 A
  7152. 1404(=)S
  7153. (ldirp->i_num;)546 1488 A
  7154. 2370(/*)S
  7155. (parent's)336 2496 A
  7156. (inode)210 2874 A
  7157. (number)252 3126 A
  7158. 3420(*/)S
  7159. 4140 V
  7160. (23256)210 648 A
  7161. (dot)126 1110 A
  7162. 1278(=)S
  7163. (rip->i_num;)462 1362 A
  7164. 2370(/*)S
  7165. (inode)210 2496 A
  7166. (number)252 2748 A
  7167. 3042(of)S
  7168. (the)126 3168 A
  7169. (new)126 3336 A
  7170. (dir)126 3504 A
  7171. (itself)252 3672 A
  7172. 3966(*/)S
  7173. 4230 V
  7174. (23257)210 648 A
  7175. 4320 V
  7176. (23258)210 648 A
  7177. 1110(/*)S
  7178. (Now)126 1236 A
  7179. (make)168 1404 A
  7180. (dir)126 1614 A
  7181. (entries)294 1782 A
  7182. (for)126 2118 A
  7183. 2286(.)S
  7184. (and)126 2370 A
  7185. 2538(..)S
  7186. (unless)252 2664 A
  7187. (the)126 2958 A
  7188. (disk)168 3126 A
  7189. 3336(is)S
  7190. (completely)420 3462 A
  7191. (full.)210 3924 A
  7192. 4176(*/)S
  7193. 4410 V
  7194. (23259)210 648 A
  7195. 1110(/*)S
  7196. (Use)126 1236 A
  7197. (dot1)168 1404 A
  7198. (and)126 1614 A
  7199. (dot2,)210 1782 A
  7200. 2034(so)S
  7201. (the)126 2160 A
  7202. (mode)168 2328 A
  7203. 2538(of)S
  7204. (the)126 2664 A
  7205. (directory)378 2832 A
  7206. (isn't)210 3252 A
  7207. (important.)420 3504 A
  7208. 3966(*/)S
  7209. 4500 V
  7210. (23260)210 648 A
  7211. (rip->i_mode)462 1110 A
  7212. 1614(=)S
  7213. (bits;)210 1698 A
  7214. 2034(/*)S
  7215. (set)126 2160 A
  7216. (mode)168 2328 A
  7217. 2538(*/)S
  7218. 4590 V
  7219. (23261)210 648 A
  7220. 1110(r1)S
  7221. 1236(=)S
  7222. (search_dir(rip,)630 1320 A
  7223. (dot1,)210 1992 A
  7224. (&dot,)210 2244 A
  7225. (ENTER);)294 2496 A
  7226. 3042(/*)S
  7227. (enter)210 3168 A
  7228. 3420(.)S
  7229. 3504(in)S
  7230. (the)126 3630 A
  7231. (new)126 3798 A
  7232. (dir)126 3966 A
  7233. 4134(*/)S
  7234. 4680 V
  7235. (23262)210 648 A
  7236. 1110(r2)S
  7237. 1236(=)S
  7238. (search_dir(rip,)630 1320 A
  7239. (dot2,)210 1992 A
  7240. (&dotdot,)336 2244 A
  7241. (ENTER);)294 2622 A
  7242. 3042(/*)S
  7243. (enter)210 3168 A
  7244. 3420(..)S
  7245. 3546(in)S
  7246. (the)126 3672 A
  7247. (new)126 3840 A
  7248. (dir)126 4008 A
  7249. 4176(*/)S
  7250. 4770 V
  7251. (23263)210 648 A
  7252. 4860 V
  7253. (23264)210 648 A
  7254. 1110(/*)S
  7255. 1236(If)S
  7256. (both)168 1362 A
  7257. 1572(.)S
  7258. (and)126 1656 A
  7259. 1824(..)S
  7260. (were)168 1950 A
  7261. (successfully)504 2160 A
  7262. (entered,)336 2706 A
  7263. (increment)378 3084 A
  7264. (the)126 3504 A
  7265. (link)168 3672 A
  7266. (counts.)294 3882 A
  7267. 4218(*/)S
  7268. 4950 V
  7269. (23265)210 648 A
  7270. 1110(if)S
  7271. ((r1)126 1236 A
  7272. 1404(==)S
  7273. 1530(OK)S
  7274. 1656(&&)S
  7275. 1782(r2)S
  7276. 1908(==)S
  7277. (OK))126 2034 A
  7278. 2202({)S
  7279. 5040 V
  7280. (23266)210 648 A
  7281. 1362(/*)S
  7282. (Normal)252 1488 A
  7283. (case.)210 1782 A
  7284. 2076(It)S
  7285. (was)126 2202 A
  7286. (possible)336 2370 A
  7287. 2748(to)S
  7288. (enter)210 2874 A
  7289. 3126(.)S
  7290. (and)126 3210 A
  7291. 3378(..)S
  7292. 3504(in)S
  7293. (the)126 3630 A
  7294. (new)126 3798 A
  7295. (dir.)168 3966 A
  7296. 4176(*/)S
  7297. 5130 V
  7298. (23267)210 648 A
  7299. (rip->i_nlinks++;)672 1362 A
  7300. 2370(/*)S
  7301. (this)168 2496 A
  7302. (accounts)336 2706 A
  7303. (for)126 3084 A
  7304. 3252(.)S
  7305. 3336(*/)S
  7306. 5220 V
  7307. (23268)210 648 A
  7308. (ldirp->i_nlinks++;)756 1362 A
  7309. 2370(/*)S
  7310. (this)168 2496 A
  7311. (accounts)336 2706 A
  7312. (for)126 3084 A
  7313. 3252(..)S
  7314. 3378(*/)S
  7315. 5310 V
  7316. (23269)210 648 A
  7317. (ldirp->i_dirt)546 1362 A
  7318. 1950(=)S
  7319. (DIRTY;)252 2034 A
  7320. 2370(/*)S
  7321. (mark)168 2496 A
  7322. (parent's)336 2706 A
  7323. (inode)210 3084 A
  7324. 3336(as)S
  7325. (dirty)210 3462 A
  7326. 3714(*/)S
  7327. 5400 V
  7328. (23270)210 648 A
  7329. 1110(})S
  7330. (else)168 1194 A
  7331. 1404({)S
  7332. 5490 V
  7333. (23271)210 648 A
  7334. 1362(/*)S
  7335. 1488(It)S
  7336. (was)126 1614 A
  7337. (not)126 1782 A
  7338. (possible)336 1950 A
  7339. 2328(to)S
  7340. (enter)210 2454 A
  7341. 2706(.)S
  7342. 2790(or)S
  7343. 2916(..)S
  7344. (probably)336 3042 A
  7345. (disk)168 3420 A
  7346. (was)126 3630 A
  7347. (full.)210 3798 A
  7348. 4050(*/)S
  7349. 5580 V
  7350. (23272)210 648 A
  7351. ((void))252 1362 A
  7352. (search_dir(ldirp,)714 1656 A
  7353. (string,)294 2412 A
  7354. ((ino_t)252 2748 A
  7355. 3042(*))S
  7356. 3168(0,)S
  7357. (DELETE);)336 3294 A
  7358. 5670 V
  7359. (23273)210 648 A
  7360. (rip->i_nlinks--;)672 1362 A
  7361. 2370(/*)S
  7362. (undo)168 2496 A
  7363. (the)126 2706 A
  7364. (increment)378 2874 A
  7365. (done)168 3294 A
  7366. 3504(in)S
  7367. (new_node())420 3630 A
  7368. 4092(*/)S
  7369. 5760 V
  7370. (23274)210 648 A
  7371. 1110(})S
  7372. 5850 V
  7373. (23275)210 648 A
  7374. (rip->i_dirt)462 1110 A
  7375. 1614(=)S
  7376. (DIRTY;)252 1698 A
  7377. 2370(/*)S
  7378. (either)252 2496 A
  7379. (way,)168 2790 A
  7380. (i_nlinks)336 3000 A
  7381. (has)126 3378 A
  7382. (changed)294 3546 A
  7383. 3882(*/)S
  7384. 5940 V
  7385. (23276)210 648 A
  7386. 6030 V
  7387. (23277)210 648 A
  7388. (put_inode(ldirp);)714 1110 A
  7389. 2370(/*)S
  7390. (return)252 2496 A
  7391. (the)126 2790 A
  7392. (inode)210 2958 A
  7393. 3210(of)S
  7394. (the)126 3336 A
  7395. (parent)252 3504 A
  7396. (dir)126 3798 A
  7397. 3966(*/)S
  7398. 6120 V
  7399. (23278)210 648 A
  7400. (put_inode(rip);)630 1110 A
  7401. 2370(/*)S
  7402. (return)252 2496 A
  7403. (the)126 2790 A
  7404. (inode)210 2958 A
  7405. 3210(of)S
  7406. (the)126 3336 A
  7407. (newly)210 3504 A
  7408. (made)168 3756 A
  7409. (dir)126 3966 A
  7410. 4134(*/)S
  7411. 6210 V
  7412. (23279)210 648 A
  7413. (return(err_code);)714 1110 A
  7414. 2370(/*)S
  7415. (new_node())420 2496 A
  7416. (always)252 2958 A
  7417. (sets)168 3252 A
  7418. ('err_code')420 3462 A
  7419. 3924(*/)S
  7420. 8418 V
  7421. EP
  7422. %%Page: 319 319
  7423. BP
  7424. /slant 0 def
  7425. /height 0 def
  7426. 630 V
  7427. 10 R
  7428. 648(MINIX)S
  7429. 976(SOURCE)S
  7430. 1399(CODE)S
  7431. 11 R
  7432. 2139(File:)S
  7433. 2372(src/fs/open.c)S
  7434. 12 B
  7435. (319)180 4248 A
  7436. 900 V
  7437. 7 LST
  7438. (23280)210 648 A
  7439. 1026(})S
  7440. 1170 V
  7441. (23283)210 648 A
  7442. (/*===========================================================================*)3276 1026 A
  7443. 1260 V
  7444. (23284)210 648 A
  7445. 1068(*)S
  7446. (do_close)336 2370 A
  7447. 4260(*)S
  7448. 1350 V
  7449. (23285)210 648 A
  7450. (*===========================================================================*/)3276 1068 A
  7451. 1440 V
  7452. (23286)210 648 A
  7453. (PUBLIC)252 1026 A
  7454. (int)126 1320 A
  7455. (do_close())420 1488 A
  7456. 1530 V
  7457. (23287)210 648 A
  7458. 1026({)S
  7459. 1620 V
  7460. (23288)210 648 A
  7461. 1026(/*)S
  7462. (Perform)294 1152 A
  7463. (the)126 1488 A
  7464. (close(fd))378 1656 A
  7465. (system)252 2076 A
  7466. (call.)210 2370 A
  7467. 2622(*/)S
  7468. 1710 V
  7469. (23289)210 648 A
  7470. 1800 V
  7471. (23290)210 648 A
  7472. (register)336 1110 A
  7473. (struct)252 1488 A
  7474. (filp)168 1782 A
  7475. (*rfilp;)294 1992 A
  7476. 1890 V
  7477. (23291)210 648 A
  7478. (register)336 1110 A
  7479. (struct)252 1488 A
  7480. (inode)210 1782 A
  7481. (*rip;)210 2034 A
  7482. 1980 V
  7483. (23292)210 648 A
  7484. (struct)252 1110 A
  7485. (file_lock)378 1404 A
  7486. (*flp;)210 1824 A
  7487. 2070 V
  7488. (23293)210 648 A
  7489. (int)126 1110 A
  7490. (rw,)126 1278 A
  7491. (mode_word,)420 1446 A
  7492. (major,)252 1908 A
  7493. (task,)210 2202 A
  7494. (lock_count;)462 2454 A
  7495. 2160 V
  7496. (23294)210 648 A
  7497. (dev_t)210 1110 A
  7498. (dev;)168 1362 A
  7499. 2250 V
  7500. (23295)210 648 A
  7501. 2340 V
  7502. (23296)210 648 A
  7503. 1110(/*)S
  7504. (First)210 1236 A
  7505. (locate)252 1488 A
  7506. (the)126 1782 A
  7507. (inode)210 1950 A
  7508. (that)168 2202 A
  7509. (belongs)294 2412 A
  7510. 2748(to)S
  7511. (the)126 2874 A
  7512. (file)168 3042 A
  7513. (descriptor.)462 3252 A
  7514. 3756(*/)S
  7515. 2430 V
  7516. (23297)210 648 A
  7517. 1110(if)S
  7518. 1236(()S
  7519. ((rfilp)252 1320 A
  7520. 1614(=)S
  7521. (get_filp(fd)))546 1698 A
  7522. 2286(==)S
  7523. (NIL_FILP))378 2412 A
  7524. (return(err_code);)714 2832 A
  7525. 2520 V
  7526. (23298)210 648 A
  7527. (rip)126 1110 A
  7528. 1278(=)S
  7529. (rfilp->filp_ino;)672 1362 A
  7530. 2370(/*)S
  7531. ('rip')210 2496 A
  7532. (points)252 2748 A
  7533. 3042(to)S
  7534. (the)126 3168 A
  7535. (inode)210 3336 A
  7536. 3588(*/)S
  7537. 2610 V
  7538. (23299)210 648 A
  7539. 2700 V
  7540. (23300)210 648 A
  7541. 1110(if)S
  7542. ((rfilp->filp_count)756 1236 A
  7543. 2034(-)S
  7544. 2118(1)S
  7545. 2202(==)S
  7546. 2328(0)S
  7547. 2412(&&)S
  7548. (rfilp->filp_mode)672 2538 A
  7549. 3252(!=)S
  7550. (FILP_CLOSED))504 3378 A
  7551. 3924({)S
  7552. 2790 V
  7553. (23301)210 648 A
  7554. 1362(/*)S
  7555. (Check)210 1488 A
  7556. 1740(to)S
  7557. (see)126 1866 A
  7558. 2034(if)S
  7559. (the)126 2160 A
  7560. (file)168 2328 A
  7561. 2538(is)S
  7562. (special.)336 2664 A
  7563. 3042(*/)S
  7564. 2880 V
  7565. (23302)210 648 A
  7566. (mode_word)378 1362 A
  7567. 1782(=)S
  7568. (rip->i_mode)462 1866 A
  7569. 2370(&)S
  7570. (I_TYPE;)294 2454 A
  7571. 2970 V
  7572. (23303)210 648 A
  7573. 1362(if)S
  7574. ((mode_word)420 1488 A
  7575. 1950(==)S
  7576. (I_CHAR_SPECIAL)588 2076 A
  7577. 2706(||)S
  7578. (mode_word)378 2832 A
  7579. 3252(==)S
  7580. (I_BLOCK_SPECIAL))672 3378 A
  7581. 4092({)S
  7582. 3060 V
  7583. (23304)210 648 A
  7584. (dev)126 1698 A
  7585. 1866(=)S
  7586. ((dev_t))294 1950 A
  7587. (rip->i_zone[0];)630 2286 A
  7588. 3150 V
  7589. (23305)210 648 A
  7590. 1698(if)S
  7591. ((mode_word)420 1824 A
  7592. 2286(==)S
  7593. (I_BLOCK_SPECIAL))672 2412 A
  7594. 3168({)S
  7595. 3240 V
  7596. (23306)210 648 A
  7597. 2034(/*)S
  7598. (Invalidate)420 2160 A
  7599. (cache)210 2622 A
  7600. (entries)294 2874 A
  7601. (unless)252 3210 A
  7602. (special)294 3504 A
  7603. 3840(is)S
  7604. (mounted)294 3966 A
  7605. 3330 V
  7606. (23307)210 648 A
  7607. 2076(*)S
  7608. 2160(or)S
  7609. (ROOT)168 2286 A
  7610. 3420 V
  7611. (23308)210 648 A
  7612. 2076(*/)S
  7613. 3510 V
  7614. (23309)210 648 A
  7615. 2034(if)S
  7616. ((!mounted(rip)))630 2160 A
  7617. 2832({)S
  7618. 3600 V
  7619. (23310)210 648 A
  7620. ((void))252 2370 A
  7621. (do_sync();)420 2664 A
  7622. 3378(/*)S
  7623. (purge)210 3504 A
  7624. (cache)210 3756 A
  7625. 4008(*/)S
  7626. 3690 V
  7627. (23311)210 648 A
  7628. (invalidate(dev);)672 2370 A
  7629. 3780 V
  7630. (23312)210 648 A
  7631. 2034(})S
  7632. 3870 V
  7633. (23313)210 648 A
  7634. 1698(})S
  7635. 3960 V
  7636. (23314)210 648 A
  7637. 1698(/*)S
  7638. (Use)126 1824 A
  7639. (the)126 1992 A
  7640. (dmap_close)420 2160 A
  7641. (entry)210 2622 A
  7642. 2874(to)S
  7643. 3000(do)S
  7644. (any)126 3126 A
  7645. (special)294 3294 A
  7646. (processing)420 3630 A
  7647. 4050 V
  7648. (23315)210 648 A
  7649. 1740(*)S
  7650. (required.)378 1824 A
  7651. 4140 V
  7652. (23316)210 648 A
  7653. 1740(*/)S
  7654. 4230 V
  7655. (23317)210 648 A
  7656. (dev_mess.m_type)630 1698 A
  7657. 2370(=)S
  7658. (DEV_CLOSE;)420 2454 A
  7659. 4320 V
  7660. (23318)210 648 A
  7661. (dev_mess.DEVICE)630 1698 A
  7662. 2370(=)S
  7663. (dev;)168 2454 A
  7664. 4410 V
  7665. (23319)210 648 A
  7666. (major)210 1698 A
  7667. 1950(=)S
  7668. ((dev)168 2034 A
  7669. 2244(>>)S
  7670. (MAJOR))252 2370 A
  7671. 2664(&)S
  7672. (BYTE;)210 2748 A
  7673. 3042(/*)S
  7674. (major)210 3168 A
  7675. (device)252 3420 A
  7676. 3714(nr)S
  7677. 3840(*/)S
  7678. 4500 V
  7679. (23320)210 648 A
  7680. (task)168 1698 A
  7681. 1908(=)S
  7682. (dmap[major].dmap_task;)924 1992 A
  7683. 3042(/*)S
  7684. (device)252 3168 A
  7685. (task)168 3462 A
  7686. 3672(nr)S
  7687. 3798(*/)S
  7688. 4590 V
  7689. (23321)210 648 A
  7690. ((*dmap[major].dmap_close)(task,)1302 1698 A
  7691. (&dev_mess);)462 3042 A
  7692. 4680 V
  7693. (23322)210 648 A
  7694. 1362(})S
  7695. 4770 V
  7696. (23323)210 648 A
  7697. 1110(})S
  7698. 4860 V
  7699. (23324)210 648 A
  7700. 4950 V
  7701. (23325)210 648 A
  7702. 1110(/*)S
  7703. 1236(If)S
  7704. (the)126 1362 A
  7705. (inode)210 1530 A
  7706. (being)210 1782 A
  7707. (closed)252 2034 A
  7708. 2328(is)S
  7709. 2454(a)S
  7710. (pipe,)210 2538 A
  7711. (release)294 2790 A
  7712. (everyone)336 3126 A
  7713. (hanging)294 3504 A
  7714. 3840(on)S
  7715. (it.)126 3966 A
  7716. 4134(*/)S
  7717. 5040 V
  7718. (23326)210 648 A
  7719. 1110(if)S
  7720. ((rip->i_pipe)504 1236 A
  7721. 1782(==)S
  7722. (I_PIPE))294 1908 A
  7723. 2244({)S
  7724. 5130 V
  7725. (23327)210 648 A
  7726. 1362(rw)S
  7727. 1488(=)S
  7728. ((rfilp->filp_mode)714 1572 A
  7729. 2328(&)S
  7730. (R_BIT)210 2412 A
  7731. 2664(?)S
  7732. (WRITE)210 2748 A
  7733. 3000(:)S
  7734. (READ);)252 3084 A
  7735. 5220 V
  7736. (23328)210 648 A
  7737. (release(rip,)504 1362 A
  7738. (rw,)126 1908 A
  7739. (NR_PROCS);)420 2076 A
  7740. 5310 V
  7741. (23329)210 648 A
  7742. 1110(})S
  7743. 5400 V
  7744. (23330)210 648 A
  7745. 5490 V
  7746. (23331)210 648 A
  7747. 1110(/*)S
  7748. 1236(If)S
  7749. 1362(a)S
  7750. (write)210 1446 A
  7751. (has)126 1698 A
  7752. (been)168 1866 A
  7753. (done,)210 2076 A
  7754. (the)126 2328 A
  7755. (inode)210 2496 A
  7756. 2748(is)S
  7757. (already)294 2874 A
  7758. (marked)252 3210 A
  7759. 3504(as)S
  7760. (DIRTY.)252 3630 A
  7761. 3924(*/)S
  7762. 5580 V
  7763. (23332)210 648 A
  7764. 1110(if)S
  7765. ((--rfilp->filp_count)840 1236 A
  7766. 2118(==)S
  7767. 2244(0))S
  7768. 2370({)S
  7769. 5670 V
  7770. (23333)210 648 A
  7771. 1362(if)S
  7772. ((rip->i_pipe)504 1488 A
  7773. 2034(==)S
  7774. (I_PIPE)252 2160 A
  7775. 2454(&&)S
  7776. (rip->i_count)504 2580 A
  7777. 3126(>)S
  7778. 3210(1))S
  7779. 3336({)S
  7780. 5760 V
  7781. (23334)210 648 A
  7782. 1698(/*)S
  7783. (Save)168 1824 A
  7784. (the)126 2034 A
  7785. (file)168 2202 A
  7786. (position)336 2412 A
  7787. 2790(in)S
  7788. (the)126 2916 A
  7789. (i-node)252 3084 A
  7790. 3378(in)S
  7791. (case)168 3504 A
  7792. (needed)252 3714 A
  7793. (later.)252 4008 A
  7794. 5850 V
  7795. (23335)210 648 A
  7796. 1740(*)S
  7797. (The)126 1824 A
  7798. (read)168 1992 A
  7799. (and)126 2202 A
  7800. (write)210 2370 A
  7801. (positions)378 2622 A
  7802. (are)126 3042 A
  7803. (saved)210 3210 A
  7804. (separately.)462 3462 A
  7805. (The)126 4008 A
  7806. 5940 V
  7807. (23336)210 648 A
  7808. 1740(*)S
  7809. (last)168 1824 A
  7810. 2034(3)S
  7811. (zones)210 2118 A
  7812. 2370(in)S
  7813. (the)126 2496 A
  7814. (i-node)252 2664 A
  7815. (are)126 2958 A
  7816. (not)126 3126 A
  7817. (used)168 3294 A
  7818. (for)126 3504 A
  7819. ((named))294 3672 A
  7820. (pipes.)252 4008 A
  7821. 6030 V
  7822. (23337)210 648 A
  7823. 1740(*/)S
  7824. 6120 V
  7825. (23338)210 648 A
  7826. 1698(if)S
  7827. ((rfilp->filp_mode)714 1824 A
  7828. 2580(==)S
  7829. (R_BIT))252 2706 A
  7830. 6210 V
  7831. (23339)210 648 A
  7832. (rip->i_zone[V2_NR_DZONES+1])1134 2034 A
  7833. 3210(=)S
  7834. ((zone_t))336 3294 A
  7835. (rfilp->filp_pos;)672 3672 A
  7836. 8418 V
  7837. EP
  7838. %%Page: 320 320
  7839. BP
  7840. /slant 0 def
  7841. /height 0 def
  7842. 630 V
  7843. 12 B
  7844. (320)180 648 A
  7845. 11 R
  7846. 2139(File:)S
  7847. 2372(src/fs/open.c)S
  7848. 10 R
  7849. 3402(MINIX)S
  7850. 3730(SOURCE)S
  7851. 4153(CODE)S
  7852. 900 V
  7853. 7 LST
  7854. (23340)210 648 A
  7855. (else)168 1698 A
  7856. 990 V
  7857. (23341)210 648 A
  7858. (rip->i_zone[V2_NR_DZONES+2])1134 2034 A
  7859. 3210(=)S
  7860. ((zone_t))336 3294 A
  7861. (rfilp->filp_pos;)672 3672 A
  7862. 1080 V
  7863. (23342)210 648 A
  7864. 1362(})S
  7865. 1170 V
  7866. (23343)210 648 A
  7867. (put_inode(rip);)630 1362 A
  7868. 1260 V
  7869. (23344)210 648 A
  7870. 1110(})S
  7871. 1350 V
  7872. (23345)210 648 A
  7873. 1440 V
  7874. (23346)210 648 A
  7875. (fp->fp_cloexec)588 1110 A
  7876. 1740(&=)S
  7877. (304(1L)168 1866 A
  7878. 2076(<<)S
  7879. (fd);)168 2202 A
  7880. 2706(/*)S
  7881. (turn)168 2832 A
  7882. (off)126 3042 A
  7883. (close-on-exec)546 3210 A
  7884. (bit)126 3798 A
  7885. 3966(*/)S
  7886. 1530 V
  7887. (23347)210 648 A
  7888. (fp->fp_filp[fd])630 1110 A
  7889. 1782(=)S
  7890. (NIL_FILP;)378 1866 A
  7891. 1620 V
  7892. (23348)210 648 A
  7893. 1710 V
  7894. (23349)210 648 A
  7895. 1110(/*)S
  7896. (Check)210 1236 A
  7897. 1488(to)S
  7898. (see)126 1614 A
  7899. 1782(if)S
  7900. (the)126 1908 A
  7901. (file)168 2076 A
  7902. 2286(is)S
  7903. (locked.)294 2412 A
  7904. 2790(If)S
  7905. (so,)126 2916 A
  7906. (release)294 3084 A
  7907. (all)126 3420 A
  7908. (locks.)252 3588 A
  7909. 3882(*/)S
  7910. 1800 V
  7911. (23350)210 648 A
  7912. 1110(if)S
  7913. ((nr_locks)378 1236 A
  7914. 1656(==)S
  7915. 1782(0))S
  7916. (return(OK);)462 1908 A
  7917. 1890 V
  7918. (23351)210 648 A
  7919. (lock_count)420 1110 A
  7920. 1572(=)S
  7921. (nr_locks;)378 1656 A
  7922. 2370(/*)S
  7923. (save)168 2496 A
  7924. (count)210 2706 A
  7925. 2958(of)S
  7926. (locks)210 3084 A
  7927. 3336(*/)S
  7928. 1980 V
  7929. (23352)210 648 A
  7930. (for)126 1110 A
  7931. ((flp)168 1278 A
  7932. 1488(=)S
  7933. (&file_lock[0];)588 1572 A
  7934. (flp)126 2202 A
  7935. 2370(<)S
  7936. (&file_lock[NR_LOCKS];)882 2454 A
  7937. (flp++))252 3378 A
  7938. 3672({)S
  7939. 2070 V
  7940. (23353)210 648 A
  7941. 1362(if)S
  7942. ((flp->lock_type)630 1488 A
  7943. 2160(==)S
  7944. 2286(0))S
  7945. (continue;)378 2412 A
  7946. 3042(/*)S
  7947. (slot)168 3168 A
  7948. (not)126 3378 A
  7949. 3546(in)S
  7950. (use)126 3672 A
  7951. 3840(*/)S
  7952. 2160 V
  7953. (23354)210 648 A
  7954. 1362(if)S
  7955. ((flp->lock_inode)672 1488 A
  7956. 2202(==)S
  7957. (rip)126 2328 A
  7958. 2496(&&)S
  7959. (flp->lock_pid)546 2622 A
  7960. 3210(==)S
  7961. (fp->fp_pid))462 3336 A
  7962. 3840({)S
  7963. 2250 V
  7964. (23355)210 648 A
  7965. (flp->lock_type)588 1698 A
  7966. 2328(=)S
  7967. 2412(0;)S
  7968. 2340 V
  7969. (23356)210 648 A
  7970. (nr_locks--;)462 1698 A
  7971. 2430 V
  7972. (23357)210 648 A
  7973. 1362(})S
  7974. 2520 V
  7975. (23358)210 648 A
  7976. 1110(})S
  7977. 2610 V
  7978. (23359)210 648 A
  7979. 1110(if)S
  7980. ((nr_locks)378 1236 A
  7981. 1656(<)S
  7982. (lock_count))462 1740 A
  7983. (lock_revive();)588 2244 A
  7984. 3042(/*)S
  7985. (lock)168 3168 A
  7986. (released)336 3378 A
  7987. 3756(*/)S
  7988. 2700 V
  7989. (23360)210 648 A
  7990. (return(OK);)462 1110 A
  7991. 2790 V
  7992. (23361)210 648 A
  7993. 1026(})S
  7994. 3060 V
  7995. (23364)210 648 A
  7996. (/*===========================================================================*)3276 1026 A
  7997. 3150 V
  7998. (23365)210 648 A
  7999. 1068(*)S
  8000. (do_lseek)336 2370 A
  8001. 4260(*)S
  8002. 3240 V
  8003. (23366)210 648 A
  8004. (*===========================================================================*/)3276 1068 A
  8005. 3330 V
  8006. (23367)210 648 A
  8007. (PUBLIC)252 1026 A
  8008. (int)126 1320 A
  8009. (do_lseek())420 1488 A
  8010. 3420 V
  8011. (23368)210 648 A
  8012. 1026({)S
  8013. 3510 V
  8014. (23369)210 648 A
  8015. 1026(/*)S
  8016. (Perform)294 1152 A
  8017. (the)126 1488 A
  8018. (lseek(ls_fd,)504 1656 A
  8019. (offset,)294 2202 A
  8020. (whence))294 2538 A
  8021. (system)252 2874 A
  8022. (call.)210 3168 A
  8023. 3420(*/)S
  8024. 3600 V
  8025. (23370)210 648 A
  8026. 3690 V
  8027. (23371)210 648 A
  8028. (register)336 1110 A
  8029. (struct)252 1488 A
  8030. (filp)168 1782 A
  8031. (*rfilp;)294 1992 A
  8032. 3780 V
  8033. (23372)210 648 A
  8034. (register)336 1110 A
  8035. (off_t)210 1488 A
  8036. (pos;)168 1740 A
  8037. 3870 V
  8038. (23373)210 648 A
  8039. 3960 V
  8040. (23374)210 648 A
  8041. 1110(/*)S
  8042. (Check)210 1236 A
  8043. 1488(to)S
  8044. (see)126 1614 A
  8045. 1782(if)S
  8046. (the)126 1908 A
  8047. (file)168 2076 A
  8048. (descriptor)420 2286 A
  8049. 2748(is)S
  8050. (valid.)252 2874 A
  8051. 3168(*/)S
  8052. 4050 V
  8053. (23375)210 648 A
  8054. 1110(if)S
  8055. 1236(()S
  8056. ((rfilp)252 1320 A
  8057. 1614(=)S
  8058. (get_filp(ls_fd)))672 1698 A
  8059. 2412(==)S
  8060. (NIL_FILP))378 2538 A
  8061. (return(err_code);)714 2958 A
  8062. 4140 V
  8063. (23376)210 648 A
  8064. 4230 V
  8065. (23377)210 648 A
  8066. 1110(/*)S
  8067. 1236(No)S
  8068. (lseek)210 1362 A
  8069. 1614(on)S
  8070. (pipes.)252 1740 A
  8071. 2034(*/)S
  8072. 4320 V
  8073. (23378)210 648 A
  8074. 1110(if)S
  8075. ((rfilp->filp_ino->i_pipe)1008 1236 A
  8076. 2286(==)S