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

操作系统开发

开发平台:

WINDOWS

  1. 2286(=)S
  2. (mkdir)210 2370 A
  3. 2706(*/)S
  4. 1170 V
  5. (20858)210 648 A
  6. (do_unlink,)420 1362 A
  7. 2034(/*)S
  8. 2160(40)S
  9. 2286(=)S
  10. (rmdir)210 2370 A
  11. 2706(*/)S
  12. 1260 V
  13. (20859)210 648 A
  14. (do_dup,)294 1362 A
  15. 2034(/*)S
  16. 2160(41)S
  17. 2286(=)S
  18. (dup)126 2370 A
  19. 2706(*/)S
  20. 1350 V
  21. (20860)210 648 A
  22. (do_pipe,)336 1362 A
  23. 2034(/*)S
  24. 2160(42)S
  25. 2286(=)S
  26. (pipe)168 2370 A
  27. 2706(*/)S
  28. 1440 V
  29. (20861)210 648 A
  30. (do_tims,)336 1362 A
  31. 2034(/*)S
  32. 2160(43)S
  33. 2286(=)S
  34. (times)210 2370 A
  35. 2706(*/)S
  36. 1530 V
  37. (20862)210 648 A
  38. (no_sys,)294 1362 A
  39. 2034(/*)S
  40. 2160(44)S
  41. 2286(=)S
  42. ((prof))252 2370 A
  43. 2706(*/)S
  44. 1620 V
  45. (20863)210 648 A
  46. (no_sys,)294 1362 A
  47. 2034(/*)S
  48. 2160(45)S
  49. 2286(=)S
  50. (unused)252 2370 A
  51. 2706(*/)S
  52. 1710 V
  53. (20864)210 648 A
  54. (do_set,)294 1362 A
  55. 2034(/*)S
  56. 2160(46)S
  57. 2286(=)S
  58. (setgid)252 2370 A
  59. 2706(*/)S
  60. 1800 V
  61. (20865)210 648 A
  62. (no_sys,)294 1362 A
  63. 2034(/*)S
  64. 2160(47)S
  65. 2286(=)S
  66. (getgid)252 2370 A
  67. 2706(*/)S
  68. 1890 V
  69. (20866)210 648 A
  70. (no_sys,)294 1362 A
  71. 2034(/*)S
  72. 2160(48)S
  73. 2286(=)S
  74. ((signal)*/)420 2370 A
  75. 1980 V
  76. (20867)210 648 A
  77. (no_sys,)294 1362 A
  78. 2034(/*)S
  79. 2160(49)S
  80. 2286(=)S
  81. (unused)252 2370 A
  82. 2706(*/)S
  83. 2070 V
  84. (20868)210 648 A
  85. (no_sys,)294 1362 A
  86. 2034(/*)S
  87. 2160(50)S
  88. 2286(=)S
  89. (unused)252 2370 A
  90. 2706(*/)S
  91. 2160 V
  92. (20869)210 648 A
  93. (no_sys,)294 1362 A
  94. 2034(/*)S
  95. 2160(51)S
  96. 2286(=)S
  97. ((acct))252 2370 A
  98. 2706(*/)S
  99. 2250 V
  100. (20870)210 648 A
  101. (no_sys,)294 1362 A
  102. 2034(/*)S
  103. 2160(52)S
  104. 2286(=)S
  105. ((phys))252 2370 A
  106. 2706(*/)S
  107. 2340 V
  108. (20871)210 648 A
  109. (no_sys,)294 1362 A
  110. 2034(/*)S
  111. 2160(53)S
  112. 2286(=)S
  113. ((lock))252 2370 A
  114. 2706(*/)S
  115. 2430 V
  116. (20872)210 648 A
  117. (do_ioctl,)378 1362 A
  118. 2034(/*)S
  119. 2160(54)S
  120. 2286(=)S
  121. (ioctl)210 2370 A
  122. 2706(*/)S
  123. 2520 V
  124. (20873)210 648 A
  125. (do_fcntl,)378 1362 A
  126. 2034(/*)S
  127. 2160(55)S
  128. 2286(=)S
  129. (fcntl)210 2370 A
  130. 2706(*/)S
  131. 2610 V
  132. (20874)210 648 A
  133. (no_sys,)294 1362 A
  134. 2034(/*)S
  135. 2160(56)S
  136. 2286(=)S
  137. ((mpx))210 2370 A
  138. 2706(*/)S
  139. 2700 V
  140. (20875)210 648 A
  141. (no_sys,)294 1362 A
  142. 2034(/*)S
  143. 2160(57)S
  144. 2286(=)S
  145. (unused)252 2370 A
  146. 2706(*/)S
  147. 2790 V
  148. (20876)210 648 A
  149. (no_sys,)294 1362 A
  150. 2034(/*)S
  151. 2160(58)S
  152. 2286(=)S
  153. (unused)252 2370 A
  154. 2706(*/)S
  155. 2880 V
  156. (20877)210 648 A
  157. (do_exec,)336 1362 A
  158. 2034(/*)S
  159. 2160(59)S
  160. 2286(=)S
  161. (execve)252 2370 A
  162. 2706(*/)S
  163. 2970 V
  164. (20878)210 648 A
  165. (do_umask,)378 1362 A
  166. 2034(/*)S
  167. 2160(60)S
  168. 2286(=)S
  169. (umask)210 2370 A
  170. 2706(*/)S
  171. 3060 V
  172. (20879)210 648 A
  173. (do_chroot,)420 1362 A
  174. 2034(/*)S
  175. 2160(61)S
  176. 2286(=)S
  177. (chroot)252 2370 A
  178. 2706(*/)S
  179. 3150 V
  180. (20880)210 648 A
  181. (do_setsid,)420 1362 A
  182. 2034(/*)S
  183. 2160(62)S
  184. 2286(=)S
  185. (setsid)252 2370 A
  186. 2706(*/)S
  187. 3240 V
  188. (20881)210 648 A
  189. (no_sys,)294 1362 A
  190. 2034(/*)S
  191. 2160(63)S
  192. 2286(=)S
  193. (getpgrp)294 2370 A
  194. 2706(*/)S
  195. 3330 V
  196. (20882)210 648 A
  197. 3420 V
  198. (20883)210 648 A
  199. (no_sys,)294 1362 A
  200. 2034(/*)S
  201. 2160(64)S
  202. 2286(=)S
  203. (KSIG:)210 2370 A
  204. (signals)294 2622 A
  205. (originating)462 2958 A
  206. 3462(in)S
  207. (the)126 3588 A
  208. (kernel)252 3756 A
  209. 4050(*/)S
  210. 3510 V
  211. (20884)210 648 A
  212. (do_unpause,)462 1362 A
  213. 2034(/*)S
  214. 2160(65)S
  215. 2286(=)S
  216. (UNPAUSE)294 2370 A
  217. 2706(*/)S
  218. 3600 V
  219. (20885)210 648 A
  220. (no_sys,)294 1362 A
  221. 2034(/*)S
  222. 2160(66)S
  223. 2286(=)S
  224. (unused)252 2370 A
  225. 2706(*/)S
  226. 3690 V
  227. (20886)210 648 A
  228. (do_revive,)420 1362 A
  229. 2034(/*)S
  230. 2160(67)S
  231. 2286(=)S
  232. (REVIVE)252 2370 A
  233. 2706(*/)S
  234. 3780 V
  235. (20887)210 648 A
  236. (no_sys,)294 1362 A
  237. 2034(/*)S
  238. 2160(68)S
  239. 2286(=)S
  240. (TASK_REPLY)420 2370 A
  241. 3042(*/)S
  242. 3870 V
  243. (20888)210 648 A
  244. (no_sys,)294 1362 A
  245. 2034(/*)S
  246. 2160(69)S
  247. 2286(=)S
  248. (unused)252 2370 A
  249. 2664(*/)S
  250. 3960 V
  251. (20889)210 648 A
  252. (no_sys,)294 1362 A
  253. 2034(/*)S
  254. 2160(70)S
  255. 2286(=)S
  256. (unused)252 2370 A
  257. 2664(*/)S
  258. 4050 V
  259. (20890)210 648 A
  260. (no_sys,)294 1362 A
  261. 2034(/*)S
  262. 2160(71)S
  263. 2286(=)S
  264. (SIGACTION)378 2370 A
  265. 2790(*/)S
  266. 4140 V
  267. (20891)210 648 A
  268. (no_sys,)294 1362 A
  269. 2034(/*)S
  270. 2160(72)S
  271. 2286(=)S
  272. (SIGSUSPEND)420 2370 A
  273. 2832(*/)S
  274. 4230 V
  275. (20892)210 648 A
  276. (no_sys,)294 1362 A
  277. 2034(/*)S
  278. 2160(73)S
  279. 2286(=)S
  280. (SIGPENDING)420 2370 A
  281. 2832(*/)S
  282. 4320 V
  283. (20893)210 648 A
  284. (no_sys,)294 1362 A
  285. 2034(/*)S
  286. 2160(74)S
  287. 2286(=)S
  288. (SIGPROCMASK)462 2370 A
  289. 2874(*/)S
  290. 4410 V
  291. (20894)210 648 A
  292. (no_sys,)294 1362 A
  293. 2034(/*)S
  294. 2160(75)S
  295. 2286(=)S
  296. (SIGRETURN)378 2370 A
  297. 2790(*/)S
  298. 4500 V
  299. (20895)210 648 A
  300. (no_sys,)294 1362 A
  301. 2034(/*)S
  302. 2160(76)S
  303. 2286(=)S
  304. (REBOOT)252 2370 A
  305. 2664(*/)S
  306. 4590 V
  307. (20896)210 648 A
  308. 1026(};)S
  309. 4680 V
  310. (20897)210 648 A
  311. 4770 V
  312. (20898)210 648 A
  313. 4860 V
  314. (20899)210 648 A
  315. 1026(/*)S
  316. (Some)168 1152 A
  317. (devices)294 1362 A
  318. (may)126 1698 A
  319. 1866(or)S
  320. (may)126 1992 A
  321. (not)126 2160 A
  322. 2328(be)S
  323. (there)210 2454 A
  324. 2706(in)S
  325. (the)126 2832 A
  326. (next)168 3000 A
  327. (table.)252 3210 A
  328. 3504(*/)S
  329. 4950 V
  330. (20900)210 648 A
  331. (#define)294 1026 A
  332. (DT(enable,)420 1362 A
  333. (open,)210 1824 A
  334. (rw,)126 2076 A
  335. (close,)252 2244 A
  336. (task))210 2538 A
  337. 2790(\)S
  338. 5040 V
  339. (20901)210 648 A
  340. 1362({)S
  341. ((enable)294 1446 A
  342. 1782(?)S
  343. ((open))252 1866 A
  344. 2160(:)S
  345. (no_dev),)336 2244 A
  346. ((enable)294 2622 A
  347. 2958(?)S
  348. ((rw))168 3042 A
  349. 3252(:)S
  350. (no_dev),)336 3336 A
  351. 3714(\)S
  352. 5130 V
  353. (20902)210 648 A
  354. ((enable)294 1446 A
  355. 1782(?)S
  356. ((close))294 1866 A
  357. 2202(:)S
  358. (no_dev),)336 2286 A
  359. ((enable)294 2664 A
  360. 3000(?)S
  361. ((task))252 3084 A
  362. 3378(:)S
  363. 3462(0))S
  364. 3588(},)S
  365. 5220 V
  366. (20903)210 648 A
  367. 5310 V
  368. (20904)210 648 A
  369. 1026(/*)S
  370. (The)126 1152 A
  371. (order)210 1320 A
  372. 1572(of)S
  373. (the)126 1698 A
  374. (entries)294 1866 A
  375. (here)168 2202 A
  376. (determines)420 2412 A
  377. (the)126 2874 A
  378. (mapping)294 3042 A
  379. (between)294 3378 A
  380. (major)210 3714 A
  381. (device)252 3966 A
  382. 5400 V
  383. (20905)210 648 A
  384. 1068(*)S
  385. (numbers)294 1152 A
  386. (and)126 1488 A
  387. (tasks.)252 1656 A
  388. (The)126 1992 A
  389. (first)210 2160 A
  390. (entry)210 2412 A
  391. ((major)252 2664 A
  392. (device)252 2958 A
  393. 3252(0))S
  394. 3378(is)S
  395. (not)126 3504 A
  396. (used.)210 3672 A
  397. (The)126 3966 A
  398. 5490 V
  399. (20906)210 648 A
  400. 1068(*)S
  401. (next)168 1152 A
  402. (entry)210 1362 A
  403. 1614(is)S
  404. (major)210 1740 A
  405. (device)252 1992 A
  406. 2286(1,)S
  407. (etc.)168 2412 A
  408. (Character)378 2664 A
  409. (and)126 3084 A
  410. (block)210 3252 A
  411. (devices)294 3504 A
  412. (can)126 3840 A
  413. 4008(be)S
  414. 5580 V
  415. (20907)210 648 A
  416. 1068(*)S
  417. (intermixed)420 1152 A
  418. 1614(at)S
  419. (random.)294 1740 A
  420. 2118(If)S
  421. (this)168 2244 A
  422. (ordering)336 2454 A
  423. 2832(is)S
  424. (changed,)336 2958 A
  425. (the)126 3336 A
  426. (devices)294 3504 A
  427. 3840(in)S
  428. 5670 V
  429. (20908)210 648 A
  430. 1068(*)S
  431. (<include/minix/boot.h>)924 1152 A
  432. (must)168 2118 A
  433. 2328(be)S
  434. (changed)294 2454 A
  435. 2790(to)S
  436. (correspond)420 2916 A
  437. 3378(to)S
  438. (the)126 3504 A
  439. (new)126 3672 A
  440. (values.)294 3840 A
  441. 5760 V
  442. (20909)210 648 A
  443. 1068(*)S
  444. (Note)168 1152 A
  445. (that)168 1362 A
  446. (the)126 1572 A
  447. (major)210 1740 A
  448. (device)252 1992 A
  449. (numbers)294 2286 A
  450. (used)168 2622 A
  451. 2832(in)S
  452. (/dev)168 2958 A
  453. (are)126 3168 A
  454. (NOT)126 3336 A
  455. (the)126 3504 A
  456. (same)168 3672 A
  457. 3882(as)S
  458. (the)126 4008 A
  459. 5850 V
  460. (20910)210 648 A
  461. 1068(*)S
  462. (task)168 1152 A
  463. (numbers)294 1362 A
  464. (used)168 1698 A
  465. (inside)252 1908 A
  466. (the)126 2202 A
  467. (kernel)252 2370 A
  468. ((as)126 2664 A
  469. (defined)294 2832 A
  470. 3168(in)S
  471. (<include/minix/com.h>).)966 3294 A
  472. 5940 V
  473. (20911)210 648 A
  474. 1068(*)S
  475. (Also)168 1152 A
  476. (note)168 1362 A
  477. (that)168 1572 A
  478. 1782(if)S
  479. (/dev/mem)336 1908 A
  480. 2286(is)S
  481. (changed)294 2412 A
  482. (from)168 2748 A
  483. 2958(1,)S
  484. (NULL_MAJOR)420 3084 A
  485. (must)168 3546 A
  486. 3756(be)S
  487. (changed)294 3882 A
  488. 6030 V
  489. (20912)210 648 A
  490. 1068(*)S
  491. 1152(in)S
  492. (<include/minix/com.h>.)924 1278 A
  493. 6120 V
  494. (20913)210 648 A
  495. 1068(*/)S
  496. 6210 V
  497. (20914)210 648 A
  498. (PUBLIC)252 1026 A
  499. (struct)252 1320 A
  500. (dmap)168 1614 A
  501. (dmap[])252 1824 A
  502. 2118(=)S
  503. 2202({)S
  504. 8418 V
  505. EP
  506. %%Page: 283 283
  507. BP
  508. /slant 0 def
  509. /height 0 def
  510. 630 V
  511. 10 R
  512. 648(MINIX)S
  513. 976(SOURCE)S
  514. 1399(CODE)S
  515. 11 R
  516. 2138(File:)S
  517. 2371(src/fs/table.c)S
  518. 12 B
  519. (283)180 4248 A
  520. 900 V
  521. 7 LST
  522. (20915)210 648 A
  523. 1026(/*)S
  524. 1194(?)S
  525. (Open)168 1362 A
  526. (Read/Write)420 1824 A
  527. (Close)210 2370 A
  528. (Task)168 2874 A
  529. 3084(#)S
  530. (Device)252 3378 A
  531. (File)168 3714 A
  532. 990 V
  533. (20916)210 648 A
  534. 1194(-)S
  535. (----)168 1362 A
  536. (----------)420 1824 A
  537. (-----)210 2370 A
  538. (-------)294 2874 A
  539. (------)252 3378 A
  540. (----)168 3714 A
  541. 4176(*/)S
  542. 1080 V
  543. (20917)210 648 A
  544. (DT(1,)210 1110 A
  545. (no_dev,)294 1362 A
  546. (no_dev,)294 1824 A
  547. (no_dev,)294 2370 A
  548. 2874(0))S
  549. 3420(/*)S
  550. 3546(0)S
  551. 3630(=)S
  552. (not)126 3714 A
  553. (used)168 3882 A
  554. 4176(*/)S
  555. 1170 V
  556. (20918)210 648 A
  557. (DT(1,)210 1110 A
  558. (dev_opcl,)378 1362 A
  559. (call_task,)420 1824 A
  560. (dev_opcl,)378 2370 A
  561. (MEM))168 2874 A
  562. 3420(/*)S
  563. 3546(1)S
  564. 3630(=)S
  565. (/dev/mem)336 3714 A
  566. 4176(*/)S
  567. 1260 V
  568. (20919)210 648 A
  569. (DT(1,)210 1110 A
  570. (dev_opcl,)378 1362 A
  571. (call_task,)420 1824 A
  572. (dev_opcl,)378 2370 A
  573. (FLOPPY))294 2874 A
  574. 3420(/*)S
  575. 3546(2)S
  576. 3630(=)S
  577. (/dev/fd0)336 3714 A
  578. 4176(*/)S
  579. 1350 V
  580. (20920)210 648 A
  581. (DT(ENABLE_WINI,)630 1110 A
  582. 1440 V
  583. (20921)210 648 A
  584. (dev_opcl,)378 1362 A
  585. (call_task,)420 1824 A
  586. (dev_opcl,)378 2370 A
  587. (WINCHESTER))462 2874 A
  588. 3420(/*)S
  589. 3546(3)S
  590. 3630(=)S
  591. (/dev/hd0)336 3714 A
  592. 4176(*/)S
  593. 1530 V
  594. (20922)210 648 A
  595. (DT(1,)210 1110 A
  596. (tty_open,)378 1362 A
  597. (call_task,)420 1824 A
  598. (dev_opcl,)378 2370 A
  599. (TTY))168 2874 A
  600. 3420(/*)S
  601. 3546(4)S
  602. 3630(=)S
  603. (/dev/tty00)420 3714 A
  604. 4176(*/)S
  605. 1620 V
  606. (20923)210 648 A
  607. (DT(1,)210 1110 A
  608. (ctty_open,)420 1362 A
  609. (call_ctty,)420 1824 A
  610. (ctty_close,)462 2370 A
  611. (TTY))168 2874 A
  612. 3420(/*)S
  613. 3546(5)S
  614. 3630(=)S
  615. (/dev/tty)336 3714 A
  616. 4176(*/)S
  617. 1710 V
  618. (20924)210 648 A
  619. (DT(1,)210 1110 A
  620. (dev_opcl,)378 1362 A
  621. (call_task,)420 1824 A
  622. (dev_opcl,)378 2370 A
  623. (PRINTER))336 2916 A
  624. 3462(/*)S
  625. 3588(6)S
  626. 3672(=)S
  627. (/dev/lp)294 3756 A
  628. 4218(*/)S
  629. 1800 V
  630. (20925)210 648 A
  631. 1890 V
  632. (20926)210 648 A
  633. (#if)126 1026 A
  634. ((MACHINE)336 1194 A
  635. 1572(==)S
  636. (IBM_PC))294 1698 A
  637. 1980 V
  638. (20927)210 648 A
  639. (DT(ENABLE_NETWORKING,)882 1110 A
  640. 2070 V
  641. (20928)210 648 A
  642. (net_open,)378 1362 A
  643. (call_task,)420 1824 A
  644. (dev_opcl,)378 2370 A
  645. (INET_PROC_NR)/*)630 2874 A
  646. 3546(7)S
  647. 3630(=)S
  648. (/dev/ip)294 3714 A
  649. 4176(*/)S
  650. 2160 V
  651. (20929)210 648 A
  652. (DT(ENABLE_CDROM,)672 1110 A
  653. 2250 V
  654. (20930)210 648 A
  655. (dev_opcl,)378 1362 A
  656. (call_task,)420 1824 A
  657. (dev_opcl,)378 2370 A
  658. (CDROM))252 2874 A
  659. 3420(/*)S
  660. 3546(8)S
  661. 3630(=)S
  662. (/dev/cd0)336 3714 A
  663. 4176(*/)S
  664. 2340 V
  665. (20931)210 648 A
  666. (DT(0,)210 1110 A
  667. 1362(0,)S
  668. 1824(0,)S
  669. 2370(0,)S
  670. 2874(0))S
  671. 3420(/*)S
  672. 3546(9)S
  673. 3630(=)S
  674. (not)126 3714 A
  675. (used)168 3882 A
  676. 4176(*/)S
  677. 2430 V
  678. (20932)210 648 A
  679. (DT(ENABLE_SCSI,)630 1110 A
  680. 2520 V
  681. (20933)210 648 A
  682. (dev_opcl,)378 1362 A
  683. (call_task,)420 1824 A
  684. (dev_opcl,)378 2370 A
  685. (SCSI))210 2874 A
  686. (/*10)168 3420 A
  687. 3630(=)S
  688. (/dev/sd0)336 3714 A
  689. 4176(*/)S
  690. 2610 V
  691. (20934)210 648 A
  692. (DT(0,)210 1110 A
  693. 1362(0,)S
  694. 1824(0,)S
  695. 2370(0,)S
  696. 2874(0))S
  697. (/*11)168 3420 A
  698. 3630(=)S
  699. (not)126 3714 A
  700. (used)168 3882 A
  701. 4176(*/)S
  702. 2700 V
  703. (20935)210 648 A
  704. (DT(0,)210 1110 A
  705. 1362(0,)S
  706. 1824(0,)S
  707. 2370(0,)S
  708. 2874(0))S
  709. (/*12)168 3420 A
  710. 3630(=)S
  711. (not)126 3714 A
  712. (used)168 3882 A
  713. 4176(*/)S
  714. 2790 V
  715. (20936)210 648 A
  716. (DT(ENABLE_AUDIO,)672 1110 A
  717. 2880 V
  718. (20937)210 648 A
  719. (dev_opcl,)378 1362 A
  720. (call_task,)420 1824 A
  721. (dev_opcl,)378 2370 A
  722. (AUDIO))252 2874 A
  723. (/*13)168 3420 A
  724. 3630(=)S
  725. (/dev/audio)420 3714 A
  726. 4176(*/)S
  727. 2970 V
  728. (20938)210 648 A
  729. (DT(ENABLE_AUDIO,)672 1110 A
  730. 3060 V
  731. (20939)210 648 A
  732. (dev_opcl,)378 1362 A
  733. (call_task,)420 1824 A
  734. (dev_opcl,)378 2370 A
  735. (MIXER))252 2874 A
  736. (/*14)168 3420 A
  737. 3630(=)S
  738. (/dev/mixer)420 3714 A
  739. 4176(*/)S
  740. 3150 V
  741. (20940)210 648 A
  742. (#endif)252 1026 A
  743. 1320(/*)S
  744. (IBM_PC)252 1446 A
  745. 1740(*/)S
  746. 3240 V
  747. (20941)210 648 A
  748. 3330 V
  749. (20942)210 648 A
  750. (#if)126 1026 A
  751. ((MACHINE)336 1194 A
  752. 1572(==)S
  753. (ATARI))252 1698 A
  754. 3420 V
  755. (20943)210 648 A
  756. (DT(ENABLE_SCSI,)630 1110 A
  757. 3510 V
  758. (20944)210 648 A
  759. (dev_opcl,)378 1362 A
  760. (call_task,)420 1824 A
  761. (dev_opcl,)378 2370 A
  762. (SCSI))210 2874 A
  763. 3420(/*)S
  764. 3546(7)S
  765. 3630(=)S
  766. (/dev/hdscsi0)504 3714 A
  767. 4260(*/)S
  768. 3600 V
  769. (20945)210 648 A
  770. (#endif)252 1026 A
  771. 3690 V
  772. (20946)210 648 A
  773. 1026(};)S
  774. 3780 V
  775. (20947)210 648 A
  776. 3870 V
  777. (20948)210 648 A
  778. (PUBLIC)252 1026 A
  779. (int)126 1320 A
  780. (max_major)378 1488 A
  781. 1908(=)S
  782. (sizeof(dmap)/sizeof(struct)1092 1992 A
  783. (dmap);)252 3126 A
  784. 4140 V
  785. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  786. 4230 V
  787. (src/fs/cache.c)588 2034 A
  788. 4320 V
  789. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  790. 4500 V
  791. (21000)210 648 A
  792. 1026(/*)S
  793. (The)126 1152 A
  794. (file)168 1320 A
  795. (system)252 1530 A
  796. (maintains)378 1824 A
  797. 2244(a)S
  798. (buffer)252 2328 A
  799. (cache)210 2622 A
  800. 2874(to)S
  801. (reduce)252 3000 A
  802. (the)126 3294 A
  803. (number)252 3462 A
  804. 3756(of)S
  805. (disk)168 3882 A
  806. 4590 V
  807. (21001)210 648 A
  808. 1068(*)S
  809. (accesses)336 1152 A
  810. (needed.)294 1530 A
  811. (Whenever)336 1908 A
  812. 2286(a)S
  813. (read)168 2370 A
  814. 2580(or)S
  815. (write)210 2706 A
  816. 2958(to)S
  817. (the)126 3084 A
  818. (disk)168 3252 A
  819. 3462(is)S
  820. (done,)210 3588 A
  821. 3840(a)S
  822. (check)210 3924 A
  823. 4176(is)S
  824. 4680 V
  825. (21002)210 648 A
  826. 1068(*)S
  827. (first)210 1152 A
  828. (made)168 1404 A
  829. 1614(to)S
  830. (see)126 1740 A
  831. 1908(if)S
  832. (the)126 2034 A
  833. (block)210 2202 A
  834. 2454(is)S
  835. 2580(in)S
  836. (the)126 2706 A
  837. (cache.)252 2874 A
  838. (This)168 3210 A
  839. (file)168 3420 A
  840. (manages)294 3630 A
  841. (the)126 3966 A
  842. 4770 V
  843. (21003)210 648 A
  844. 1068(*)S
  845. (cache.)252 1152 A
  846. 4860 V
  847. (21004)210 648 A
  848. 1068(*)S
  849. 4950 V
  850. (21005)210 648 A
  851. 1068(*)S
  852. (The)126 1152 A
  853. (entry)210 1320 A
  854. (points)252 1572 A
  855. (into)168 1866 A
  856. (this)168 2076 A
  857. (file)168 2286 A
  858. (are:)168 2496 A
  859. 5040 V
  860. (21006)210 648 A
  861. 1068(*)S
  862. (get_block:)420 1236 A
  863. (request)294 1782 A
  864. 2118(to)S
  865. (fetch)210 2244 A
  866. 2496(a)S
  867. (block)210 2580 A
  868. (for)126 2832 A
  869. (reading)294 3000 A
  870. 3336(or)S
  871. (writing)294 3462 A
  872. (from)168 3798 A
  873. (cache)210 4008 A
  874. 5130 V
  875. (21007)210 648 A
  876. 1068(*)S
  877. (put_block:)420 1236 A
  878. (return)252 1782 A
  879. 2076(a)S
  880. (block)210 2160 A
  881. (previously)420 2412 A
  882. (requested)378 2874 A
  883. (with)168 3294 A
  884. (get_block)378 3504 A
  885. 5220 V
  886. (21008)210 648 A
  887. 1068(*)S
  888. (alloc_zone:)462 1236 A
  889. (allocate)336 1782 A
  890. 2160(a)S
  891. (new)126 2244 A
  892. (zone)168 2412 A
  893. ((to)126 2622 A
  894. (increase)336 2790 A
  895. (the)126 3168 A
  896. (length)252 3336 A
  897. 3630(of)S
  898. 3756(a)S
  899. (file))210 3840 A
  900. 5310 V
  901. (21009)210 648 A
  902. 1068(*)S
  903. (free_zone:)420 1236 A
  904. (release)294 1782 A
  905. 2118(a)S
  906. (zone)168 2202 A
  907. ((when)210 2412 A
  908. 2664(a)S
  909. (file)168 2748 A
  910. 2958(is)S
  911. (removed))336 3084 A
  912. 5400 V
  913. (21010)210 648 A
  914. 1068(*)S
  915. (rw_block:)378 1236 A
  916. (read)168 1782 A
  917. 1992(or)S
  918. (write)210 2118 A
  919. 2370(a)S
  920. (block)210 2454 A
  921. (from)168 2706 A
  922. (the)126 2916 A
  923. (disk)168 3084 A
  924. (itself)252 3294 A
  925. 5490 V
  926. (21011)210 648 A
  927. 1068(*)S
  928. (invalidate:)462 1236 A
  929. (remove)252 1782 A
  930. (all)126 2076 A
  931. (the)126 2244 A
  932. (cache)210 2412 A
  933. (blocks)252 2664 A
  934. 2958(on)S
  935. (some)168 3084 A
  936. (device)252 3294 A
  937. 5580 V
  938. (21012)210 648 A
  939. 1068(*/)S
  940. 5670 V
  941. (21013)210 648 A
  942. 5760 V
  943. (21014)210 648 A
  944. (#include)336 1026 A
  945. ("fs.h")252 1404 A
  946. 5850 V
  947. (21015)210 648 A
  948. (#include)336 1026 A
  949. (<minix/com.h>)546 1404 A
  950. 5940 V
  951. (21016)210 648 A
  952. (#include)336 1026 A
  953. (<minix/boot.h>)588 1404 A
  954. 6030 V
  955. (21017)210 648 A
  956. (#include)336 1026 A
  957. ("buf.h")294 1404 A
  958. 6120 V
  959. (21018)210 648 A
  960. (#include)336 1026 A
  961. ("file.h")336 1404 A
  962. 6210 V
  963. (21019)210 648 A
  964. (#include)336 1026 A
  965. ("fproc.h")378 1404 A
  966. 8418 V
  967. EP
  968. %%Page: 284 284
  969. BP
  970. /slant 0 def
  971. /height 0 def
  972. 630 V
  973. 12 B
  974. (284)180 648 A
  975. 11 R
  976. 2119(File:)S
  977. (src/fs/cache.c)605 2352 A
  978. 10 R
  979. 3402(MINIX)S
  980. 3730(SOURCE)S
  981. 4153(CODE)S
  982. 900 V
  983. 7 LST
  984. (21020)210 648 A
  985. (#include)336 1026 A
  986. ("super.h")378 1404 A
  987. 990 V
  988. (21021)210 648 A
  989. 1080 V
  990. (21022)210 648 A
  991. (FORWARD)294 1026 A
  992. (_PROTOTYPE()462 1362 A
  993. (void)168 1866 A
  994. (rm_lru,)294 2076 A
  995. ((struct)294 2412 A
  996. (buf)126 2748 A
  997. (*bp))168 2916 A
  998. 3126();)S
  999. 1170 V
  1000. (21023)210 648 A
  1001. 1260 V
  1002. (21024)210 648 A
  1003. (/*===========================================================================*)3276 1026 A
  1004. 1350 V
  1005. (21025)210 648 A
  1006. 1068(*)S
  1007. (get_block)378 2370 A
  1008. 4260(*)S
  1009. 1440 V
  1010. (21026)210 648 A
  1011. (*===========================================================================*/)3276 1068 A
  1012. 1530 V
  1013. (21027)210 648 A
  1014. (PUBLIC)252 1026 A
  1015. (struct)252 1320 A
  1016. (buf)126 1614 A
  1017. (*get_block(dev,)630 1782 A
  1018. (block,)252 2454 A
  1019. (only_search))504 2748 A
  1020. 1620 V
  1021. (21028)210 648 A
  1022. (register)336 1026 A
  1023. (dev_t)210 1404 A
  1024. (dev;)168 1656 A
  1025. 2370(/*)S
  1026. 2496(on)S
  1027. (which)210 2622 A
  1028. (device)252 2874 A
  1029. 3168(is)S
  1030. (the)126 3294 A
  1031. (block?)252 3462 A
  1032. 3756(*/)S
  1033. 1710 V
  1034. (21029)210 648 A
  1035. (register)336 1026 A
  1036. (block_t)294 1404 A
  1037. (block;)252 1740 A
  1038. 2370(/*)S
  1039. (which)210 2496 A
  1040. (block)210 2748 A
  1041. 3000(is)S
  1042. (wanted?)294 3126 A
  1043. 3462(*/)S
  1044. 1800 V
  1045. (21030)210 648 A
  1046. (int)126 1026 A
  1047. (only_search;)504 1194 A
  1048. 2370(/*)S
  1049. 2496(if)S
  1050. (NO_READ,)336 2622 A
  1051. (don't)210 3000 A
  1052. (read,)210 3252 A
  1053. (else)168 3504 A
  1054. (act)126 3714 A
  1055. (normal)252 3882 A
  1056. 4176(*/)S
  1057. 1890 V
  1058. (21031)210 648 A
  1059. 1026({)S
  1060. 1980 V
  1061. (21032)210 648 A
  1062. 1026(/*)S
  1063. (Check)210 1152 A
  1064. 1404(to)S
  1065. (see)126 1530 A
  1066. 1698(if)S
  1067. (the)126 1824 A
  1068. (requested)378 1992 A
  1069. (block)210 2412 A
  1070. 2664(is)S
  1071. 2790(in)S
  1072. (the)126 2916 A
  1073. (block)210 3084 A
  1074. (cache.)252 3336 A
  1075. 3672(If)S
  1076. (so,)126 3798 A
  1077. (return)252 3966 A
  1078. 2070 V
  1079. (21033)210 648 A
  1080. 1068(*)S
  1081. 1152(a)S
  1082. (pointer)294 1236 A
  1083. 1572(to)S
  1084. (it.)126 1698 A
  1085. 1908(If)S
  1086. (not,)168 2034 A
  1087. (evict)210 2244 A
  1088. (some)168 2496 A
  1089. (other)210 2706 A
  1090. (block)210 2958 A
  1091. (and)126 3210 A
  1092. (fetch)210 3378 A
  1093. 3630(it)S
  1094. ((unless)294 3756 A
  1095. 2160 V
  1096. (21034)210 648 A
  1097. 1068(*)S
  1098. ('only_search')546 1152 A
  1099. 1740(is)S
  1100. (1).)126 1866 A
  1101. (All)126 2076 A
  1102. (the)126 2244 A
  1103. (blocks)252 2412 A
  1104. 2706(in)S
  1105. (the)126 2832 A
  1106. (cache)210 3000 A
  1107. (that)168 3252 A
  1108. (are)126 3462 A
  1109. (not)126 3630 A
  1110. 3798(in)S
  1111. (use)126 3924 A
  1112. 2250 V
  1113. (21035)210 648 A
  1114. 1068(*)S
  1115. (are)126 1152 A
  1116. (linked)252 1320 A
  1117. (together)336 1614 A
  1118. 1992(in)S
  1119. 2118(a)S
  1120. (chain,)252 2202 A
  1121. (with)168 2496 A
  1122. ('front')294 2706 A
  1123. (pointing)336 3042 A
  1124. 3420(to)S
  1125. (the)126 3546 A
  1126. (least)210 3714 A
  1127. (recently)336 3966 A
  1128. 2340 V
  1129. (21036)210 648 A
  1130. 1068(*)S
  1131. (used)168 1152 A
  1132. (block)210 1362 A
  1133. (and)126 1614 A
  1134. ('rear')252 1782 A
  1135. 2076(to)S
  1136. (the)126 2202 A
  1137. (most)168 2370 A
  1138. (recently)336 2580 A
  1139. (used)168 2958 A
  1140. (block.)252 3168 A
  1141. 3504(If)S
  1142. ('only_search')546 3630 A
  1143. 4218(is)S
  1144. 2430 V
  1145. (21037)210 648 A
  1146. 1068(*)S
  1147. 1152(1,)S
  1148. (the)126 1278 A
  1149. (block)210 1446 A
  1150. (being)210 1698 A
  1151. (requested)378 1950 A
  1152. (will)168 2370 A
  1153. 2580(be)S
  1154. (overwritten)462 2706 A
  1155. 3210(in)S
  1156. (its)126 3336 A
  1157. (entirety,)378 3504 A
  1158. 3924(so)S
  1159. 4050(it)S
  1160. 4176(is)S
  1161. 2520 V
  1162. (21038)210 648 A
  1163. 1068(*)S
  1164. (only)168 1152 A
  1165. (necessary)378 1362 A
  1166. 1782(to)S
  1167. (see)126 1908 A
  1168. 2076(if)S
  1169. 2202(it)S
  1170. 2328(is)S
  1171. 2454(in)S
  1172. (the)126 2580 A
  1173. (cache;)252 2748 A
  1174. 3042(if)S
  1175. 3168(it)S
  1176. 3294(is)S
  1177. (not,)168 3420 A
  1178. (any)126 3630 A
  1179. (free)168 3798 A
  1180. (buffer)252 4008 A
  1181. 2610 V
  1182. (21039)210 648 A
  1183. 1068(*)S
  1184. (will)168 1152 A
  1185. (do.)126 1362 A
  1186. 1572(It)S
  1187. 1698(is)S
  1188. (not)126 1824 A
  1189. (necessary)378 1992 A
  1190. 2412(to)S
  1191. (actually)336 2538 A
  1192. (read)168 2916 A
  1193. (the)126 3126 A
  1194. (block)210 3294 A
  1195. 3546(in)S
  1196. (from)168 3672 A
  1197. (disk.)210 3882 A
  1198. 2700 V
  1199. (21040)210 648 A
  1200. 1068(*)S
  1201. 1152(If)S
  1202. ('only_search')546 1278 A
  1203. 1866(is)S
  1204. (PREFETCH,)378 1992 A
  1205. (the)126 2412 A
  1206. (block)210 2580 A
  1207. (need)168 2832 A
  1208. (not)126 3042 A
  1209. 3210(be)S
  1210. (read)168 3336 A
  1211. (from)168 3546 A
  1212. (the)126 3756 A
  1213. (disk,)210 3924 A
  1214. 2790 V
  1215. (21041)210 648 A
  1216. 1068(*)S
  1217. (and)126 1152 A
  1218. (the)126 1320 A
  1219. (device)252 1488 A
  1220. 1782(is)S
  1221. (not)126 1908 A
  1222. 2076(to)S
  1223. 2202(be)S
  1224. (marked)252 2328 A
  1225. 2622(on)S
  1226. (the)126 2748 A
  1227. (block,)252 2916 A
  1228. 3210(so)S
  1229. (callers)294 3336 A
  1230. (can)126 3672 A
  1231. (tell)168 3840 A
  1232. 4050(if)S
  1233. 2880 V
  1234. (21042)210 648 A
  1235. 1068(*)S
  1236. (the)126 1152 A
  1237. (block)210 1320 A
  1238. (returned)336 1572 A
  1239. 1950(is)S
  1240. (valid.)252 2076 A
  1241. 2970 V
  1242. (21043)210 648 A
  1243. 1068(*)S
  1244. 1152(In)S
  1245. (addition)336 1278 A
  1246. 1656(to)S
  1247. (the)126 1782 A
  1248. (LRU)126 1950 A
  1249. (chain,)252 2118 A
  1250. (there)210 2412 A
  1251. 2664(is)S
  1252. (also)168 2790 A
  1253. 3000(a)S
  1254. (hash)168 3084 A
  1255. (chain)210 3294 A
  1256. 3546(to)S
  1257. (link)168 3672 A
  1258. (together)336 3882 A
  1259. 3060 V
  1260. (21044)210 648 A
  1261. 1068(*)S
  1262. (blocks)252 1152 A
  1263. (whose)210 1446 A
  1264. (block)210 1698 A
  1265. (numbers)294 1950 A
  1266. (end)126 2286 A
  1267. (with)168 2454 A
  1268. (the)126 2664 A
  1269. (same)168 2832 A
  1270. (bit)126 3042 A
  1271. (strings,)336 3210 A
  1272. (for)126 3588 A
  1273. (fast)168 3756 A
  1274. (lookup.)294 3966 A
  1275. 3150 V
  1276. (21045)210 648 A
  1277. 1068(*/)S
  1278. 3240 V
  1279. (21046)210 648 A
  1280. 3330 V
  1281. (21047)210 648 A
  1282. (int)126 1110 A
  1283. 1278(b;)S
  1284. 3420 V
  1285. (21048)210 648 A
  1286. (register)336 1110 A
  1287. (struct)252 1488 A
  1288. (buf)126 1782 A
  1289. (*bp,)168 1950 A
  1290. (*prev_ptr;)420 2160 A
  1291. 3510 V
  1292. (21049)210 648 A
  1293. 3600 V
  1294. (21050)210 648 A
  1295. 1110(/*)S
  1296. (Search)252 1236 A
  1297. (the)126 1530 A
  1298. (hash)168 1698 A
  1299. (chain)210 1908 A
  1300. (for)126 2160 A
  1301. ((dev,)210 2328 A
  1302. (block).)294 2580 A
  1303. (Do_read())378 2916 A
  1304. (can)126 3336 A
  1305. (use)126 3504 A
  1306. 3690 V
  1307. (21051)210 648 A
  1308. 1152(*)S
  1309. (get_block(NO_DEV)672 1236 A
  1310. (...))168 1950 A
  1311. 2160(to)S
  1312. (get)126 2286 A
  1313. 2454(an)S
  1314. (unnamed)294 2580 A
  1315. (block)210 2916 A
  1316. 3168(to)S
  1317. (fill)168 3294 A
  1318. (with)168 3504 A
  1319. (zeros)210 3714 A
  1320. (when)168 3966 A
  1321. 3780 V
  1322. (21052)210 648 A
  1323. 1152(*)S
  1324. (someone)294 1236 A
  1325. (wants)210 1572 A
  1326. 1824(to)S
  1327. (read)168 1950 A
  1328. (from)168 2160 A
  1329. 2370(a)S
  1330. (hole)168 2454 A
  1331. 2664(in)S
  1332. 2790(a)S
  1333. (file,)210 2874 A
  1334. 3126(in)S
  1335. (which)210 3252 A
  1336. (case)168 3504 A
  1337. (this)168 3714 A
  1338. (search)252 3924 A
  1339. 3870 V
  1340. (21053)210 648 A
  1341. 1152(*)S
  1342. 1236(is)S
  1343. (skipped)294 1362 A
  1344. 3960 V
  1345. (21054)210 648 A
  1346. 1152(*/)S
  1347. 4050 V
  1348. (21055)210 648 A
  1349. 1110(if)S
  1350. ((dev)168 1236 A
  1351. 1446(!=)S
  1352. (NO_DEV))294 1572 A
  1353. 1908({)S
  1354. 4140 V
  1355. (21056)210 648 A
  1356. 1362(b)S
  1357. 1446(=)S
  1358. ((int))210 1530 A
  1359. (block)210 1782 A
  1360. 2034(&)S
  1361. (HASH_MASK;)420 2118 A
  1362. 4230 V
  1363. (21057)210 648 A
  1364. 1362(bp)S
  1365. 1488(=)S
  1366. (buf_hash[b];)504 1572 A
  1367. 4320 V
  1368. (21058)210 648 A
  1369. (while)210 1362 A
  1370. ((bp)126 1614 A
  1371. 1782(!=)S
  1372. (NIL_BUF))336 1908 A
  1373. 2286({)S
  1374. 4410 V
  1375. (21059)210 648 A
  1376. 1698(if)S
  1377. ((bp->b_blocknr)588 1824 A
  1378. 2454(==)S
  1379. (block)210 2580 A
  1380. 2832(&&)S
  1381. (bp->b_dev)378 2958 A
  1382. 3378(==)S
  1383. (dev))168 3504 A
  1384. 3714({)S
  1385. 4500 V
  1386. (21060)210 648 A
  1387. 2034(/*)S
  1388. (Block)210 2160 A
  1389. (needed)252 2412 A
  1390. (has)126 2706 A
  1391. (been)168 2874 A
  1392. (found.)252 3084 A
  1393. 3378(*/)S
  1394. 4590 V
  1395. (21061)210 648 A
  1396. 2034(if)S
  1397. ((bp->b_count)504 2160 A
  1398. 2706(==)S
  1399. 2832(0))S
  1400. (rm_lru(bp);)462 2958 A
  1401. 4680 V
  1402. (21062)210 648 A
  1403. (bp->b_count++;)588 2034 A
  1404. 2706(/*)S
  1405. (record)252 2832 A
  1406. (that)168 3126 A
  1407. (block)210 3336 A
  1408. 3588(is)S
  1409. 3714(in)S
  1410. (use)126 3840 A
  1411. 4008(*/)S
  1412. 4770 V
  1413. (21063)210 648 A
  1414. (return(bp);)462 2034 A
  1415. 4860 V
  1416. (21064)210 648 A
  1417. 1698(})S
  1418. (else)168 1782 A
  1419. 1992({)S
  1420. 4950 V
  1421. (21065)210 648 A
  1422. 2034(/*)S
  1423. (This)168 2160 A
  1424. (block)210 2370 A
  1425. 2622(is)S
  1426. (not)126 2748 A
  1427. (the)126 2916 A
  1428. (one)126 3084 A
  1429. (sought.)294 3252 A
  1430. 3588(*/)S
  1431. 5040 V
  1432. (21066)210 648 A
  1433. 2034(bp)S
  1434. 2160(=)S
  1435. (bp->b_hash;)462 2244 A
  1436. 2748(/*)S
  1437. (move)168 2874 A
  1438. 3084(to)S
  1439. (next)168 3210 A
  1440. (block)210 3420 A
  1441. 3672(on)S
  1442. (hash)168 3798 A
  1443. (chain)210 4008 A
  1444. 4260(*/)S
  1445. 5130 V
  1446. (21067)210 648 A
  1447. 1698(})S
  1448. 5220 V
  1449. (21068)210 648 A
  1450. 1362(})S
  1451. 5310 V
  1452. (21069)210 648 A
  1453. 1110(})S
  1454. 5400 V
  1455. (21070)210 648 A
  1456. 5490 V
  1457. (21071)210 648 A
  1458. 1110(/*)S
  1459. (Desired)294 1236 A
  1460. (block)210 1572 A
  1461. 1824(is)S
  1462. (not)126 1950 A
  1463. 2118(on)S
  1464. (available)378 2244 A
  1465. (chain.)252 2664 A
  1466. (Take)168 3000 A
  1467. (oldest)252 3210 A
  1468. (block)210 3504 A
  1469. (('front').)420 3756 A
  1470. 4218(*/)S
  1471. 5580 V
  1472. (21072)210 648 A
  1473. 1110(if)S
  1474. (((bp)168 1236 A
  1475. 1446(=)S
  1476. (front))252 1530 A
  1477. 1824(==)S
  1478. (NIL_BUF))336 1950 A
  1479. (panic("all)420 2328 A
  1480. (buffers)294 2790 A
  1481. 3126(in)S
  1482. (use",)210 3252 A
  1483. (NR_BUFS);)378 3504 A
  1484. 5670 V
  1485. (21073)210 648 A
  1486. (rm_lru(bp);)462 1110 A
  1487. 5760 V
  1488. (21074)210 648 A
  1489. 5850 V
  1490. (21075)210 648 A
  1491. 1110(/*)S
  1492. (Remove)252 1236 A
  1493. (the)126 1530 A
  1494. (block)210 1698 A
  1495. (that)168 1950 A
  1496. (was)126 2160 A
  1497. (just)168 2328 A
  1498. (taken)210 2538 A
  1499. (from)168 2790 A
  1500. (its)126 3000 A
  1501. (hash)168 3168 A
  1502. (chain.)252 3378 A
  1503. 3672(*/)S
  1504. 5940 V
  1505. (21076)210 648 A
  1506. 1110(b)S
  1507. 1194(=)S
  1508. ((int))210 1278 A
  1509. (bp->b_blocknr)546 1530 A
  1510. 2118(&)S
  1511. (HASH_MASK;)420 2202 A
  1512. 6030 V
  1513. (21077)210 648 A
  1514. (prev_ptr)336 1110 A
  1515. 1488(=)S
  1516. (buf_hash[b];)504 1572 A
  1517. 6120 V
  1518. (21078)210 648 A
  1519. 1110(if)S
  1520. ((prev_ptr)378 1236 A
  1521. 1656(==)S
  1522. (bp))126 1782 A
  1523. 1950({)S
  1524. 6210 V
  1525. (21079)210 648 A
  1526. (buf_hash[b])462 1362 A
  1527. 1866(=)S
  1528. (bp->b_hash;)462 1950 A
  1529. 8418 V
  1530. EP
  1531. %%Page: 285 285
  1532. BP
  1533. /slant 0 def
  1534. /height 0 def
  1535. 630 V
  1536. 10 R
  1537. 648(MINIX)S
  1538. 976(SOURCE)S
  1539. 1399(CODE)S
  1540. 11 R
  1541. 2119(File:)S
  1542. (src/fs/cache.c)605 2352 A
  1543. 12 B
  1544. (285)180 4248 A
  1545. 900 V
  1546. 7 LST
  1547. (21080)210 648 A
  1548. 1110(})S
  1549. (else)168 1194 A
  1550. 1404({)S
  1551. 990 V
  1552. (21081)210 648 A
  1553. 1362(/*)S
  1554. (The)126 1488 A
  1555. (block)210 1656 A
  1556. (just)168 1908 A
  1557. (taken)210 2118 A
  1558. 2370(is)S
  1559. (not)126 2496 A
  1560. 2664(on)S
  1561. (the)126 2790 A
  1562. (front)210 2958 A
  1563. 3210(of)S
  1564. (its)126 3336 A
  1565. (hash)168 3504 A
  1566. (chain.)252 3714 A
  1567. 4008(*/)S
  1568. 1080 V
  1569. (21082)210 648 A
  1570. (while)210 1362 A
  1571. ((prev_ptr->b_hash)714 1614 A
  1572. 2370(!=)S
  1573. (NIL_BUF))336 2496 A
  1574. 1170 V
  1575. (21083)210 648 A
  1576. 1698(if)S
  1577. ((prev_ptr->b_hash)714 1824 A
  1578. 2580(==)S
  1579. (bp))126 2706 A
  1580. 2874({)S
  1581. 1260 V
  1582. (21084)210 648 A
  1583. (prev_ptr->b_hash)672 2034 A
  1584. 2748(=)S
  1585. (bp->b_hash;)462 2832 A
  1586. 3378(/*)S
  1587. (found)210 3504 A
  1588. 3756(it)S
  1589. 3882(*/)S
  1590. 1350 V
  1591. (21085)210 648 A
  1592. (break;)252 2034 A
  1593. 1440 V
  1594. (21086)210 648 A
  1595. 1698(})S
  1596. (else)168 1782 A
  1597. 1992({)S
  1598. 1530 V
  1599. (21087)210 648 A
  1600. (prev_ptr)336 2034 A
  1601. 2412(=)S
  1602. (prev_ptr->b_hash;)714 2496 A
  1603. 3378(/*)S
  1604. (keep)168 3504 A
  1605. (looking)294 3714 A
  1606. 4050(*/)S
  1607. 1620 V
  1608. (21088)210 648 A
  1609. 1698(})S
  1610. 1710 V
  1611. (21089)210 648 A
  1612. 1110(})S
  1613. 1800 V
  1614. (21090)210 648 A
  1615. 1890 V
  1616. (21091)210 648 A
  1617. 1110(/*)S
  1618. 1236(If)S
  1619. (the)126 1362 A
  1620. (block)210 1530 A
  1621. (taken)210 1782 A
  1622. 2034(is)S
  1623. (dirty,)252 2160 A
  1624. (make)168 2454 A
  1625. 2664(it)S
  1626. (clean)210 2790 A
  1627. 3042(by)S
  1628. (writing)294 3168 A
  1629. 3504(it)S
  1630. 3630(to)S
  1631. (the)126 3756 A
  1632. (disk.)210 3924 A
  1633. 1980 V
  1634. (21092)210 648 A
  1635. 1152(*)S
  1636. (Avoid)210 1236 A
  1637. (hysteresis)420 1488 A
  1638. 1950(by)S
  1639. (flushing)336 2076 A
  1640. (all)126 2454 A
  1641. (other)210 2622 A
  1642. (dirty)210 2874 A
  1643. (blocks)252 3126 A
  1644. (for)126 3420 A
  1645. (the)126 3588 A
  1646. (same)168 3756 A
  1647. (device.)294 3966 A
  1648. 2070 V
  1649. (21093)210 648 A
  1650. 1152(*/)S
  1651. 2160 V
  1652. (21094)210 648 A
  1653. 1110(if)S
  1654. ((bp->b_dev)420 1236 A
  1655. 1698(!=)S
  1656. (NO_DEV))294 1824 A
  1657. 2160({)S
  1658. 2250 V
  1659. (21095)210 648 A
  1660. 1362(if)S
  1661. ((bp->b_dirt)462 1488 A
  1662. 1992(==)S
  1663. (DIRTY))252 2118 A
  1664. (flushall(bp->b_dev);)840 2412 A
  1665. 2340 V
  1666. (21096)210 648 A
  1667. 1110(})S
  1668. 2430 V
  1669. (21097)210 648 A
  1670. 2520 V
  1671. (21098)210 648 A
  1672. 1110(/*)S
  1673. (Fill)168 1236 A
  1674. 1446(in)S
  1675. (block's)294 1572 A
  1676. (parameters)420 1908 A
  1677. (and)126 2370 A
  1678. (add)126 2538 A
  1679. 2706(it)S
  1680. 2832(to)S
  1681. (the)126 2958 A
  1682. (hash)168 3126 A
  1683. (chain)210 3336 A
  1684. (where)210 3588 A
  1685. 3840(it)S
  1686. (goes.)210 3966 A
  1687. 4218(*/)S
  1688. 2610 V
  1689. (21099)210 648 A
  1690. (bp->b_dev)378 1110 A
  1691. 1530(=)S
  1692. (dev;)168 1614 A
  1693. 2370(/*)S
  1694. (fill)168 2496 A
  1695. 2706(in)S
  1696. (device)252 2832 A
  1697. (number)252 3126 A
  1698. 3420(*/)S
  1699. 2700 V
  1700. (21100)210 648 A
  1701. (bp->b_blocknr)546 1110 A
  1702. 1698(=)S
  1703. (block;)252 1782 A
  1704. 2370(/*)S
  1705. (fill)168 2496 A
  1706. 2706(in)S
  1707. (block)210 2832 A
  1708. (number)252 3084 A
  1709. 3378(*/)S
  1710. 2790 V
  1711. (21101)210 648 A
  1712. (bp->b_count++;)588 1110 A
  1713. 2370(/*)S
  1714. (record)252 2496 A
  1715. (that)168 2790 A
  1716. (block)210 3000 A
  1717. 3252(is)S
  1718. (being)210 3378 A
  1719. (used)168 3630 A
  1720. 3840(*/)S
  1721. 2880 V
  1722. (21102)210 648 A
  1723. 1110(b)S
  1724. 1194(=)S
  1725. ((int))210 1278 A
  1726. (bp->b_blocknr)546 1530 A
  1727. 2118(&)S
  1728. (HASH_MASK;)420 2202 A
  1729. 2970 V
  1730. (21103)210 648 A
  1731. (bp->b_hash)420 1110 A
  1732. 1572(=)S
  1733. (buf_hash[b];)504 1656 A
  1734. 3060 V
  1735. (21104)210 648 A
  1736. (buf_hash[b])462 1110 A
  1737. 1614(=)S
  1738. (bp;)126 1698 A
  1739. 2370(/*)S
  1740. (add)126 2496 A
  1741. 2664(to)S
  1742. (hash)168 2790 A
  1743. (list)168 3000 A
  1744. 3210(*/)S
  1745. 3150 V
  1746. (21105)210 648 A
  1747. 3240 V
  1748. (21106)210 648 A
  1749. 1110(/*)S
  1750. 1236(Go)S
  1751. (get)126 1362 A
  1752. (the)126 1530 A
  1753. (requested)378 1698 A
  1754. (block)210 2118 A
  1755. (unless)252 2370 A
  1756. (searching)378 2664 A
  1757. 3084(or)S
  1758. (prefetching.)504 3210 A
  1759. 3756(*/)S
  1760. 3330 V
  1761. (21107)210 648 A
  1762. 1110(if)S
  1763. ((dev)168 1236 A
  1764. 1446(!=)S
  1765. (NO_DEV))294 1572 A
  1766. 1908({)S
  1767. 3420 V
  1768. (21108)210 648 A
  1769. 1362(if)S
  1770. ((only_search)504 1488 A
  1771. 2034(==)S
  1772. (PREFETCH))378 2160 A
  1773. (bp->b_dev)378 2580 A
  1774. 3000(=)S
  1775. (NO_DEV;)294 3084 A
  1776. 3510 V
  1777. (21109)210 648 A
  1778. (else)168 1362 A
  1779. 3600 V
  1780. (21110)210 648 A
  1781. 1362(if)S
  1782. ((only_search)504 1488 A
  1783. 2034(==)S
  1784. (NORMAL))294 2160 A
  1785. (rw_block(bp,)504 2496 A
  1786. (READING);)378 3042 A
  1787. 3690 V
  1788. (21111)210 648 A
  1789. 1110(})S
  1790. 3780 V
  1791. (21112)210 648 A
  1792. (return(bp);)462 1110 A
  1793. 2370(/*)S
  1794. (return)252 2496 A
  1795. (the)126 2790 A
  1796. (newly)210 2958 A
  1797. (acquired)336 3210 A
  1798. (block)210 3588 A
  1799. 3840(*/)S
  1800. 3870 V
  1801. (21113)210 648 A
  1802. 1026(})S
  1803. 4140 V
  1804. (21116)210 648 A
  1805. (/*===========================================================================*)3276 1026 A
  1806. 4230 V
  1807. (21117)210 648 A
  1808. 1068(*)S
  1809. (put_block)378 2370 A
  1810. 4260(*)S
  1811. 4320 V
  1812. (21118)210 648 A
  1813. (*===========================================================================*/)3276 1068 A
  1814. 4410 V
  1815. (21119)210 648 A
  1816. (PUBLIC)252 1026 A
  1817. (void)168 1320 A
  1818. (put_block(bp,)546 1530 A
  1819. (block_type))462 2118 A
  1820. 4500 V
  1821. (21120)210 648 A
  1822. (register)336 1026 A
  1823. (struct)252 1404 A
  1824. (buf)126 1698 A
  1825. (*bp;)168 1866 A
  1826. 2370(/*)S
  1827. (pointer)294 2496 A
  1828. 2832(to)S
  1829. (the)126 2958 A
  1830. (buffer)252 3126 A
  1831. 3420(to)S
  1832. 3546(be)S
  1833. (released)336 3672 A
  1834. 4050(*/)S
  1835. 4590 V
  1836. (21121)210 648 A
  1837. (int)126 1026 A
  1838. (block_type;)462 1194 A
  1839. 2370(/*)S
  1840. (INODE_BLOCK,)504 2496 A
  1841. (DIRECTORY_BLOCK,)672 3042 A
  1842. 3756(or)S
  1843. (whatever)336 3882 A
  1844. 4260(*/)S
  1845. 4680 V
  1846. (21122)210 648 A
  1847. 1026({)S
  1848. 4770 V
  1849. (21123)210 648 A
  1850. 1026(/*)S
  1851. (Return)252 1152 A
  1852. 1446(a)S
  1853. (block)210 1530 A
  1854. 1782(to)S
  1855. (the)126 1908 A
  1856. (list)168 2076 A
  1857. 2286(of)S
  1858. (available)378 2412 A
  1859. (blocks.)294 2832 A
  1860. (Depending)378 3252 A
  1861. 3672(on)S
  1862. ('block_type')504 3798 A
  1863. 4860 V
  1864. (21124)210 648 A
  1865. 1068(*)S
  1866. 1152(it)S
  1867. (may)126 1278 A
  1868. 1446(be)S
  1869. (put)126 1572 A
  1870. 1740(on)S
  1871. (the)126 1866 A
  1872. (front)210 2034 A
  1873. 2286(or)S
  1874. (rear)168 2412 A
  1875. 2622(of)S
  1876. (the)126 2748 A
  1877. (LRU)126 2916 A
  1878. (chain.)252 3084 A
  1879. (Blocks)252 3420 A
  1880. (that)168 3714 A
  1881. (are)126 3924 A
  1882. 4950 V
  1883. (21125)210 648 A
  1884. 1068(*)S
  1885. (expected)336 1152 A
  1886. 1530(to)S
  1887. 1656(be)S
  1888. (needed)252 1782 A
  1889. (again)210 2076 A
  1890. (shortly)294 2328 A
  1891. ((e.g.,)252 2664 A
  1892. (partially)378 2958 A
  1893. (full)168 3378 A
  1894. (data)168 3588 A
  1895. (blocks))294 3798 A
  1896. 5040 V
  1897. (21126)210 648 A
  1898. 1068(*)S
  1899. 1152(go)S
  1900. 1278(on)S
  1901. (the)126 1404 A
  1902. (rear;)210 1572 A
  1903. (blocks)252 1824 A
  1904. (that)168 2118 A
  1905. (are)126 2328 A
  1906. (unlikely)336 2496 A
  1907. 2874(to)S
  1908. 3000(be)S
  1909. (needed)252 3126 A
  1910. (again)210 3420 A
  1911. (shortly)294 3672 A
  1912. 5130 V
  1913. (21127)210 648 A
  1914. 1068(*)S
  1915. ((e.g.,)252 1152 A
  1916. (full)168 1446 A
  1917. (data)168 1656 A
  1918. (blocks))294 1866 A
  1919. 2202(go)S
  1920. 2328(on)S
  1921. (the)126 2454 A
  1922. (front.)252 2622 A
  1923. (Blocks)252 2958 A
  1924. (whose)210 3252 A
  1925. (loss)168 3504 A
  1926. (can)126 3714 A
  1927. (hurt)168 3882 A
  1928. 5220 V
  1929. (21128)210 648 A
  1930. 1068(*)S
  1931. (the)126 1152 A
  1932. (integrity)378 1320 A
  1933. 1740(of)S
  1934. (the)126 1866 A
  1935. (file)168 2034 A
  1936. (system)252 2244 A
  1937. ((e.g.,)252 2538 A
  1938. (inode)210 2832 A
  1939. (blocks))294 3084 A
  1940. (are)126 3420 A
  1941. (written)294 3588 A
  1942. 3924(to)S
  1943. 5310 V
  1944. (21129)210 648 A
  1945. 1068(*)S
  1946. (disk)168 1152 A
  1947. (immediately)462 1362 A
  1948. 1866(if)S
  1949. (they)168 1992 A
  1950. (are)126 2202 A
  1951. (dirty.)252 2370 A
  1952. 5400 V
  1953. (21130)210 648 A
  1954. 1068(*/)S
  1955. 5490 V
  1956. (21131)210 648 A
  1957. 5580 V
  1958. (21132)210 648 A
  1959. 1110(if)S
  1960. ((bp)126 1236 A
  1961. 1404(==)S
  1962. (NIL_BUF))336 1530 A
  1963. (return;)294 1908 A
  1964. 2370(/*)S
  1965. 2496(it)S
  1966. 2622(is)S
  1967. (easier)252 2748 A
  1968. 3042(to)S
  1969. (check)210 3168 A
  1970. (here)168 3420 A
  1971. (than)168 3630 A
  1972. 3840(in)S
  1973. (caller)252 3966 A
  1974. 4260(*/)S
  1975. 5670 V
  1976. (21133)210 648 A
  1977. 5760 V
  1978. (21134)210 648 A
  1979. (bp->b_count--;)588 1110 A
  1980. 2370(/*)S
  1981. (there)210 2496 A
  1982. 2748(is)S
  1983. (one)126 2874 A
  1984. (use)126 3042 A
  1985. (fewer)210 3210 A
  1986. (now)126 3462 A
  1987. 3630(*/)S
  1988. 5850 V
  1989. (21135)210 648 A
  1990. 1110(if)S
  1991. ((bp->b_count)504 1236 A
  1992. 1782(!=)S
  1993. 1908(0))S
  1994. (return;)294 2034 A
  1995. 2370(/*)S
  1996. (block)210 2496 A
  1997. 2748(is)S
  1998. (still)210 2874 A
  1999. 3126(in)S
  2000. (use)126 3252 A
  2001. 3420(*/)S
  2002. 5940 V
  2003. (21136)210 648 A
  2004. 6030 V
  2005. (21137)210 648 A
  2006. (bufs_in_use--;)588 1110 A
  2007. 2370(/*)S
  2008. (one)126 2496 A
  2009. (fewer)210 2664 A
  2010. (block)210 2916 A
  2011. (buffers)294 3168 A
  2012. 3504(in)S
  2013. (use)126 3630 A
  2014. 3798(*/)S
  2015. 6120 V
  2016. (21138)210 648 A
  2017. 6210 V
  2018. (21139)210 648 A
  2019. 1110(/*)S
  2020. (Put)126 1236 A
  2021. (this)168 1404 A
  2022. (block)210 1614 A
  2023. (back)168 1866 A
  2024. 2076(on)S
  2025. (the)126 2202 A
  2026. (LRU)126 2370 A
  2027. (chain.)252 2538 A
  2028. 2874(If)S
  2029. (the)126 3000 A
  2030. (ONE_SHOT)336 3168 A
  2031. (bit)126 3546 A
  2032. 3714(is)S
  2033. (set)126 3840 A
  2034. 4008(in)S
  2035. 8418 V
  2036. EP
  2037. %%Page: 286 286
  2038. BP
  2039. /slant 0 def
  2040. /height 0 def
  2041. 630 V
  2042. 12 B
  2043. (286)180 648 A
  2044. 11 R
  2045. 2119(File:)S
  2046. (src/fs/cache.c)605 2352 A
  2047. 10 R
  2048. 3402(MINIX)S
  2049. 3730(SOURCE)S
  2050. 4153(CODE)S
  2051. 900 V
  2052. 7 LST
  2053. (21140)210 648 A
  2054. 1152(*)S
  2055. ('block_type',)546 1236 A
  2056. (the)126 1824 A
  2057. (block)210 1992 A
  2058. 2244(is)S
  2059. (not)126 2370 A
  2060. (likely)252 2538 A
  2061. 2832(to)S
  2062. 2958(be)S
  2063. (needed)252 3084 A
  2064. (again)210 3378 A
  2065. (shortly,)336 3630 A
  2066. 4008(so)S
  2067. (put)126 4134 A
  2068. 990 V
  2069. (21141)210 648 A
  2070. 1152(*)S
  2071. 1236(it)S
  2072. 1362(on)S
  2073. (the)126 1488 A
  2074. (front)210 1656 A
  2075. 1908(of)S
  2076. (the)126 2034 A
  2077. (LRU)126 2202 A
  2078. (chain)210 2370 A
  2079. (where)210 2622 A
  2080. 2874(it)S
  2081. (will)168 3000 A
  2082. 3210(be)S
  2083. (the)126 3336 A
  2084. (first)210 3504 A
  2085. (one)126 3756 A
  2086. 3924(to)S
  2087. 4050(be)S
  2088. 1080 V
  2089. (21142)210 648 A
  2090. 1152(*)S
  2091. (taken)210 1236 A
  2092. (when)168 1488 A
  2093. 1698(a)S
  2094. (free)168 1782 A
  2095. (buffer)252 1992 A
  2096. 2286(is)S
  2097. (needed)252 2412 A
  2098. (later.)252 2706 A
  2099. 1170 V
  2100. (21143)210 648 A
  2101. 1152(*/)S
  2102. 1260 V
  2103. (21144)210 648 A
  2104. 1110(if)S
  2105. ((block_type)462 1236 A
  2106. 1740(&)S
  2107. (ONE_SHOT))378 1824 A
  2108. 2244({)S
  2109. 1350 V
  2110. (21145)210 648 A
  2111. 1362(/*)S
  2112. (Block)210 1488 A
  2113. (probably)336 1740 A
  2114. (won't)210 2118 A
  2115. 2370(be)S
  2116. (needed)252 2496 A
  2117. (quickly.)336 2790 A
  2118. (Put)126 3168 A
  2119. 3336(it)S
  2120. 3462(on)S
  2121. (front)210 3588 A
  2122. 3840(of)S
  2123. (chain.)252 3966 A
  2124. 1440 V
  2125. (21146)210 648 A
  2126. 1404(*)S
  2127. 1488(It)S
  2128. (will)168 1614 A
  2129. 1824(be)S
  2130. (the)126 1950 A
  2131. (next)168 2118 A
  2132. (block)210 2328 A
  2133. 2580(to)S
  2134. 2706(be)S
  2135. (evicted)294 2832 A
  2136. (from)168 3168 A
  2137. (the)126 3378 A
  2138. (cache.)252 3546 A
  2139. 1530 V
  2140. (21147)210 648 A
  2141. 1404(*/)S
  2142. 1620 V
  2143. (21148)210 648 A
  2144. (bp->b_prev)420 1362 A
  2145. 1824(=)S
  2146. (NIL_BUF;)336 1908 A
  2147. 1710 V
  2148. (21149)210 648 A
  2149. (bp->b_next)420 1362 A
  2150. 1824(=)S
  2151. (front;)252 1908 A
  2152. 1800 V
  2153. (21150)210 648 A
  2154. 1362(if)S
  2155. ((front)252 1488 A
  2156. 1782(==)S
  2157. (NIL_BUF))336 1908 A
  2158. 1890 V
  2159. (21151)210 648 A
  2160. (rear)168 1698 A
  2161. 1908(=)S
  2162. (bp;)126 1992 A
  2163. 2370(/*)S
  2164. (LRU)126 2496 A
  2165. (chain)210 2664 A
  2166. (was)126 2916 A
  2167. (empty)210 3084 A
  2168. 3336(*/)S
  2169. 1980 V
  2170. (21152)210 648 A
  2171. (else)168 1362 A
  2172. 2070 V
  2173. (21153)210 648 A
  2174. (front->b_prev)546 1698 A
  2175. 2286(=)S
  2176. (bp;)126 2370 A
  2177. 2160 V
  2178. (21154)210 648 A
  2179. (front)210 1362 A
  2180. 1614(=)S
  2181. (bp;)126 1698 A
  2182. 2250 V
  2183. (21155)210 648 A
  2184. 1110(})S
  2185. (else)168 1194 A
  2186. 1404({)S
  2187. 2340 V
  2188. (21156)210 648 A
  2189. 1362(/*)S
  2190. (Block)210 1488 A
  2191. (probably)336 1740 A
  2192. (will)168 2118 A
  2193. 2328(be)S
  2194. (needed)252 2454 A
  2195. (quickly.)336 2748 A
  2196. (Put)126 3168 A
  2197. 3336(it)S
  2198. 3462(on)S
  2199. (rear)168 3588 A
  2200. 3798(of)S
  2201. (chain.)252 3924 A
  2202. 2430 V
  2203. (21157)210 648 A
  2204. 1404(*)S
  2205. 1488(It)S
  2206. (will)168 1614 A
  2207. (not)126 1824 A
  2208. 1992(be)S
  2209. (evicted)294 2118 A
  2210. (from)168 2454 A
  2211. (the)126 2664 A
  2212. (cache)210 2832 A
  2213. (for)126 3084 A
  2214. 3252(a)S
  2215. (long)168 3336 A
  2216. (time.)210 3546 A
  2217. 2520 V
  2218. (21158)210 648 A
  2219. 1404(*/)S
  2220. 2610 V
  2221. (21159)210 648 A
  2222. (bp->b_prev)420 1362 A
  2223. 1824(=)S
  2224. (rear;)210 1908 A
  2225. 2700 V
  2226. (21160)210 648 A
  2227. (bp->b_next)420 1362 A
  2228. 1824(=)S
  2229. (NIL_BUF;)336 1908 A
  2230. 2790 V
  2231. (21161)210 648 A
  2232. 1362(if)S
  2233. ((rear)210 1488 A
  2234. 1740(==)S
  2235. (NIL_BUF))336 1866 A
  2236. 2880 V
  2237. (21162)210 648 A
  2238. (front)210 1698 A
  2239. 1950(=)S
  2240. (bp;)126 2034 A
  2241. 2970 V
  2242. (21163)210 648 A
  2243. (else)168 1362 A
  2244. 3060 V
  2245. (21164)210 648 A
  2246. (rear->b_next)504 1698 A
  2247. 2244(=)S
  2248. (bp;)126 2328 A
  2249. 3150 V
  2250. (21165)210 648 A
  2251. (rear)168 1362 A
  2252. 1572(=)S
  2253. (bp;)126 1656 A
  2254. 3240 V
  2255. (21166)210 648 A
  2256. 1110(})S
  2257. 3330 V
  2258. (21167)210 648 A
  2259. 3420 V
  2260. (21168)210 648 A
  2261. 1110(/*)S
  2262. (Some)168 1236 A
  2263. (blocks)252 1446 A
  2264. (are)126 1740 A
  2265. 1908(so)S
  2266. (important)378 2034 A
  2267. ((e.g.,)252 2454 A
  2268. (inodes,)294 2748 A
  2269. (indirect)336 3084 A
  2270. (blocks))294 3462 A
  2271. (that)168 3798 A
  2272. (they)168 4008 A
  2273. 3510 V
  2274. (21169)210 648 A
  2275. 1152(*)S
  2276. (should)252 1236 A
  2277. 1530(be)S
  2278. (written)294 1656 A
  2279. 1992(to)S
  2280. (the)126 2118 A
  2281. (disk)168 2286 A
  2282. (immediately)462 2496 A
  2283. 3000(to)S
  2284. (avoid)210 3126 A
  2285. (messing)294 3378 A
  2286. 3714(up)S
  2287. (the)126 3840 A
  2288. (file)168 4008 A
  2289. 3600 V
  2290. (21170)210 648 A
  2291. 1152(*)S
  2292. (system)252 1236 A
  2293. 1530(in)S
  2294. (the)126 1656 A
  2295. (event)210 1824 A
  2296. 2076(of)S
  2297. 2202(a)S
  2298. (crash.)252 2286 A
  2299. 3690 V
  2300. (21171)210 648 A
  2301. 1152(*/)S
  2302. 3780 V
  2303. (21172)210 648 A
  2304. 1110(if)S
  2305. (((block_type)504 1236 A
  2306. 1782(&)S
  2307. (WRITE_IMMED))504 1866 A
  2308. 2412(&&)S
  2309. (bp->b_dirt==DIRTY)714 2538 A
  2310. 3294(&&)S
  2311. (bp->b_dev)378 3420 A
  2312. 3840(!=)S
  2313. (NO_DEV))294 3966 A
  2314. 3870 V
  2315. (21173)210 648 A
  2316. (rw_block(bp,)504 1362 A
  2317. (WRITING);)378 1908 A
  2318. 3960 V
  2319. (21174)210 648 A
  2320. 1026(})S
  2321. 4230 V
  2322. (21177)210 648 A
  2323. (/*===========================================================================*)3276 1026 A
  2324. 4320 V
  2325. (21178)210 648 A
  2326. 1068(*)S
  2327. (alloc_zone)420 2370 A
  2328. 4260(*)S
  2329. 4410 V
  2330. (21179)210 648 A
  2331. (*===========================================================================*/)3276 1068 A
  2332. 4500 V
  2333. (21180)210 648 A
  2334. (PUBLIC)252 1026 A
  2335. (zone_t)252 1320 A
  2336. (alloc_zone(dev,)630 1614 A
  2337. 2286(z))S
  2338. 4590 V
  2339. (21181)210 648 A
  2340. (dev_t)210 1026 A
  2341. (dev;)168 1278 A
  2342. 2370(/*)S
  2343. (device)252 2496 A
  2344. (where)210 2790 A
  2345. (zone)168 3042 A
  2346. (wanted)252 3252 A
  2347. 3546(*/)S
  2348. 4680 V
  2349. (21182)210 648 A
  2350. (zone_t)252 1026 A
  2351. 1320(z;)S
  2352. 2370(/*)S
  2353. (try)126 2496 A
  2354. 2664(to)S
  2355. (allocate)336 2790 A
  2356. (new)126 3168 A
  2357. (zone)168 3336 A
  2358. (near)168 3546 A
  2359. (this)168 3756 A
  2360. (one)126 3966 A
  2361. 4134(*/)S
  2362. 4770 V
  2363. (21183)210 648 A
  2364. 1026({)S
  2365. 4860 V
  2366. (21184)210 648 A
  2367. 1026(/*)S
  2368. (Allocate)336 1152 A
  2369. 1530(a)S
  2370. (new)126 1614 A
  2371. (zone)168 1782 A
  2372. 1992(on)S
  2373. (the)126 2118 A
  2374. (indicated)378 2286 A
  2375. (device)252 2706 A
  2376. (and)126 3000 A
  2377. (return)252 3168 A
  2378. (its)126 3462 A
  2379. (number.)294 3630 A
  2380. 3966(*/)S
  2381. 4950 V
  2382. (21185)210 648 A
  2383. 5040 V
  2384. (21186)210 648 A
  2385. (int)126 1110 A
  2386. (major,)252 1278 A
  2387. (minor;)252 1572 A
  2388. 5130 V
  2389. (21187)210 648 A
  2390. (bit_t)210 1110 A
  2391. 1362(b,)S
  2392. (bit;)168 1488 A
  2393. 5220 V
  2394. (21188)210 648 A
  2395. (struct)252 1110 A
  2396. (super_block)462 1404 A
  2397. (*sp;)168 1908 A
  2398. 5310 V
  2399. (21189)210 648 A
  2400. 5400 V
  2401. (21190)210 648 A
  2402. 1110(/*)S
  2403. (Note)168 1236 A
  2404. (that)168 1446 A
  2405. (the)126 1656 A
  2406. (routine)294 1824 A
  2407. (alloc_bit())462 2160 A
  2408. (returns)294 2664 A
  2409. 3000(1)S
  2410. (for)126 3084 A
  2411. (the)126 3252 A
  2412. (lowest)252 3420 A
  2413. (possible)336 3714 A
  2414. 5490 V
  2415. (21191)210 648 A
  2416. 1152(*)S
  2417. (zone,)210 1236 A
  2418. (which)210 1488 A
  2419. (corresponds)462 1740 A
  2420. 2244(to)S
  2421. (sp->s_firstdatazone.)840 2370 A
  2422. 3294(To)S
  2423. (convert)294 3420 A
  2424. 3756(a)S
  2425. (value)210 3840 A
  2426. 5580 V
  2427. (21192)210 648 A
  2428. 1152(*)S
  2429. (between)294 1236 A
  2430. (the)126 1572 A
  2431. (bit)126 1740 A
  2432. (number,)294 1908 A
  2433. ('b',)168 2244 A
  2434. (used)168 2454 A
  2435. 2664(by)S
  2436. (alloc_bit())462 2790 A
  2437. (and)126 3294 A
  2438. (the)126 3462 A
  2439. (zone)168 3630 A
  2440. (number,)294 3840 A
  2441. ('z',)168 4176 A
  2442. 5670 V
  2443. (21193)210 648 A
  2444. 1152(*)S
  2445. (stored)252 1236 A
  2446. 1530(in)S
  2447. (the)126 1656 A
  2448. (inode,)252 1824 A
  2449. (use)126 2118 A
  2450. (the)126 2286 A
  2451. (formula:)336 2454 A
  2452. 5760 V
  2453. (21194)210 648 A
  2454. 1152(*)S
  2455. 1404(z)S
  2456. 1488(=)S
  2457. 1572(b)S
  2458. 1656(+)S
  2459. (sp->s_firstdatazone)798 1740 A
  2460. 2580(-)S
  2461. 2664(1)S
  2462. 5850 V
  2463. (21195)210 648 A
  2464. 1152(*)S
  2465. (Alloc_bit())462 1236 A
  2466. (never)210 1740 A
  2467. (returns)294 1992 A
  2468. 2328(0,)S
  2469. (since)210 2454 A
  2470. (this)168 2706 A
  2471. 2916(is)S
  2472. (used)168 3042 A
  2473. (for)126 3252 A
  2474. (NO_BIT)252 3420 A
  2475. ((failure).)420 3714 A
  2476. 5940 V
  2477. (21196)210 648 A
  2478. 1152(*/)S
  2479. 6030 V
  2480. (21197)210 648 A
  2481. 1110(sp)S
  2482. 1236(=)S
  2483. (get_super(dev);)630 1320 A
  2484. 2370(/*)S
  2485. (find)168 2496 A
  2486. (the)126 2706 A
  2487. (super_block)462 2874 A
  2488. (for)126 3378 A
  2489. (this)168 3546 A
  2490. (device)252 3756 A
  2491. 4050(*/)S
  2492. 6120 V
  2493. (21198)210 648 A
  2494. 6210 V
  2495. (21199)210 648 A
  2496. 1110(/*)S
  2497. 1236(If)S
  2498. 1362(z)S
  2499. 1446(is)S
  2500. 1572(0,)S
  2501. (skip)168 1698 A
  2502. (initial)294 1908 A
  2503. (part)168 2244 A
  2504. 2454(of)S
  2505. (the)126 2580 A
  2506. (map)126 2748 A
  2507. (known)210 2916 A
  2508. 3168(to)S
  2509. 3294(be)S
  2510. (fully)210 3420 A
  2511. 3672(in)S
  2512. (use.)168 3798 A
  2513. 4008(*/)S
  2514. 8418 V
  2515. EP
  2516. %%Page: 287 287
  2517. BP
  2518. /slant 0 def
  2519. /height 0 def
  2520. 630 V
  2521. 10 R
  2522. 648(MINIX)S
  2523. 976(SOURCE)S
  2524. 1399(CODE)S
  2525. 11 R
  2526. 2119(File:)S
  2527. (src/fs/cache.c)605 2352 A
  2528. 12 B
  2529. (287)180 4248 A
  2530. 900 V
  2531. 7 LST
  2532. (21200)210 648 A
  2533. 1110(if)S
  2534. 1236((z)S
  2535. 1362(==)S
  2536. (sp->s_firstdatazone))840 1488 A
  2537. 2370({)S
  2538. 990 V
  2539. (21201)210 648 A
  2540. (bit)126 1362 A
  2541. 1530(=)S
  2542. (sp->s_zsearch;)588 1614 A
  2543. 1080 V
  2544. (21202)210 648 A
  2545. 1110(})S
  2546. (else)168 1194 A
  2547. 1404({)S
  2548. 1170 V
  2549. (21203)210 648 A
  2550. (bit)126 1362 A
  2551. 1530(=)S
  2552. ((bit_t))294 1614 A
  2553. 1950(z)S
  2554. 2034(-)S
  2555. ((sp->s_firstdatazone)840 2118 A
  2556. 3000(-)S
  2557. (1);)126 3084 A
  2558. 1260 V
  2559. (21204)210 648 A
  2560. 1110(})S
  2561. 1350 V
  2562. (21205)210 648 A
  2563. 1110(b)S
  2564. 1194(=)S
  2565. (alloc_bit(sp,)546 1278 A
  2566. (ZMAP,)210 1866 A
  2567. (bit);)210 2118 A
  2568. 1440 V
  2569. (21206)210 648 A
  2570. 1110(if)S
  2571. 1236((b)S
  2572. 1362(==)S
  2573. (NO_BIT))294 1488 A
  2574. 1824({)S
  2575. 1530 V
  2576. (21207)210 648 A
  2577. (err_code)336 1362 A
  2578. 1740(=)S
  2579. (ENOSPC;)294 1824 A
  2580. 1620 V
  2581. (21208)210 648 A
  2582. (major)210 1362 A
  2583. 1614(=)S
  2584. ((int))210 1698 A
  2585. ((sp->s_dev)420 1950 A
  2586. 2412(>>)S
  2587. (MAJOR))252 2538 A
  2588. 2832(&)S
  2589. (BYTE;)210 2916 A
  2590. 1710 V
  2591. (21209)210 648 A
  2592. (minor)210 1362 A
  2593. 1614(=)S
  2594. ((int))210 1698 A
  2595. ((sp->s_dev)420 1950 A
  2596. 2412(>>)S
  2597. (MINOR))252 2538 A
  2598. 2832(&)S
  2599. (BYTE;)210 2916 A
  2600. 1800 V
  2601. (21210)210 648 A
  2602. (printf("No)420 1362 A
  2603. (space)210 1824 A
  2604. 2076(on)S
  2605. (%sdevice)336 2202 A
  2606. (%d/%d\n",)378 2580 A
  2607. 1890 V
  2608. (21211)210 648 A
  2609. (sp->s_dev)378 1698 A
  2610. 2118(==)S
  2611. (ROOT_DEV)336 2244 A
  2612. 2622(?)S
  2613. ("root)210 2706 A
  2614. 2958(")S
  2615. 3042(:)S
  2616. ("",)126 3126 A
  2617. (major,)252 3294 A
  2618. (minor);)294 3588 A
  2619. 1980 V
  2620. (21212)210 648 A
  2621. (return(NO_ZONE);)672 1362 A
  2622. 2070 V
  2623. (21213)210 648 A
  2624. 1110(})S
  2625. 2160 V
  2626. (21214)210 648 A
  2627. 1110(if)S
  2628. 1236((z)S
  2629. 1362(==)S
  2630. (sp->s_firstdatazone))840 1488 A
  2631. (sp->s_zsearch)546 2370 A
  2632. 2958(=)S
  2633. 3042(b;)S
  2634. 3378(/*)S
  2635. (for)126 3504 A
  2636. (next)168 3672 A
  2637. (time)168 3882 A
  2638. 4092(*/)S
  2639. 2250 V
  2640. (21215)210 648 A
  2641. (return(sp->s_firstdatazone)1092 1110 A
  2642. 2244(-)S
  2643. 2328(1)S
  2644. 2412(+)S
  2645. ((zone_t))336 2496 A
  2646. (b);)126 2874 A
  2647. 2340 V
  2648. (21216)210 648 A
  2649. 1026(})S
  2650. 2610 V
  2651. (21219)210 648 A
  2652. (/*===========================================================================*)3276 1026 A
  2653. 2700 V
  2654. (21220)210 648 A
  2655. 1068(*)S
  2656. (free_zone)378 2370 A
  2657. 4260(*)S
  2658. 2790 V
  2659. (21221)210 648 A
  2660. (*===========================================================================*/)3276 1068 A
  2661. 2880 V
  2662. (21222)210 648 A
  2663. (PUBLIC)252 1026 A
  2664. (void)168 1320 A
  2665. (free_zone(dev,)588 1530 A
  2666. (numb))210 2160 A
  2667. 2970 V
  2668. (21223)210 648 A
  2669. (dev_t)210 1026 A
  2670. (dev;)168 1278 A
  2671. 2706(/*)S
  2672. (device)252 2832 A
  2673. (where)210 3126 A
  2674. (zone)168 3378 A
  2675. (located)294 3588 A
  2676. 3924(*/)S
  2677. 3060 V
  2678. (21224)210 648 A
  2679. (zone_t)252 1026 A
  2680. (numb;)210 1320 A
  2681. 2706(/*)S
  2682. (zone)168 2832 A
  2683. 3042(to)S
  2684. 3168(be)S
  2685. (returned)336 3294 A
  2686. 3672(*/)S
  2687. 3150 V
  2688. (21225)210 648 A
  2689. 1026({)S
  2690. 3240 V
  2691. (21226)210 648 A
  2692. 1026(/*)S
  2693. (Return)252 1152 A
  2694. 1446(a)S
  2695. (zone.)210 1530 A
  2696. 1782(*/)S
  2697. 3330 V
  2698. (21227)210 648 A
  2699. 3420 V
  2700. (21228)210 648 A
  2701. (register)336 1110 A
  2702. (struct)252 1488 A
  2703. (super_block)462 1782 A
  2704. (*sp;)168 2286 A
  2705. 3510 V
  2706. (21229)210 648 A
  2707. (bit_t)210 1110 A
  2708. (bit;)168 1362 A
  2709. 3600 V
  2710. (21230)210 648 A
  2711. 3690 V
  2712. (21231)210 648 A
  2713. 1110(/*)S
  2714. (Locate)252 1236 A
  2715. (the)126 1530 A
  2716. (appropriate)462 1698 A
  2717. (super_block)462 2202 A
  2718. (and)126 2706 A
  2719. (return)252 2874 A
  2720. (bit.)168 3168 A
  2721. 3378(*/)S
  2722. 3780 V
  2723. (21232)210 648 A
  2724. 1110(sp)S
  2725. 1236(=)S
  2726. (get_super(dev);)630 1320 A
  2727. 3870 V
  2728. (21233)210 648 A
  2729. 1110(if)S
  2730. ((numb)210 1236 A
  2731. 1488(<)S
  2732. (sp->s_firstdatazone)798 1572 A
  2733. 2412(||)S
  2734. (numb)168 2538 A
  2735. 2748(>=)S
  2736. (sp->s_zones))504 2874 A
  2737. (return;)294 3420 A
  2738. 3960 V
  2739. (21234)210 648 A
  2740. (bit)126 1110 A
  2741. 1278(=)S
  2742. ((bit_t))294 1362 A
  2743. ((numb)210 1698 A
  2744. 1950(-)S
  2745. ((sp->s_firstdatazone)840 2034 A
  2746. 2916(-)S
  2747. (1));)168 3000 A
  2748. 4050 V
  2749. (21235)210 648 A
  2750. (free_bit(sp,)504 1110 A
  2751. (ZMAP,)210 1656 A
  2752. (bit);)210 1908 A
  2753. 4140 V
  2754. (21236)210 648 A
  2755. 1110(if)S
  2756. ((bit)168 1236 A
  2757. 1446(<)S
  2758. (sp->s_zsearch))588 1530 A
  2759. (sp->s_zsearch)546 2160 A
  2760. 2748(=)S
  2761. (bit;)168 2832 A
  2762. 4230 V
  2763. (21237)210 648 A
  2764. 1026(})S
  2765. 4500 V
  2766. (21240)210 648 A
  2767. (/*===========================================================================*)3276 1026 A
  2768. 4590 V
  2769. (21241)210 648 A
  2770. 1068(*)S
  2771. (rw_block)336 2370 A
  2772. 4260(*)S
  2773. 4680 V
  2774. (21242)210 648 A
  2775. (*===========================================================================*/)3276 1068 A
  2776. 4770 V
  2777. (21243)210 648 A
  2778. (PUBLIC)252 1026 A
  2779. (void)168 1320 A
  2780. (rw_block(bp,)504 1530 A
  2781. (rw_flag))336 2076 A
  2782. 4860 V
  2783. (21244)210 648 A
  2784. (register)336 1026 A
  2785. (struct)252 1404 A
  2786. (buf)126 1698 A
  2787. (*bp;)168 1866 A
  2788. 2370(/*)S
  2789. (buffer)252 2496 A
  2790. (pointer)294 2790 A
  2791. 3126(*/)S
  2792. 4950 V
  2793. (21245)210 648 A
  2794. (int)126 1026 A
  2795. (rw_flag;)336 1194 A
  2796. 2370(/*)S
  2797. (READING)294 2496 A
  2798. 2832(or)S
  2799. (WRITING)294 2958 A
  2800. 3294(*/)S
  2801. 5040 V
  2802. (21246)210 648 A
  2803. 1026({)S
  2804. 5130 V
  2805. (21247)210 648 A
  2806. 1026(/*)S
  2807. (Read)168 1152 A
  2808. 1362(or)S
  2809. (write)210 1488 A
  2810. 1740(a)S
  2811. (disk)168 1824 A
  2812. (block.)252 2034 A
  2813. (This)168 2328 A
  2814. 2538(is)S
  2815. (the)126 2664 A
  2816. (only)168 2832 A
  2817. (routine)294 3042 A
  2818. 3378(in)S
  2819. (which)210 3504 A
  2820. (actual)252 3756 A
  2821. (disk)168 4050 A
  2822. 5220 V
  2823. (21248)210 648 A
  2824. 1068(*)S
  2825. (I/O)126 1152 A
  2826. 1320(is)S
  2827. (invoked.)336 1446 A
  2828. 1824(If)S
  2829. 1950(an)S
  2830. (error)210 2076 A
  2831. (occurs,)294 2328 A
  2832. 2664(a)S
  2833. (message)294 2748 A
  2834. 3084(is)S
  2835. (printed)294 3210 A
  2836. (here,)210 3546 A
  2837. (but)126 3798 A
  2838. (the)126 3966 A
  2839. (error)210 4134 A
  2840. 5310 V
  2841. (21249)210 648 A
  2842. 1068(*)S
  2843. 1152(is)S
  2844. (not)126 1278 A
  2845. (reported)336 1446 A
  2846. 1824(to)S
  2847. (the)126 1950 A
  2848. (caller.)294 2118 A
  2849. 2496(If)S
  2850. (the)126 2622 A
  2851. (error)210 2790 A
  2852. (occurred)336 3042 A
  2853. (while)210 3420 A
  2854. (purging)294 3672 A
  2855. 4008(a)S
  2856. (block)210 4092 A
  2857. 5400 V
  2858. (21250)210 648 A
  2859. 1068(*)S
  2860. (from)168 1152 A
  2861. (the)126 1362 A
  2862. (cache,)252 1530 A
  2863. 1824(it)S
  2864. 1950(is)S
  2865. (not)126 2076 A
  2866. (clear)210 2244 A
  2867. (what)168 2496 A
  2868. (the)126 2706 A
  2869. (caller)252 2874 A
  2870. (could)210 3168 A
  2871. 3420(do)S
  2872. (about)210 3546 A
  2873. 3798(it)S
  2874. (anyway.)294 3924 A
  2875. 5490 V
  2876. (21251)210 648 A
  2877. 1068(*/)S
  2878. 5580 V
  2879. (21252)210 648 A
  2880. 5670 V
  2881. (21253)210 648 A
  2882. (int)126 1110 A
  2883. 1278(r,)S
  2884. (op;)126 1404 A
  2885. 5760 V
  2886. (21254)210 648 A
  2887. (off_t)210 1110 A
  2888. (pos;)168 1362 A
  2889. 5850 V
  2890. (21255)210 648 A
  2891. (dev_t)210 1110 A
  2892. (dev;)168 1362 A
  2893. 5940 V
  2894. (21256)210 648 A
  2895. 6030 V
  2896. (21257)210 648 A
  2897. 1110(if)S
  2898. 1236(()S
  2899. ((dev)168 1320 A
  2900. 1530(=)S
  2901. (bp->b_dev))420 1614 A
  2902. 2076(!=)S
  2903. (NO_DEV))294 2202 A
  2904. 2538({)S
  2905. 6120 V
  2906. (21258)210 648 A
  2907. (pos)126 1362 A
  2908. 1530(=)S
  2909. ((off_t))294 1614 A
  2910. (bp->b_blocknr)546 1950 A
  2911. 2538(*)S
  2912. (BLOCK_SIZE;)462 2622 A
  2913. 6210 V
  2914. (21259)210 648 A
  2915. 1362(op)S
  2916. 1488(=)S
  2917. ((rw_flag)336 1572 A
  2918. 1950(==)S
  2919. (READING)294 2076 A
  2920. 2412(?)S
  2921. (DEV_READ)336 2496 A
  2922. 2874(:)S
  2923. (DEV_WRITE);)462 2958 A
  2924. 8418 V
  2925. EP
  2926. %%Page: 288 288
  2927. BP
  2928. /slant 0 def
  2929. /height 0 def
  2930. 630 V
  2931. 12 B
  2932. (288)180 648 A
  2933. 11 R
  2934. 2119(File:)S
  2935. (src/fs/cache.c)605 2352 A
  2936. 10 R
  2937. 3402(MINIX)S
  2938. 3730(SOURCE)S
  2939. 4153(CODE)S
  2940. 900 V
  2941. 7 LST
  2942. (21260)210 648 A
  2943. 1362(r)S
  2944. 1446(=)S
  2945. (dev_io(op,)420 1530 A
  2946. (FALSE,)252 1992 A
  2947. (dev,)168 2286 A
  2948. (pos,)168 2496 A
  2949. (BLOCK_SIZE,)462 2706 A
  2950. (FS_PROC_NR,)462 3210 A
  2951. (bp->b_data);)504 3714 A
  2952. 990 V
  2953. (21261)210 648 A
  2954. 1362(if)S
  2955. 1488((r)S
  2956. 1614(!=)S
  2957. (BLOCK_SIZE))462 1740 A
  2958. 2244({)S
  2959. 1080 V
  2960. (21262)210 648 A
  2961. 1530(if)S
  2962. 1656((r)S
  2963. 1782(>=)S
  2964. 1908(0))S
  2965. 2034(r)S
  2966. 2118(=)S
  2967. (END_OF_FILE;)504 2202 A
  2968. 1170 V
  2969. (21263)210 648 A
  2970. 1530(if)S
  2971. 1656((r)S
  2972. 1782(!=)S
  2973. (END_OF_FILE))504 1908 A
  2974. 1260 V
  2975. (21264)210 648 A
  2976. (printf("Unrecoverable)882 1614 A
  2977. (disk)168 2538 A
  2978. (error)210 2748 A
  2979. 3000(on)S
  2980. (device)252 3126 A
  2981. (%d/%d,)252 3420 A
  2982. (block)210 3714 A
  2983. (%ld\n",)294 3966 A
  2984. 1350 V
  2985. (21265)210 648 A
  2986. ((dev>>MAJOR)&BYTE,)756 2034 A
  2987. ((dev>>MINOR)&BYTE,)756 2832 A
  2988. (bp->b_blocknr);)630 3630 A
  2989. 1440 V
  2990. (21266)210 648 A
  2991. (bp->b_dev)378 1698 A
  2992. 2118(=)S
  2993. (NO_DEV;)294 2202 A
  2994. 2706(/*)S
  2995. (invalidate)420 2832 A
  2996. (block)210 3294 A
  2997. 3546(*/)S
  2998. 1530 V
  2999. (21267)210 648 A
  3000. 1620 V
  3001. (21268)210 648 A
  3002. 1698(/*)S
  3003. (Report)252 1824 A
  3004. (read)168 2118 A
  3005. (errors)252 2328 A
  3006. 2622(to)S
  3007. (interested)420 2748 A
  3008. (parties.)336 3210 A
  3009. 3588(*/)S
  3010. 1710 V
  3011. (21269)210 648 A
  3012. 1698(if)S
  3013. ((rw_flag)336 1824 A
  3014. 2202(==)S
  3015. (READING))336 2328 A
  3016. (rdwt_err)336 2706 A
  3017. 3084(=)S
  3018. 3168(r;)S
  3019. 1800 V
  3020. (21270)210 648 A
  3021. 1362(})S
  3022. 1890 V
  3023. (21271)210 648 A
  3024. 1110(})S
  3025. 1980 V
  3026. (21272)210 648 A
  3027. 2070 V
  3028. (21273)210 648 A
  3029. (bp->b_dirt)420 1110 A
  3030. 1572(=)S
  3031. (CLEAN;)252 1656 A
  3032. 2160 V
  3033. (21274)210 648 A
  3034. 1026(})S
  3035. 2430 V
  3036. (21277)210 648 A
  3037. (/*===========================================================================*)3276 1026 A
  3038. 2520 V
  3039. (21278)210 648 A
  3040. 1068(*)S
  3041. (invalidate)420 2370 A
  3042. 4260(*)S
  3043. 2610 V
  3044. (21279)210 648 A
  3045. (*===========================================================================*/)3276 1068 A
  3046. 2700 V
  3047. (21280)210 648 A
  3048. (PUBLIC)252 1026 A
  3049. (void)168 1320 A
  3050. (invalidate(device))756 1530 A
  3051. 2790 V
  3052. (21281)210 648 A
  3053. (dev_t)210 1026 A
  3054. (device;)294 1278 A
  3055. 2370(/*)S
  3056. (device)252 2496 A
  3057. (whose)210 2790 A
  3058. (blocks)252 3042 A
  3059. (are)126 3336 A
  3060. 3504(to)S
  3061. 3630(be)S
  3062. (purged)252 3756 A
  3063. 4050(*/)S
  3064. 2880 V
  3065. (21282)210 648 A
  3066. 1026({)S
  3067. 2970 V
  3068. (21283)210 648 A
  3069. 1026(/*)S
  3070. (Remove)252 1152 A
  3071. (all)126 1446 A
  3072. (the)126 1614 A
  3073. (blocks)252 1782 A
  3074. (belonging)378 2076 A
  3075. 2496(to)S
  3076. (some)168 2622 A
  3077. (device)252 2832 A
  3078. (from)168 3126 A
  3079. (the)126 3336 A
  3080. (cache.)252 3504 A
  3081. 3798(*/)S
  3082. 3060 V
  3083. (21284)210 648 A
  3084. 3150 V
  3085. (21285)210 648 A
  3086. (register)336 1110 A
  3087. (struct)252 1488 A
  3088. (buf)126 1782 A
  3089. (*bp;)168 1950 A
  3090. 3240 V
  3091. (21286)210 648 A
  3092. 3330 V
  3093. (21287)210 648 A
  3094. (for)126 1110 A
  3095. ((bp)126 1278 A
  3096. 1446(=)S
  3097. (&buf[0];)336 1530 A
  3098. 1908(bp)S
  3099. 2034(<)S
  3100. (&buf[NR_BUFS];)588 2118 A
  3101. (bp++))210 2748 A
  3102. 3420 V
  3103. (21288)210 648 A
  3104. 1362(if)S
  3105. ((bp->b_dev)420 1488 A
  3106. 1950(==)S
  3107. (device))294 2076 A
  3108. (bp->b_dev)378 2412 A
  3109. 2832(=)S
  3110. (NO_DEV;)294 2916 A
  3111. 3510 V
  3112. (21289)210 648 A
  3113. 1026(})S
  3114. 3780 V
  3115. (21292)210 648 A
  3116. (/*==========================================================================*)3234 1026 A
  3117. 3870 V
  3118. (21293)210 648 A
  3119. 1068(*)S
  3120. (flushall)336 2370 A
  3121. 4218(*)S
  3122. 3960 V
  3123. (21294)210 648 A
  3124. (*==========================================================================*/)3234 1068 A
  3125. 4050 V
  3126. (21295)210 648 A
  3127. (PUBLIC)252 1026 A
  3128. (void)168 1320 A
  3129. (flushall(dev))546 1530 A
  3130. 4140 V
  3131. (21296)210 648 A
  3132. (dev_t)210 1026 A
  3133. (dev;)168 1278 A
  3134. 2370(/*)S
  3135. (device)252 2496 A
  3136. 2790(to)S
  3137. (flush)210 2916 A
  3138. 3168(*/)S
  3139. 4230 V
  3140. (21297)210 648 A
  3141. 1026({)S
  3142. 4320 V
  3143. (21298)210 648 A
  3144. 1026(/*)S
  3145. (Flush)210 1152 A
  3146. (all)126 1404 A
  3147. (dirty)210 1572 A
  3148. (blocks)252 1824 A
  3149. (for)126 2118 A
  3150. (one)126 2286 A
  3151. (device.)294 2454 A
  3152. 2790(*/)S
  3153. 4410 V
  3154. (21299)210 648 A
  3155. 4500 V
  3156. (21300)210 648 A
  3157. (register)336 1110 A
  3158. (struct)252 1488 A
  3159. (buf)126 1782 A
  3160. (*bp;)168 1950 A
  3161. 4590 V
  3162. (21301)210 648 A
  3163. (static)252 1110 A
  3164. (struct)252 1404 A
  3165. (buf)126 1698 A
  3166. (*dirty[NR_BUFS];)672 1866 A
  3167. 2706(/*)S
  3168. (static)252 2832 A
  3169. 3126(so)S
  3170. 3252(it)S
  3171. (isn't)210 3378 A
  3172. 3630(on)S
  3173. (stack)210 3756 A
  3174. 4008(*/)S
  3175. 4680 V
  3176. (21302)210 648 A
  3177. (int)126 1110 A
  3178. (ndirty;)294 1278 A
  3179. 4770 V
  3180. (21303)210 648 A
  3181. 4860 V
  3182. (21304)210 648 A
  3183. (for)126 1110 A
  3184. ((bp)126 1278 A
  3185. 1446(=)S
  3186. (&buf[0],)336 1530 A
  3187. (ndirty)252 1908 A
  3188. 2202(=)S
  3189. 2286(0;)S
  3190. 2412(bp)S
  3191. 2538(<)S
  3192. (&buf[NR_BUFS];)588 2622 A
  3193. (bp++))210 3252 A
  3194. 4950 V
  3195. (21305)210 648 A
  3196. 1362(if)S
  3197. ((bp->b_dirt)462 1488 A
  3198. 1992(==)S
  3199. (DIRTY)210 2118 A
  3200. 2370(&&)S
  3201. (bp->b_dev)378 2496 A
  3202. 2916(==)S
  3203. (dev))168 3042 A
  3204. (dirty[ndirty++])630 3252 A
  3205. 3924(=)S
  3206. (bp;)126 4008 A
  3207. 5040 V
  3208. (21306)210 648 A
  3209. (rw_scattered(dev,)714 1110 A
  3210. (dirty,)252 1866 A
  3211. (ndirty,)294 2160 A
  3212. (WRITING);)378 2496 A
  3213. 5130 V
  3214. (21307)210 648 A
  3215. 1026(})S
  3216. 5400 V
  3217. (21310)210 648 A
  3218. (/*===========================================================================*)3276 1026 A
  3219. 5490 V
  3220. (21311)210 648 A
  3221. 1068(*)S
  3222. (rw_scattered)504 2370 A
  3223. 4260(*)S
  3224. 5580 V
  3225. (21312)210 648 A
  3226. (*===========================================================================*/)3276 1068 A
  3227. 5670 V
  3228. (21313)210 648 A
  3229. (PUBLIC)252 1026 A
  3230. (void)168 1320 A
  3231. (rw_scattered(dev,)714 1530 A
  3232. (bufq,)210 2286 A
  3233. (bufqsize,)378 2538 A
  3234. (rw_flag))336 2958 A
  3235. 5760 V
  3236. (21314)210 648 A
  3237. (dev_t)210 1026 A
  3238. (dev;)168 1278 A
  3239. 2370(/*)S
  3240. (major-minor)462 2496 A
  3241. (device)252 3000 A
  3242. (number)252 3294 A
  3243. 3588(*/)S
  3244. 5850 V
  3245. (21315)210 648 A
  3246. (struct)252 1026 A
  3247. (buf)126 1320 A
  3248. (**bufq;)294 1488 A
  3249. 2370(/*)S
  3250. (pointer)294 2496 A
  3251. 2832(to)S
  3252. (array)210 2958 A
  3253. 3210(of)S
  3254. (buffers)294 3336 A
  3255. 3672(*/)S
  3256. 5940 V
  3257. (21316)210 648 A
  3258. (int)126 1026 A
  3259. (bufqsize;)378 1194 A
  3260. 2370(/*)S
  3261. (number)252 2496 A
  3262. 2790(of)S
  3263. (buffers)294 2916 A
  3264. 3252(*/)S
  3265. 6030 V
  3266. (21317)210 648 A
  3267. (int)126 1026 A
  3268. (rw_flag;)336 1194 A
  3269. 2370(/*)S
  3270. (READING)294 2496 A
  3271. 2832(or)S
  3272. (WRITING)294 2958 A
  3273. 3294(*/)S
  3274. 6120 V
  3275. (21318)210 648 A
  3276. 1026({)S
  3277. 6210 V
  3278. (21319)210 648 A
  3279. 1026(/*)S
  3280. (Read)168 1152 A
  3281. 1362(or)S
  3282. (write)210 1488 A
  3283. (scattered)378 1740 A
  3284. (data)168 2160 A
  3285. (from)168 2370 A
  3286. 2580(a)S
  3287. (device.)294 2664 A
  3288. 3000(*/)S
  3289. 8418 V
  3290. EP
  3291. %%Page: 289 289
  3292. BP
  3293. /slant 0 def
  3294. /height 0 def
  3295. 630 V
  3296. 10 R
  3297. 648(MINIX)S
  3298. 976(SOURCE)S
  3299. 1399(CODE)S
  3300. 11 R
  3301. 2119(File:)S
  3302. (src/fs/cache.c)605 2352 A
  3303. 12 B
  3304. (289)180 4248 A
  3305. 900 V
  3306. 7 LST
  3307. (21320)210 648 A
  3308. 990 V
  3309. (21321)210 648 A
  3310. (register)336 1110 A
  3311. (struct)252 1488 A
  3312. (buf)126 1782 A
  3313. (*bp;)168 1950 A
  3314. 1080 V
  3315. (21322)210 648 A
  3316. (int)126 1110 A
  3317. (gap;)168 1278 A
  3318. 1170 V
  3319. (21323)210 648 A
  3320. (register)336 1110 A
  3321. (int)126 1488 A
  3322. 1656(i;)S
  3323. 1260 V
  3324. (21324)210 648 A
  3325. (register)336 1110 A
  3326. (struct)252 1488 A
  3327. (iorequest_s)462 1782 A
  3328. (*iop;)210 2286 A
  3329. 1350 V
  3330. (21325)210 648 A
  3331. (static)252 1110 A
  3332. (struct)252 1404 A
  3333. (iorequest_s)462 1698 A
  3334. (iovec[NR_IOREQS];)714 2202 A
  3335. 3000(/*)S
  3336. (static)252 3126 A
  3337. 3420(so)S
  3338. 3546(it)S
  3339. (isn't)210 3672 A
  3340. 3924(on)S
  3341. (stack)210 4050 A
  3342. 4302(*/)S
  3343. 1440 V
  3344. (21326)210 648 A
  3345. (int)126 1110 A
  3346. 1278(j;)S
  3347. 1530 V
  3348. (21327)210 648 A
  3349. 1620 V
  3350. (21328)210 648 A
  3351. 1110(/*)S
  3352. ((Shell))294 1236 A
  3353. (sort)168 1572 A
  3354. (buffers)294 1782 A
  3355. 2118(on)S
  3356. (b_blocknr.)420 2244 A
  3357. 2706(*/)S
  3358. 1710 V
  3359. (21329)210 648 A
  3360. (gap)126 1110 A
  3361. 1278(=)S
  3362. 1362(1;)S
  3363. 1800 V
  3364. (21330)210 648 A
  3365. 1110(do)S
  3366. 1890 V
  3367. (21331)210 648 A
  3368. (gap)126 1362 A
  3369. 1530(=)S
  3370. 1614(3)S
  3371. 1698(*)S
  3372. (gap)126 1782 A
  3373. 1950(+)S
  3374. 2034(1;)S
  3375. 1980 V
  3376. (21332)210 648 A
  3377. (while)210 1110 A
  3378. ((gap)168 1362 A
  3379. 1572(<=)S
  3380. (bufqsize);)420 1698 A
  3381. 2070 V
  3382. (21333)210 648 A
  3383. (while)210 1110 A
  3384. ((gap)168 1362 A
  3385. 1572(!=)S
  3386. 1698(1))S
  3387. 1824({)S
  3388. 2160 V
  3389. (21334)210 648 A
  3390. (gap)126 1362 A
  3391. 1530(/=)S
  3392. 1656(3;)S
  3393. 2250 V
  3394. (21335)210 648 A
  3395. (for)126 1362 A
  3396. 1530((j)S
  3397. 1656(=)S
  3398. (gap;)168 1740 A
  3399. 1950(j)S
  3400. 2034(<)S
  3401. (bufqsize;)378 2118 A
  3402. (j++))168 2538 A
  3403. 2748({)S
  3404. 2340 V
  3405. (21336)210 648 A
  3406. (for)126 1698 A
  3407. 1866((i)S
  3408. 1992(=)S
  3409. 2076(j)S
  3410. 2160(-)S
  3411. (gap;)168 2244 A
  3412. 2430 V
  3413. (21337)210 648 A
  3414. 1908(i)S
  3415. 1992(>=)S
  3416. 2118(0)S
  3417. 2202(&&)S
  3418. (bufq[i]->b_blocknr)756 2328 A
  3419. 3126(>)S
  3420. (bufq[i)252 3210 A
  3421. 3504(+)S
  3422. (gap]->b_blocknr;)672 3588 A
  3423. 2520 V
  3424. (21338)210 648 A
  3425. 1908(i)S
  3426. 1992(-=)S
  3427. (gap))168 2118 A
  3428. 2328({)S
  3429. 2610 V
  3430. (21339)210 648 A
  3431. 2034(bp)S
  3432. 2160(=)S
  3433. (bufq[i];)336 2244 A
  3434. 2700 V
  3435. (21340)210 648 A
  3436. (bufq[i])294 2034 A
  3437. 2370(=)S
  3438. (bufq[i)252 2454 A
  3439. 2748(+)S
  3440. (gap];)210 2832 A
  3441. 2790 V
  3442. (21341)210 648 A
  3443. (bufq[i)252 2034 A
  3444. 2328(+)S
  3445. (gap])168 2412 A
  3446. 2622(=)S
  3447. (bp;)126 2706 A
  3448. 2880 V
  3449. (21342)210 648 A
  3450. 1698(})S
  3451. 2970 V
  3452. (21343)210 648 A
  3453. 1362(})S
  3454. 3060 V
  3455. (21344)210 648 A
  3456. 1110(})S
  3457. 3150 V
  3458. (21345)210 648 A
  3459. 3240 V
  3460. (21346)210 648 A
  3461. 1110(/*)S
  3462. (Set)126 1236 A
  3463. 1404(up)S
  3464. (i/o)126 1530 A
  3465. (vector)252 1698 A
  3466. (and)126 1992 A
  3467. 2160(do)S
  3468. (i/o.)168 2286 A
  3469. (The)126 2538 A
  3470. (result)252 2706 A
  3471. 3000(of)S
  3472. (dev_io)252 3126 A
  3473. 3420(is)S
  3474. (discarded)378 3546 A
  3475. (because)294 3966 A
  3476. 3330 V
  3477. (21347)210 648 A
  3478. 1152(*)S
  3479. (all)126 1236 A
  3480. (results)294 1404 A
  3481. (are)126 1740 A
  3482. (returned)336 1908 A
  3483. 2286(in)S
  3484. (the)126 2412 A
  3485. (vector.)294 2580 A
  3486. 2958(If)S
  3487. (dev_io)252 3084 A
  3488. (fails)210 3378 A
  3489. (completely,)462 3630 A
  3490. (the)126 4134 A
  3491. 3420 V
  3492. (21348)210 648 A
  3493. 1152(*)S
  3494. (vector)252 1236 A
  3495. 1530(is)S
  3496. (unchanged)378 1656 A
  3497. (and)126 2076 A
  3498. (all)126 2244 A
  3499. (results)294 2412 A
  3500. (are)126 2748 A
  3501. (taken)210 2916 A
  3502. 3168(as)S
  3503. (errors.)294 3294 A
  3504. 3510 V
  3505. (21349)210 648 A
  3506. 1152(*/)S
  3507. 3600 V
  3508. (21350)210 648 A
  3509. (while)210 1110 A
  3510. ((bufqsize)378 1362 A
  3511. 1782(>)S
  3512. 1866(0))S
  3513. 1992({)S
  3514. 3690 V
  3515. (21351)210 648 A
  3516. (for)126 1362 A
  3517. 1530((j)S
  3518. 1656(=)S
  3519. 1740(0,)S
  3520. (iop)126 1866 A
  3521. 2034(=)S
  3522. (iovec;)252 2118 A
  3523. 2412(j)S
  3524. 2496(<)S
  3525. (NR_IOREQS)378 2580 A
  3526. 3000(&&)S
  3527. 3126(j)S
  3528. 3210(<)S
  3529. (bufqsize;)378 3294 A
  3530. (j++,)168 3714 A
  3531. (iop++))252 3924 A
  3532. 4218({)S
  3533. 3780 V
  3534. (21352)210 648 A
  3535. 1698(bp)S
  3536. 1824(=)S
  3537. (bufq[j];)336 1908 A
  3538. 3870 V
  3539. (21353)210 648 A
  3540. (iop->io_position)672 1698 A
  3541. 2412(=)S
  3542. ((off_t))294 2496 A
  3543. (bp->b_blocknr)546 2832 A
  3544. 3420(*)S
  3545. (BLOCK_SIZE;)462 3504 A
  3546. 3960 V
  3547. (21354)210 648 A
  3548. (iop->io_buf)462 1698 A
  3549. 2202(=)S
  3550. (bp->b_data;)462 2286 A
  3551. 4050 V
  3552. (21355)210 648 A
  3553. (iop->io_nbytes)588 1698 A
  3554. 2328(=)S
  3555. (BLOCK_SIZE;)462 2412 A
  3556. 4140 V
  3557. (21356)210 648 A
  3558. (iop->io_request)630 1698 A
  3559. 2370(=)S
  3560. (rw_flag)294 2454 A
  3561. 2790(==)S
  3562. (WRITING)294 2916 A
  3563. 3252(?)S
  3564. 4230 V
  3565. (21357)210 648 A
  3566. (DEV_WRITE)378 2454 A
  3567. 2874(:)S
  3568. (DEV_READ)336 2958 A
  3569. 3336(|)S
  3570. (OPTIONAL_IO;)504 3420 A
  3571. 4320 V
  3572. (21358)210 648 A
  3573. 1362(})S
  3574. 4410 V
  3575. (21359)210 648 A
  3576. ((void))252 1362 A
  3577. (dev_io(SCATTERED_IO,)840 1656 A
  3578. 2538(0,)S
  3579. (dev,)168 2664 A
  3580. ((off_t))294 2874 A
  3581. 3210(0,)S
  3582. 3336(j,)S
  3583. (FS_PROC_NR,)462 3462 A
  3584. 4500 V
  3585. (21360)210 648 A
  3586. ((char)210 3378 A
  3587. 3630(*))S
  3588. (iovec);)294 3756 A
  3589. 4590 V
  3590. (21361)210 648 A
  3591. 4680 V
  3592. (21362)210 648 A
  3593. 1362(/*)S
  3594. (Harvest)294 1488 A
  3595. (the)126 1824 A
  3596. (results.)336 1992 A
  3597. (Leave)210 2412 A
  3598. (read)168 2664 A
  3599. (errors)252 2874 A
  3600. (for)126 3168 A
  3601. (rw_block())420 3336 A
  3602. 3798(to)S
  3603. (complain.)378 3924 A
  3604. 4344(*/)S
  3605. 4770 V
  3606. (21363)210 648 A
  3607. (for)126 1362 A
  3608. 1530((i)S
  3609. 1656(=)S
  3610. 1740(0,)S
  3611. (iop)126 1866 A
  3612. 2034(=)S
  3613. (iovec;)252 2118 A
  3614. 2412(i)S
  3615. 2496(<)S
  3616. 2580(j;)S
  3617. (i++,)168 2706 A
  3618. (iop++))252 2916 A
  3619. 3210({)S
  3620. 4860 V
  3621. (21364)210 648 A
  3622. 1698(bp)S
  3623. 1824(=)S
  3624. (bufq[i];)336 1908 A
  3625. 4950 V
  3626. (21365)210 648 A
  3627. 1698(if)S
  3628. ((rw_flag)336 1824 A
  3629. 2202(==)S
  3630. (READING))336 2328 A
  3631. 2706({)S
  3632. 5040 V
  3633. (21366)210 648 A
  3634. 1866(if)S
  3635. ((iop->io_nbytes)630 1992 A
  3636. 2664(==)S
  3637. 2790(0))S
  3638. 5130 V
  3639. (21367)210 648 A
  3640. (bp->b_dev)378 2034 A
  3641. 2454(=)S
  3642. (dev;)168 2538 A
  3643. 3042(/*)S
  3644. (validate)336 3168 A
  3645. (block)210 3546 A
  3646. 3798(*/)S
  3647. 5220 V
  3648. (21368)210 648 A
  3649. (put_block(bp,)546 1866 A
  3650. (PARTIAL_DATA_BLOCK);)840 2454 A
  3651. 5310 V
  3652. (21369)210 648 A
  3653. 1698(})S
  3654. (else)168 1782 A
  3655. 1992({)S
  3656. 5400 V
  3657. (21370)210 648 A
  3658. 1866(if)S
  3659. ((iop->io_nbytes)630 1992 A
  3660. 2664(!=)S
  3661. 2790(0))S
  3662. 2916({)S
  3663. 5490 V
  3664. (21371)210 648 A
  3665. (printf("Unrecoverable)882 1908 A
  3666. (write)210 2832 A
  3667. (error)210 3084 A
  3668. 3336(on)S
  3669. (device)252 3462 A
  3670. (%d/%d,)252 3756 A
  3671. (block)210 4050 A
  3672. (%ld\n",)294 4302 A
  3673. 5580 V
  3674. (21372)210 648 A
  3675. ((dev>>MAJOR)&BYTE,)756 2370 A
  3676. ((dev>>MINOR)&BYTE,)756 3168 A
  3677. (bp->b_blocknr);)630 3966 A
  3678. 5670 V
  3679. (21373)210 648 A
  3680. (bp->b_dev)378 2034 A
  3681. 2454(=)S
  3682. (NO_DEV;)294 2538 A
  3683. 3042(/*)S
  3684. (invalidate)420 3168 A
  3685. (block)210 3630 A
  3686. 3882(*/)S
  3687. 5760 V
  3688. (21374)210 648 A
  3689. 1866(})S
  3690. 5850 V
  3691. (21375)210 648 A
  3692. (bp->b_dirt)420 1866 A
  3693. 2328(=)S
  3694. (CLEAN;)252 2412 A
  3695. 5940 V
  3696. (21376)210 648 A
  3697. 1698(})S
  3698. 6030 V
  3699. (21377)210 648 A
  3700. 1362(})S
  3701. 6120 V
  3702. (21378)210 648 A
  3703. (bufq)168 1362 A
  3704. 1572(+=)S
  3705. 1698(j;)S
  3706. 6210 V
  3707. (21379)210 648 A
  3708. (bufqsize)336 1362 A
  3709. 1740(-=)S
  3710. 1866(j;)S
  3711. 8418 V
  3712. EP
  3713. %%Page: 290 290
  3714. BP
  3715. /slant 0 def
  3716. /height 0 def
  3717. 630 V
  3718. 12 B
  3719. (290)180 648 A
  3720. 11 R
  3721. 2119(File:)S
  3722. (src/fs/cache.c)605 2352 A
  3723. 10 R
  3724. 3402(MINIX)S
  3725. 3730(SOURCE)S
  3726. 4153(CODE)S
  3727. 900 V
  3728. 7 LST
  3729. (21380)210 648 A
  3730. 1110(})S
  3731. 990 V
  3732. (21381)210 648 A
  3733. 1026(})S
  3734. 1260 V
  3735. (21384)210 648 A
  3736. (/*===========================================================================*)3276 1026 A
  3737. 1350 V
  3738. (21385)210 648 A
  3739. 1068(*)S
  3740. (rm_lru)252 2370 A
  3741. 4260(*)S
  3742. 1440 V
  3743. (21386)210 648 A
  3744. (*===========================================================================*/)3276 1068 A
  3745. 1530 V
  3746. (21387)210 648 A
  3747. (PRIVATE)294 1026 A
  3748. (void)168 1362 A
  3749. (rm_lru(bp))420 1572 A
  3750. 1620 V
  3751. (21388)210 648 A
  3752. (struct)252 1026 A
  3753. (buf)126 1320 A
  3754. (*bp;)168 1488 A
  3755. 1710 V
  3756. (21389)210 648 A
  3757. 1026({)S
  3758. 1800 V
  3759. (21390)210 648 A
  3760. 1026(/*)S
  3761. (Remove)252 1152 A
  3762. 1446(a)S
  3763. (block)210 1530 A
  3764. (from)168 1782 A
  3765. (its)126 1992 A
  3766. (LRU)126 2160 A
  3767. (chain.)252 2328 A
  3768. 2622(*/)S
  3769. 1890 V
  3770. (21391)210 648 A
  3771. 1980 V
  3772. (21392)210 648 A
  3773. (struct)252 1110 A
  3774. (buf)126 1404 A
  3775. (*next_ptr,)420 1572 A
  3776. (*prev_ptr;)420 2034 A
  3777. 2070 V
  3778. (21393)210 648 A
  3779. 2160 V
  3780. (21394)210 648 A
  3781. (bufs_in_use++;)588 1110 A
  3782. 2250 V
  3783. (21395)210 648 A
  3784. (next_ptr)336 1110 A
  3785. 1488(=)S
  3786. (bp->b_next;)462 1572 A
  3787. 2370(/*)S
  3788. (successor)378 2496 A
  3789. 2916(on)S
  3790. (LRU)126 3042 A
  3791. (chain)210 3210 A
  3792. 3462(*/)S
  3793. 2340 V
  3794. (21396)210 648 A
  3795. (prev_ptr)336 1110 A
  3796. 1488(=)S
  3797. (bp->b_prev;)462 1572 A
  3798. 2370(/*)S
  3799. (predecessor)462 2496 A
  3800. 3000(on)S
  3801. (LRU)126 3126 A
  3802. (chain)210 3294 A
  3803. 3546(*/)S
  3804. 2430 V
  3805. (21397)210 648 A
  3806. 1110(if)S
  3807. ((prev_ptr)378 1236 A
  3808. 1656(!=)S
  3809. (NIL_BUF))336 1782 A
  3810. 2520 V
  3811. (21398)210 648 A
  3812. (prev_ptr->b_next)672 1362 A
  3813. 2076(=)S
  3814. (next_ptr;)378 2160 A
  3815. 2610 V
  3816. (21399)210 648 A
  3817. (else)168 1110 A
  3818. 2700 V
  3819. (21400)210 648 A
  3820. (front)210 1362 A
  3821. 1614(=)S
  3822. (next_ptr;)378 1698 A
  3823. 2370(/*)S
  3824. (this)168 2496 A
  3825. (block)210 2706 A
  3826. (was)126 2958 A
  3827. 3126(at)S
  3828. (front)210 3252 A
  3829. 3504(of)S
  3830. (chain)210 3630 A
  3831. 3882(*/)S
  3832. 2790 V
  3833. (21401)210 648 A
  3834. 2880 V
  3835. (21402)210 648 A
  3836. 1110(if)S
  3837. ((next_ptr)378 1236 A
  3838. 1656(!=)S
  3839. (NIL_BUF))336 1782 A
  3840. 2970 V
  3841. (21403)210 648 A
  3842. (next_ptr->b_prev)672 1362 A
  3843. 2076(=)S
  3844. (prev_ptr;)378 2160 A
  3845. 3060 V
  3846. (21404)210 648 A
  3847. (else)168 1110 A
  3848. 3150 V
  3849. (21405)210 648 A
  3850. (rear)168 1362 A
  3851. 1572(=)S
  3852. (prev_ptr;)378 1656 A
  3853. 2370(/*)S
  3854. (this)168 2496 A
  3855. (block)210 2706 A
  3856. (was)126 2958 A
  3857. 3126(at)S
  3858. (rear)168 3252 A
  3859. 3462(of)S
  3860. (chain)210 3588 A
  3861. 3840(*/)S
  3862. 3240 V
  3863. (21406)210 648 A
  3864. 1026(})S
  3865. 3690 V
  3866. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  3867. 3780 V
  3868. (src/fs/inode.c)588 2034 A
  3869. 3870 V
  3870. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  3871. 4050 V
  3872. (21500)210 648 A
  3873. 1026(/*)S
  3874. (This)168 1152 A
  3875. (file)168 1362 A
  3876. (manages)294 1572 A
  3877. (the)126 1908 A
  3878. (inode)210 2076 A
  3879. (table.)252 2328 A
  3880. (There)210 2664 A
  3881. (are)126 2916 A
  3882. (procedures)420 3084 A
  3883. 3546(to)S
  3884. (allocate)336 3672 A
  3885. (and)126 4050 A
  3886. 4140 V
  3887. (21501)210 648 A
  3888. 1068(*)S
  3889. (deallocate)420 1152 A
  3890. (inodes,)294 1614 A
  3891. (acquire,)336 1950 A
  3892. (erase,)252 2328 A
  3893. (and)126 2622 A
  3894. (release)294 2790 A
  3895. (them,)210 3126 A
  3896. (and)126 3378 A
  3897. (read)168 3546 A
  3898. (and)126 3756 A
  3899. (write)210 3924 A
  3900. 4230 V
  3901. (21502)210 648 A
  3902. 1068(*)S
  3903. (them)168 1152 A
  3904. (from)168 1362 A
  3905. (the)126 1572 A
  3906. (disk.)210 1740 A
  3907. 4320 V
  3908. (21503)210 648 A
  3909. 1068(*)S
  3910. 4410 V
  3911. (21504)210 648 A
  3912. 1068(*)S
  3913. (The)126 1152 A
  3914. (entry)210 1320 A
  3915. (points)252 1572 A
  3916. (into)168 1866 A
  3917. (this)168 2076 A
  3918. (file)168 2286 A
  3919. (are)126 2496 A
  3920. 4500 V
  3921. (21505)210 648 A
  3922. 1068(*)S
  3923. (get_inode:)420 1236 A
  3924. (search)252 1824 A
  3925. (inode)210 2118 A
  3926. (table)210 2370 A
  3927. (for)126 2622 A
  3928. 2790(a)S
  3929. (given)210 2874 A
  3930. (inode;)252 3126 A
  3931. 3420(if)S
  3932. (not)126 3546 A
  3933. (there,)252 3714 A
  3934. (read)168 4008 A
  3935. 4218(it)S
  3936. 4590 V
  3937. (21506)210 648 A
  3938. 1068(*)S
  3939. (put_inode:)420 1236 A
  3940. (indicate)336 1824 A
  3941. (that)168 2202 A
  3942. 2412(an)S
  3943. (inode)210 2538 A
  3944. 2790(is)S
  3945. 2916(no)S
  3946. (longer)252 3042 A
  3947. (needed)252 3336 A
  3948. 3630(in)S
  3949. (memory)252 3756 A
  3950. 4680 V
  3951. (21507)210 648 A
  3952. 1068(*)S
  3953. (alloc_inode:)504 1236 A
  3954. (allocate)336 1824 A
  3955. 2202(a)S
  3956. (new,)168 2286 A
  3957. (unused)252 2496 A
  3958. (inode)210 2790 A
  3959. 4770 V
  3960. (21508)210 648 A
  3961. 1068(*)S
  3962. (wipe_inode:)462 1236 A
  3963. (erase)210 1824 A
  3964. (some)168 2076 A
  3965. (fields)252 2286 A
  3966. 2580(of)S
  3967. 2706(a)S
  3968. (newly)210 2790 A
  3969. (allocated)378 3042 A
  3970. (inode)210 3462 A
  3971. 4860 V
  3972. (21509)210 648 A
  3973. 1068(*)S
  3974. (free_inode:)462 1236 A
  3975. (mark)168 1824 A
  3976. 2034(an)S
  3977. (inode)210 2160 A
  3978. 2412(as)S
  3979. (available)378 2538 A
  3980. (for)126 2958 A
  3981. 3126(a)S
  3982. (new)126 3210 A
  3983. (file)168 3378 A
  3984. 4950 V
  3985. (21510)210 648 A
  3986. 1068(*)S
  3987. (update_times:)546 1236 A
  3988. (update)252 1824 A
  3989. (atime,)252 2118 A
  3990. (ctime,)252 2412 A
  3991. (and)126 2706 A
  3992. (mtime)210 2874 A
  3993. 5040 V
  3994. (21511)210 648 A
  3995. 1068(*)S
  3996. (rw_inode:)378 1236 A
  3997. (read)168 1824 A
  3998. 2034(a)S
  3999. (disk)168 2118 A
  4000. (block)210 2328 A
  4001. (and)126 2580 A
  4002. (extract)294 2748 A
  4003. 3084(an)S
  4004. (inode,)252 3210 A
  4005. 3504(or)S
  4006. (corresp.)336 3630 A
  4007. (write)210 4008 A
  4008. 5130 V
  4009. (21512)210 648 A
  4010. 1068(*)S
  4011. (old_icopy:)420 1236 A
  4012. (copy)168 1824 A
  4013. (to/from)294 2034 A
  4014. (in-core)294 2370 A
  4015. (inode)210 2706 A
  4016. (struct)252 2958 A
  4017. (and)126 3252 A
  4018. (disk)168 3420 A
  4019. (inode)210 3630 A
  4020. ((V1.x))252 3882 A
  4021. 5220 V
  4022. (21513)210 648 A
  4023. 1068(*)S
  4024. (new_icopy:)420 1236 A
  4025. (copy)168 1824 A
  4026. (to/from)294 2034 A
  4027. (in-core)294 2370 A
  4028. (inode)210 2706 A
  4029. (struct)252 2958 A
  4030. (and)126 3252 A
  4031. (disk)168 3420 A
  4032. (inode)210 3630 A
  4033. ((V2.x))252 3882 A
  4034. 5310 V
  4035. (21514)210 648 A
  4036. 1068(*)S
  4037. (dup_inode:)420 1236 A
  4038. (indicate)336 1824 A
  4039. (that)168 2202 A
  4040. (someone)294 2412 A
  4041. (else)168 2748 A
  4042. 2958(is)S
  4043. (using)210 3084 A
  4044. 3336(an)S
  4045. (inode)210 3462 A
  4046. (table)210 3714 A
  4047. (entry)210 3966 A
  4048. 5400 V
  4049. (21515)210 648 A
  4050. 1068(*/)S
  4051. 5490 V
  4052. (21516)210 648 A
  4053. 5580 V
  4054. (21517)210 648 A
  4055. (#include)336 1026 A
  4056. ("fs.h")252 1404 A
  4057. 5670 V
  4058. (21518)210 648 A
  4059. (#include)336 1026 A
  4060. (<minix/boot.h>)588 1404 A
  4061. 5760 V
  4062. (21519)210 648 A
  4063. (#include)336 1026 A
  4064. ("buf.h")294 1404 A
  4065. 5850 V
  4066. (21520)210 648 A
  4067. (#include)336 1026 A
  4068. ("file.h")336 1404 A
  4069. 5940 V
  4070. (21521)210 648 A
  4071. (#include)336 1026 A
  4072. ("fproc.h")378 1404 A
  4073. 6030 V
  4074. (21522)210 648 A
  4075. (#include)336 1026 A
  4076. ("inode.h")378 1404 A
  4077. 6120 V
  4078. (21523)210 648 A
  4079. (#include)336 1026 A
  4080. ("super.h")378 1404 A
  4081. 6210 V
  4082. (21524)210 648 A
  4083. 8418 V
  4084. EP
  4085. %%Page: 291 291
  4086. BP
  4087. /slant 0 def
  4088. /height 0 def
  4089. 630 V
  4090. 10 R
  4091. 648(MINIX)S
  4092. 976(SOURCE)S
  4093. 1399(CODE)S
  4094. 11 R
  4095. 2123(File:)S
  4096. (src/fs/inode.c)596 2356 A
  4097. 12 B
  4098. (291)180 4248 A
  4099. 900 V
  4100. 7 LST
  4101. (21525)210 648 A
  4102. (FORWARD)294 1026 A
  4103. (_PROTOTYPE()462 1362 A
  4104. (void)168 1866 A
  4105. (old_icopy,)420 2076 A
  4106. ((struct)294 2538 A
  4107. (inode)210 2874 A
  4108. (*rip,)210 3126 A
  4109. (d1_inode)336 3378 A
  4110. (*dip,)210 3756 A
  4111. 990 V
  4112. (21526)210 648 A
  4113. (int)126 3042 A
  4114. (direction,)420 3210 A
  4115. (int)126 3672 A
  4116. (norm));)294 3840 A
  4117. 1080 V
  4118. (21527)210 648 A
  4119. (FORWARD)294 1026 A
  4120. (_PROTOTYPE()462 1362 A
  4121. (void)168 1866 A
  4122. (new_icopy,)420 2076 A
  4123. ((struct)294 2538 A
  4124. (inode)210 2874 A
  4125. (*rip,)210 3126 A
  4126. (d2_inode)336 3378 A
  4127. (*dip,)210 3756 A
  4128. 1170 V
  4129. (21528)210 648 A
  4130. (int)126 3042 A
  4131. (direction,)420 3210 A
  4132. (int)126 3672 A
  4133. (norm));)294 3840 A
  4134. 1260 V
  4135. (21529)210 648 A
  4136. 1350 V
  4137. (21530)210 648 A
  4138. 1440 V
  4139. (21531)210 648 A
  4140. (/*===========================================================================*)3276 1026 A
  4141. 1530 V
  4142. (21532)210 648 A
  4143. 1068(*)S
  4144. (get_inode)378 2370 A
  4145. 4260(*)S
  4146. 1620 V
  4147. (21533)210 648 A
  4148. (*===========================================================================*/)3276 1068 A
  4149. 1710 V
  4150. (21534)210 648 A
  4151. (PUBLIC)252 1026 A
  4152. (struct)252 1320 A
  4153. (inode)210 1614 A
  4154. (*get_inode(dev,)630 1866 A
  4155. (numb))210 2538 A
  4156. 1800 V
  4157. (21535)210 648 A
  4158. (dev_t)210 1026 A
  4159. (dev;)168 1278 A
  4160. 2370(/*)S
  4161. (device)252 2496 A
  4162. 2790(on)S
  4163. (which)210 2916 A
  4164. (inode)210 3168 A
  4165. (resides)294 3420 A
  4166. 3756(*/)S
  4167. 1890 V
  4168. (21536)210 648 A
  4169. (int)126 1026 A
  4170. (numb;)210 1194 A
  4171. 2370(/*)S
  4172. (inode)210 2496 A
  4173. (number)252 2748 A
  4174. ((ANSI:)252 3042 A
  4175. (may)126 3336 A
  4176. (not)126 3504 A
  4177. 3672(be)S
  4178. (unshort))336 3798 A
  4179. 4176(*/)S
  4180. 1980 V
  4181. (21537)210 648 A
  4182. 1026({)S
  4183. 2070 V
  4184. (21538)210 648 A
  4185. 1026(/*)S
  4186. (Find)168 1152 A
  4187. 1362(a)S
  4188. (slot)168 1446 A
  4189. 1656(in)S
  4190. (the)126 1782 A
  4191. (inode)210 1950 A
  4192. (table,)252 2202 A
  4193. (load)168 2496 A
  4194. (the)126 2706 A
  4195. (specified)378 2874 A
  4196. (inode)210 3294 A
  4197. (into)168 3546 A
  4198. (it,)126 3756 A
  4199. (and)126 3924 A
  4200. 2160 V
  4201. (21539)210 648 A
  4202. 1068(*)S
  4203. (return)252 1152 A
  4204. 1446(a)S
  4205. (pointer)294 1530 A
  4206. 1866(to)S
  4207. (the)126 1992 A
  4208. (slot.)210 2160 A
  4209. 2454(If)S
  4210. ('dev')210 2580 A
  4211. 2832(==)S
  4212. (NO_DEV,)294 2958 A
  4213. (just)168 3294 A
  4214. (return)252 3504 A
  4215. 3798(a)S
  4216. (free)168 3882 A
  4217. (slot.)210 4092 A
  4218. 2250 V
  4219. (21540)210 648 A
  4220. 1068(*/)S
  4221. 2340 V
  4222. (21541)210 648 A
  4223. 2430 V
  4224. (21542)210 648 A
  4225. (register)336 1110 A
  4226. (struct)252 1488 A
  4227. (inode)210 1782 A
  4228. (*rip,)210 2034 A
  4229. (*xp;)168 2286 A
  4230. 2520 V
  4231. (21543)210 648 A
  4232. 2610 V
  4233. (21544)210 648 A
  4234. 1110(/*)S
  4235. (Search)252 1236 A
  4236. (the)126 1530 A
  4237. (inode)210 1698 A
  4238. (table)210 1950 A
  4239. (both)168 2202 A
  4240. (for)126 2412 A
  4241. ((dev,)210 2580 A
  4242. (numb))210 2832 A
  4243. (and)126 3084 A
  4244. 3252(a)S
  4245. (free)168 3336 A
  4246. (slot.)210 3546 A
  4247. 3798(*/)S
  4248. 2700 V
  4249. (21545)210 648 A
  4250. 1110(xp)S
  4251. 1236(=)S
  4252. (NIL_INODE;)420 1320 A
  4253. 2790 V
  4254. (21546)210 648 A
  4255. (for)126 1110 A
  4256. ((rip)168 1278 A
  4257. 1488(=)S
  4258. (&inode[0];)420 1572 A
  4259. (rip)126 2034 A
  4260. 2202(<)S
  4261. (&inode[NR_INODES];)756 2286 A
  4262. (rip++))252 3084 A
  4263. 3378({)S
  4264. 2880 V
  4265. (21547)210 648 A
  4266. 1362(if)S
  4267. ((rip->i_count)546 1488 A
  4268. 2076(>)S
  4269. 2160(0))S
  4270. 2286({)S
  4271. 2370(/*)S
  4272. (only)168 2496 A
  4273. (check)210 2706 A
  4274. (used)168 2958 A
  4275. (slots)210 3168 A
  4276. (for)126 3420 A
  4277. ((dev,)210 3588 A
  4278. (numb))210 3840 A
  4279. 4092(*/)S
  4280. 2970 V
  4281. (21548)210 648 A
  4282. 1698(if)S
  4283. ((rip->i_dev)462 1824 A
  4284. 2328(==)S
  4285. (dev)126 2454 A
  4286. 2622(&&)S
  4287. (rip->i_num)420 2748 A
  4288. 3210(==)S
  4289. (numb))210 3336 A
  4290. 3588({)S
  4291. 3060 V
  4292. (21549)210 648 A
  4293. 2034(/*)S
  4294. (This)168 2160 A
  4295. 2370(is)S
  4296. (the)126 2496 A
  4297. (inode)210 2664 A
  4298. (that)168 2916 A
  4299. 3126(we)S
  4300. (are)126 3252 A
  4301. (looking)294 3420 A
  4302. (for.)168 3756 A
  4303. 3966(*/)S
  4304. 3150 V
  4305. (21550)210 648 A
  4306. (rip->i_count++;)630 2034 A
  4307. 3240 V
  4308. (21551)210 648 A
  4309. (return(rip);)504 2034 A
  4310. 2706(/*)S
  4311. ((dev,)210 2832 A
  4312. (numb))210 3084 A
  4313. (found)210 3336 A
  4314. 3588(*/)S
  4315. 3330 V
  4316. (21552)210 648 A
  4317. 1698(})S
  4318. 3420 V
  4319. (21553)210 648 A
  4320. 1362(})S
  4321. (else)168 1446 A
  4322. 1656({)S
  4323. 3510 V
  4324. (21554)210 648 A
  4325. 1698(xp)S
  4326. 1824(=)S
  4327. (rip;)168 1908 A
  4328. 2370(/*)S
  4329. (remember)336 2496 A
  4330. (this)168 2874 A
  4331. (free)168 3084 A
  4332. (slot)168 3294 A
  4333. (for)126 3504 A
  4334. (later)210 3672 A
  4335. 3924(*/)S
  4336. 3600 V
  4337. (21555)210 648 A
  4338. 1362(})S
  4339. 3690 V
  4340. (21556)210 648 A
  4341. 1110(})S
  4342. 3780 V
  4343. (21557)210 648 A
  4344. 3870 V
  4345. (21558)210 648 A
  4346. 1110(/*)S
  4347. (Inode)210 1236 A
  4348. 1488(we)S
  4349. (want)168 1614 A
  4350. 1824(is)S
  4351. (not)126 1950 A
  4352. (currently)378 2118 A
  4353. 2538(in)S
  4354. (use.)168 2664 A
  4355. (Did)126 2916 A
  4356. 3084(we)S
  4357. (find)168 3210 A
  4358. 3420(a)S
  4359. (free)168 3504 A
  4360. (slot?)210 3714 A
  4361. 3966(*/)S
  4362. 3960 V
  4363. (21559)210 648 A
  4364. 1110(if)S
  4365. ((xp)126 1236 A
  4366. 1404(==)S
  4367. (NIL_INODE))420 1530 A
  4368. 1992({)S
  4369. 2370(/*)S
  4370. (inode)210 2496 A
  4371. (table)210 2748 A
  4372. (completely)420 3000 A
  4373. (full)168 3462 A
  4374. 3672(*/)S
  4375. 4050 V
  4376. (21560)210 648 A
  4377. (err_code)336 1362 A
  4378. 1740(=)S
  4379. (ENFILE;)294 1824 A
  4380. 4140 V
  4381. (21561)210 648 A
  4382. (return(NIL_INODE);)756 1362 A
  4383. 4230 V
  4384. (21562)210 648 A
  4385. 1110(})S
  4386. 4320 V
  4387. (21563)210 648 A
  4388. 4410 V
  4389. (21564)210 648 A
  4390. 1110(/*)S
  4391. 1236(A)S
  4392. (free)168 1320 A
  4393. (inode)210 1530 A
  4394. (slot)168 1782 A
  4395. (has)126 1992 A
  4396. (been)168 2160 A
  4397. (located.)336 2370 A
  4398. (Load)168 2790 A
  4399. (the)126 3000 A
  4400. (inode)210 3168 A
  4401. (into)168 3420 A
  4402. (it.)126 3630 A
  4403. 3798(*/)S
  4404. 4500 V
  4405. (21565)210 648 A
  4406. (xp->i_dev)378 1110 A
  4407. 1530(=)S
  4408. (dev;)168 1614 A
  4409. 4590 V
  4410. (21566)210 648 A
  4411. (xp->i_num)378 1110 A
  4412. 1530(=)S
  4413. (numb;)210 1614 A
  4414. 4680 V
  4415. (21567)210 648 A
  4416. (xp->i_count)462 1110 A
  4417. 1614(=)S
  4418. 1698(1;)S
  4419. 4770 V
  4420. (21568)210 648 A
  4421. 1110(if)S
  4422. ((dev)168 1236 A
  4423. 1446(!=)S
  4424. (NO_DEV))294 1572 A
  4425. (rw_inode(xp,)504 1908 A
  4426. (READING);)378 2454 A
  4427. 3042(/*)S
  4428. (get)126 3168 A
  4429. (inode)210 3336 A
  4430. (from)168 3588 A
  4431. (disk)168 3798 A
  4432. 4008(*/)S
  4433. 4860 V
  4434. (21569)210 648 A
  4435. (xp->i_update)504 1110 A
  4436. 1656(=)S
  4437. 1740(0;)S
  4438. 2370(/*)S
  4439. (all)126 2496 A
  4440. (the)126 2664 A
  4441. (times)210 2832 A
  4442. (are)126 3084 A
  4443. (initially)378 3252 A
  4444. (up-to-date)420 3672 A
  4445. 4134(*/)S
  4446. 4950 V
  4447. (21570)210 648 A
  4448. 5040 V
  4449. (21571)210 648 A
  4450. (return(xp);)462 1110 A
  4451. 5130 V
  4452. (21572)210 648 A
  4453. 1026(})S
  4454. 5400 V
  4455. (21575)210 648 A
  4456. (/*===========================================================================*)3276 1026 A
  4457. 5490 V
  4458. (21576)210 648 A
  4459. 1068(*)S
  4460. (put_inode)378 2370 A
  4461. 4260(*)S
  4462. 5580 V
  4463. (21577)210 648 A
  4464. (*===========================================================================*/)3276 1068 A
  4465. 5670 V
  4466. (21578)210 648 A
  4467. (PUBLIC)252 1026 A
  4468. (void)168 1320 A
  4469. (put_inode(rip))588 1530 A
  4470. 5760 V
  4471. (21579)210 648 A
  4472. (register)336 1026 A
  4473. (struct)252 1404 A
  4474. (inode)210 1698 A
  4475. (*rip;)210 1950 A
  4476. 2370(/*)S
  4477. (pointer)294 2496 A
  4478. 2832(to)S
  4479. (inode)210 2958 A
  4480. 3210(to)S
  4481. 3336(be)S
  4482. (released)336 3462 A
  4483. 3840(*/)S
  4484. 5850 V
  4485. (21580)210 648 A
  4486. 1026({)S
  4487. 5940 V
  4488. (21581)210 648 A
  4489. 1026(/*)S
  4490. (The)126 1152 A
  4491. (caller)252 1320 A
  4492. 1614(is)S
  4493. 1740(no)S
  4494. (longer)252 1866 A
  4495. (using)210 2160 A
  4496. (this)168 2412 A
  4497. (inode.)252 2622 A
  4498. 2958(If)S
  4499. 3084(no)S
  4500. (one)126 3210 A
  4501. (else)168 3378 A
  4502. 3588(is)S
  4503. (using)210 3714 A
  4504. 3966(it)S
  4505. (either)252 4092 A
  4506. 6030 V
  4507. (21582)210 648 A
  4508. 1068(*)S
  4509. (write)210 1152 A
  4510. 1404(it)S
  4511. (back)168 1530 A
  4512. 1740(to)S
  4513. (the)126 1866 A
  4514. (disk)168 2034 A
  4515. (immediately.)504 2244 A
  4516. 2832(If)S
  4517. 2958(it)S
  4518. (has)126 3084 A
  4519. 3252(no)S
  4520. (links,)252 3378 A
  4521. (truncate)336 3672 A
  4522. 4050(it)S
  4523. (and)126 4176 A
  4524. 6120 V
  4525. (21583)210 648 A
  4526. 1068(*)S
  4527. (return)252 1152 A
  4528. 1446(it)S
  4529. 1572(to)S
  4530. (the)126 1698 A
  4531. (pool)168 1866 A
  4532. 2076(of)S
  4533. (available)378 2202 A
  4534. (inodes.)294 2622 A
  4535. 6210 V
  4536. (21584)210 648 A
  4537. 1068(*/)S
  4538. 8418 V
  4539. EP
  4540. %%Page: 292 292
  4541. BP
  4542. /slant 0 def
  4543. /height 0 def
  4544. 630 V
  4545. 12 B
  4546. (292)180 648 A
  4547. 11 R
  4548. 2123(File:)S
  4549. (src/fs/inode.c)596 2356 A
  4550. 10 R
  4551. 3402(MINIX)S
  4552. 3730(SOURCE)S
  4553. 4153(CODE)S
  4554. 900 V
  4555. 7 LST
  4556. (21585)210 648 A
  4557. 990 V
  4558. (21586)210 648 A
  4559. 1110(if)S
  4560. ((rip)168 1236 A
  4561. 1446(==)S
  4562. (NIL_INODE))420 1572 A
  4563. (return;)294 2034 A
  4564. 2370(/*)S
  4565. (checking)336 2496 A
  4566. (here)168 2874 A
  4567. 3084(is)S
  4568. (easier)252 3210 A
  4569. (than)168 3504 A
  4570. 3714(in)S
  4571. (caller)252 3840 A
  4572. 4134(*/)S
  4573. 1080 V
  4574. (21587)210 648 A
  4575. 1110(if)S
  4576. ((--rip->i_count)630 1236 A
  4577. 1908(==)S
  4578. 2034(0))S
  4579. 2160({)S
  4580. 2370(/*)S
  4581. (i_count)294 2496 A
  4582. 2832(==)S
  4583. 2958(0)S
  4584. (means)210 3042 A
  4585. 3294(no)S
  4586. (one)126 3420 A
  4587. 3588(is)S
  4588. (using)210 3714 A
  4589. 3966(it)S
  4590. (now)126 4092 A
  4591. 4260(*/)S
  4592. 1170 V
  4593. (21588)210 648 A
  4594. 1362(if)S
  4595. (((rip->i_nlinks)630 1488 A
  4596. 2160(&)S
  4597. (BYTE))210 2244 A
  4598. 2496(==)S
  4599. 2622(0))S
  4600. 2748({)S
  4601. 1260 V
  4602. (21589)210 648 A
  4603. 1698(/*)S
  4604. (i_nlinks)336 1824 A
  4605. 2202(==)S
  4606. 2328(0)S
  4607. (means)210 2412 A
  4608. (free)168 2664 A
  4609. (the)126 2874 A
  4610. (inode.)252 3042 A
  4611. 3336(*/)S
  4612. 1350 V
  4613. (21590)210 648 A
  4614. (truncate(rip);)588 1698 A
  4615. 2370(/*)S
  4616. (return)252 2496 A
  4617. (all)126 2790 A
  4618. (the)126 2958 A
  4619. (disk)168 3126 A
  4620. (blocks)252 3336 A
  4621. 3630(*/)S
  4622. 1440 V
  4623. (21591)210 648 A
  4624. (rip->i_mode)462 1698 A
  4625. 2202(=)S
  4626. (I_NOT_ALLOC;)504 2286 A
  4627. 3042(/*)S
  4628. (clear)210 3168 A
  4629. (I_TYPE)252 3420 A
  4630. (field)210 3714 A
  4631. 3966(*/)S
  4632. 1530 V
  4633. (21592)210 648 A
  4634. (rip->i_dirt)462 1698 A
  4635. 2202(=)S
  4636. (DIRTY;)252 2286 A
  4637. 1620 V
  4638. (21593)210 648 A
  4639. (free_inode(rip->i_dev,)924 1698 A
  4640. (rip->i_num);)504 2664 A
  4641. 1710 V
  4642. (21594)210 648 A
  4643. 1362(})S
  4644. (else)168 1446 A
  4645. 1656({)S
  4646. 1800 V
  4647. (21595)210 648 A
  4648. 1698(if)S
  4649. ((rip->i_pipe)504 1824 A
  4650. 2370(==)S
  4651. (I_PIPE))294 2496 A
  4652. (truncate(rip);)588 2832 A
  4653. 1890 V
  4654. (21596)210 648 A
  4655. 1362(})S
  4656. 1980 V
  4657. (21597)210 648 A
  4658. (rip->i_pipe)462 1362 A
  4659. 1866(=)S
  4660. (NO_PIPE;)336 1950 A
  4661. 2370(/*)S
  4662. (should)252 2496 A
  4663. (always)252 2790 A
  4664. 3084(be)S
  4665. (cleared)294 3210 A
  4666. 3546(*/)S
  4667. 2070 V
  4668. (21598)210 648 A
  4669. 1362(if)S
  4670. ((rip->i_dirt)504 1488 A
  4671. 2034(==)S
  4672. (DIRTY))252 2160 A
  4673. (rw_inode(rip,)546 2454 A
  4674. (WRITING);)378 3042 A
  4675. 2160 V
  4676. (21599)210 648 A
  4677. 1110(})S
  4678. 2250 V
  4679. (21600)210 648 A
  4680. 1026(})S
  4681. 2430 V
  4682. (21602)210 648 A
  4683. (/*===========================================================================*)3276 1026 A
  4684. 2520 V
  4685. (21603)210 648 A
  4686. 1068(*)S
  4687. (alloc_inode)462 2370 A
  4688. 4260(*)S
  4689. 2610 V
  4690. (21604)210 648 A
  4691. (*===========================================================================*/)3276 1068 A
  4692. 2700 V
  4693. (21605)210 648 A
  4694. (PUBLIC)252 1026 A
  4695. (struct)252 1320 A
  4696. (inode)210 1614 A
  4697. (*alloc_inode(dev,)714 1866 A
  4698. (bits))210 2622 A
  4699. 2790 V
  4700. (21606)210 648 A
  4701. (dev_t)210 1026 A
  4702. (dev;)168 1278 A
  4703. 2370(/*)S
  4704. (device)252 2496 A
  4705. 2790(on)S
  4706. (which)210 2916 A
  4707. 3168(to)S
  4708. (allocate)336 3294 A
  4709. (the)126 3672 A
  4710. (inode)210 3840 A
  4711. 4092(*/)S
  4712. 2880 V
  4713. (21607)210 648 A
  4714. (mode_t)252 1026 A
  4715. (bits;)210 1320 A
  4716. 2370(/*)S
  4717. (mode)168 2496 A
  4718. 2706(of)S
  4719. (the)126 2832 A
  4720. (inode)210 3000 A
  4721. 3252(*/)S
  4722. 2970 V
  4723. (21608)210 648 A
  4724. 1026({)S
  4725. 3060 V
  4726. (21609)210 648 A
  4727. 1026(/*)S
  4728. (Allocate)336 1152 A
  4729. 1530(a)S
  4730. (free)168 1614 A
  4731. (inode)210 1824 A
  4732. 2076(on)S
  4733. ('dev',)252 2202 A
  4734. (and)126 2496 A
  4735. (return)252 2664 A
  4736. 2958(a)S
  4737. (pointer)294 3042 A
  4738. 3378(to)S
  4739. (it.)126 3504 A
  4740. 3672(*/)S
  4741. 3150 V
  4742. (21610)210 648 A
  4743. 3240 V
  4744. (21611)210 648 A
  4745. (register)336 1110 A
  4746. (struct)252 1488 A
  4747. (inode)210 1782 A
  4748. (*rip;)210 2034 A
  4749. 3330 V
  4750. (21612)210 648 A
  4751. (register)336 1110 A
  4752. (struct)252 1488 A
  4753. (super_block)462 1782 A
  4754. (*sp;)168 2286 A
  4755. 3420 V
  4756. (21613)210 648 A
  4757. (int)126 1110 A
  4758. (major,)252 1278 A
  4759. (minor,)252 1572 A
  4760. (inumb;)252 1866 A
  4761. 3510 V
  4762. (21614)210 648 A
  4763. (bit_t)210 1110 A
  4764. 1362(b;)S
  4765. 3600 V
  4766. (21615)210 648 A
  4767. 3690 V
  4768. (21616)210 648 A
  4769. 1110(sp)S
  4770. 1236(=)S
  4771. (get_super(dev);)630 1320 A
  4772. 2034(/*)S
  4773. (get)126 2160 A
  4774. (pointer)294 2328 A
  4775. 2664(to)S
  4776. (super_block)462 2790 A
  4777. 3294(*/)S
  4778. 3780 V
  4779. (21617)210 648 A
  4780. 1110(if)S
  4781. ((sp->s_rd_only))630 1236 A
  4782. 1908({)S
  4783. 2034(/*)S
  4784. (can't)210 2160 A
  4785. (allocate)336 2412 A
  4786. 2790(an)S
  4787. (inode)210 2916 A
  4788. 3168(on)S
  4789. 3294(a)S
  4790. (read)168 3378 A
  4791. (only)168 3588 A
  4792. (device.)294 3798 A
  4793. 4134(*/)S
  4794. 3870 V
  4795. (21618)210 648 A
  4796. (err_code)336 1362 A
  4797. 1740(=)S
  4798. (EROFS;)252 1824 A
  4799. 3960 V
  4800. (21619)210 648 A
  4801. (return(NIL_INODE);)756 1362 A
  4802. 4050 V
  4803. (21620)210 648 A
  4804. 1110(})S
  4805. 4140 V
  4806. (21621)210 648 A
  4807. 4230 V
  4808. (21622)210 648 A
  4809. 1110(/*)S
  4810. (Acquire)294 1236 A
  4811. 1572(an)S
  4812. (inode)210 1698 A
  4813. (from)168 1950 A
  4814. (the)126 2160 A
  4815. (bit)126 2328 A
  4816. (map.)168 2496 A
  4817. 2706(*/)S
  4818. 4320 V
  4819. (21623)210 648 A
  4820. 1110(b)S
  4821. 1194(=)S
  4822. (alloc_bit(sp,)546 1278 A
  4823. (IMAP,)210 1866 A
  4824. (sp->s_isearch);)630 2118 A
  4825. 4410 V
  4826. (21624)210 648 A
  4827. 1110(if)S
  4828. 1236((b)S
  4829. 1362(==)S
  4830. (NO_BIT))294 1488 A
  4831. 1824({)S
  4832. 4500 V
  4833. (21625)210 648 A
  4834. (err_code)336 1362 A
  4835. 1740(=)S
  4836. (ENFILE;)294 1824 A
  4837. 4590 V
  4838. (21626)210 648 A
  4839. (major)210 1362 A
  4840. 1614(=)S
  4841. ((int))210 1698 A
  4842. ((sp->s_dev)420 1950 A
  4843. 2412(>>)S
  4844. (MAJOR))252 2538 A
  4845. 2832(&)S
  4846. (BYTE;)210 2916 A
  4847. 4680 V
  4848. (21627)210 648 A
  4849. (minor)210 1362 A
  4850. 1614(=)S
  4851. ((int))210 1698 A
  4852. ((sp->s_dev)420 1950 A
  4853. 2412(>>)S
  4854. (MINOR))252 2538 A
  4855. 2832(&)S
  4856. (BYTE;)210 2916 A
  4857. 4770 V
  4858. (21628)210 648 A
  4859. (printf("Out)462 1362 A
  4860. 1866(of)S
  4861. (i-nodes)294 1992 A
  4862. 2328(on)S
  4863. (%sdevice)336 2454 A
  4864. (%d/%d\n",)378 2832 A
  4865. 4860 V
  4866. (21629)210 648 A
  4867. (sp->s_dev)378 1698 A
  4868. 2118(==)S
  4869. (ROOT_DEV)336 2244 A
  4870. 2622(?)S
  4871. ("root)210 2706 A
  4872. 2958(")S
  4873. 3042(:)S
  4874. ("",)126 3126 A
  4875. (major,)252 3294 A
  4876. (minor);)294 3588 A
  4877. 4950 V
  4878. (21630)210 648 A
  4879. (return(NIL_INODE);)756 1362 A
  4880. 5040 V
  4881. (21631)210 648 A
  4882. 1110(})S
  4883. 5130 V
  4884. (21632)210 648 A
  4885. (sp->s_isearch)546 1110 A
  4886. 1698(=)S
  4887. 1782(b;)S
  4888. 2370(/*)S
  4889. (next)168 2496 A
  4890. (time)168 2706 A
  4891. (start)210 2916 A
  4892. (here)168 3168 A
  4893. 3378(*/)S
  4894. 5220 V
  4895. (21633)210 648 A
  4896. (inumb)210 1110 A
  4897. 1362(=)S
  4898. ((int))210 1446 A
  4899. 1698(b;)S
  4900. 2370(/*)S
  4901. 2496(be)S
  4902. (careful)294 2622 A
  4903. (not)126 2958 A
  4904. 3126(to)S
  4905. (pass)168 3252 A
  4906. (unshort)294 3462 A
  4907. 3798(as)S
  4908. (param)210 3924 A
  4909. 4176(*/)S
  4910. 5310 V
  4911. (21634)210 648 A
  4912. 5400 V
  4913. (21635)210 648 A
  4914. 1110(/*)S
  4915. (Try)126 1236 A
  4916. 1404(to)S
  4917. (acquire)294 1530 A
  4918. 1866(a)S
  4919. (slot)168 1950 A
  4920. 2160(in)S
  4921. (the)126 2286 A
  4922. (inode)210 2454 A
  4923. (table.)252 2706 A
  4924. 3000(*/)S
  4925. 5490 V
  4926. (21636)210 648 A
  4927. 1110(if)S
  4928. (((rip)210 1236 A
  4929. 1488(=)S
  4930. (get_inode(NO_DEV,)714 1572 A
  4931. (inumb)))294 2328 A
  4932. 2664(==)S
  4933. (NIL_INODE))420 2790 A
  4934. 3252({)S
  4935. 5580 V
  4936. (21637)210 648 A
  4937. 1362(/*)S
  4938. 1488(No)S
  4939. (inode)210 1614 A
  4940. (table)210 1866 A
  4941. (slots)210 2118 A
  4942. (available.)420 2370 A
  4943. (Free)168 2874 A
  4944. (the)126 3084 A
  4945. (inode)210 3252 A
  4946. (just)168 3504 A
  4947. (allocated.)420 3714 A
  4948. 4176(*/)S
  4949. 5670 V
  4950. (21638)210 648 A
  4951. (free_bit(sp,)504 1362 A
  4952. (IMAP,)210 1908 A
  4953. (b);)126 2160 A
  4954. 5760 V
  4955. (21639)210 648 A
  4956. 1110(})S
  4957. (else)168 1194 A
  4958. 1404({)S
  4959. 5850 V
  4960. (21640)210 648 A
  4961. 1362(/*)S
  4962. 1488(An)S
  4963. (inode)210 1614 A
  4964. (slot)168 1866 A
  4965. 2076(is)S
  4966. (available.)420 2202 A
  4967. (Put)126 2664 A
  4968. (the)126 2832 A
  4969. (inode)210 3000 A
  4970. (just)168 3252 A
  4971. (allocated)378 3462 A
  4972. (into)168 3882 A
  4973. (it.)126 4092 A
  4974. 4260(*/)S
  4975. 5940 V
  4976. (21641)210 648 A
  4977. (rip->i_mode)462 1362 A
  4978. 1866(=)S
  4979. (bits;)210 1950 A
  4980. 2706(/*)S
  4981. (set)126 2832 A
  4982. 3000(up)S
  4983. (RWX)126 3126 A
  4984. (bits)168 3294 A
  4985. 3504(*/)S
  4986. 6030 V
  4987. (21642)210 648 A
  4988. (rip->i_nlinks)546 1362 A
  4989. 1950(=)S
  4990. ((nlink_t))378 2034 A
  4991. 2454(0;)S
  4992. 2706(/*)S
  4993. (initial)294 2832 A
  4994. 3168(no)S
  4995. (links)210 3294 A
  4996. 3546(*/)S
  4997. 6120 V
  4998. (21643)210 648 A
  4999. (rip->i_uid)420 1362 A
  5000. 1824(=)S
  5001. (fp->fp_effuid;)588 1908 A
  5002. 2706(/*)S
  5003. (file's)252 2832 A
  5004. (uid)126 3126 A
  5005. 3294(is)S
  5006. (owner's)294 3420 A
  5007. 3756(*/)S
  5008. 6210 V
  5009. (21644)210 648 A
  5010. (rip->i_gid)420 1362 A
  5011. 1824(=)S
  5012. (fp->fp_effgid;)588 1908 A
  5013. 2706(/*)S
  5014. (ditto)210 2832 A
  5015. (group)210 3084 A
  5016. 3336(id)S
  5017. 3462(*/)S
  5018. 8418 V
  5019. EP
  5020. %%Page: 293 293
  5021. BP
  5022. /slant 0 def
  5023. /height 0 def
  5024. 630 V
  5025. 10 R
  5026. 648(MINIX)S
  5027. 976(SOURCE)S
  5028. 1399(CODE)S
  5029. 11 R
  5030. 2123(File:)S
  5031. (src/fs/inode.c)596 2356 A
  5032. 12 B
  5033. (293)180 4248 A
  5034. 900 V
  5035. 7 LST
  5036. (21645)210 648 A
  5037. (rip->i_dev)420 1362 A
  5038. 1824(=)S
  5039. (dev;)168 1908 A
  5040. 2706(/*)S
  5041. (mark)168 2832 A
  5042. (which)210 3042 A
  5043. (device)252 3294 A
  5044. 3588(it)S
  5045. 3714(is)S
  5046. 3840(on)S
  5047. 3966(*/)S
  5048. 990 V
  5049. (21646)210 648 A
  5050. (rip->i_ndzones)588 1362 A
  5051. 1992(=)S
  5052. (sp->s_ndzones;)588 2076 A
  5053. 2706(/*)S
  5054. (number)252 2832 A
  5055. 3126(of)S
  5056. (direct)252 3252 A
  5057. (zones)210 3546 A
  5058. 3798(*/)S
  5059. 1080 V
  5060. (21647)210 648 A
  5061. (rip->i_nindirs)588 1362 A
  5062. 1992(=)S
  5063. (sp->s_nindirs;)588 2076 A
  5064. 2706(/*)S
  5065. (number)252 2832 A
  5066. 3126(of)S
  5067. (indirect)336 3252 A
  5068. (zones)210 3630 A
  5069. (per)126 3882 A
  5070. (blk*/)210 4050 A
  5071. 1170 V
  5072. (21648)210 648 A
  5073. (rip->i_sp)378 1362 A
  5074. 1782(=)S
  5075. (sp;)126 1866 A
  5076. 2706(/*)S
  5077. (pointer)294 2832 A
  5078. 3168(to)S
  5079. (super)210 3294 A
  5080. (block)210 3546 A
  5081. 3798(*/)S
  5082. 1260 V
  5083. (21649)210 648 A
  5084. 1350 V
  5085. (21650)210 648 A
  5086. 1362(/*)S
  5087. (Fields)252 1488 A
  5088. (not)126 1782 A
  5089. (cleared)294 1950 A
  5090. (already)294 2286 A
  5091. (are)126 2622 A
  5092. (cleared)294 2790 A
  5093. 3126(in)S
  5094. (wipe_inode().)546 3252 A
  5095. (They)168 3882 A
  5096. (have)168 4092 A
  5097. 1440 V
  5098. (21651)210 648 A
  5099. 1404(*)S
  5100. (been)168 1488 A
  5101. (put)126 1698 A
  5102. (there)210 1866 A
  5103. (because)294 2118 A
  5104. (truncate())420 2454 A
  5105. (needs)210 2916 A
  5106. 3168(to)S
  5107. (clear)210 3294 A
  5108. (the)126 3546 A
  5109. (same)168 3714 A
  5110. (fields)252 3924 A
  5111. 4218(if)S
  5112. 1530 V
  5113. (21652)210 648 A
  5114. 1404(*)S
  5115. (the)126 1488 A
  5116. (file)168 1656 A
  5117. (happens)294 1866 A
  5118. 2202(to)S
  5119. 2328(be)S
  5120. (open)168 2454 A
  5121. (while)210 2664 A
  5122. (being)210 2916 A
  5123. (truncated.)420 3168 A
  5124. 3672(It)S
  5125. (saves)210 3798 A
  5126. (space)210 4050 A
  5127. 1620 V
  5128. (21653)210 648 A
  5129. 1404(*)S
  5130. (not)126 1488 A
  5131. 1656(to)S
  5132. (repeat)252 1782 A
  5133. (the)126 2076 A
  5134. (code)168 2244 A
  5135. (twice.)252 2454 A
  5136. 1710 V
  5137. (21654)210 648 A
  5138. 1404(*/)S
  5139. 1800 V
  5140. (21655)210 648 A
  5141. (wipe_inode(rip);)672 1362 A
  5142. 1890 V
  5143. (21656)210 648 A
  5144. 1110(})S
  5145. 1980 V
  5146. (21657)210 648 A
  5147. 2070 V
  5148. (21658)210 648 A
  5149. (return(rip);)504 1110 A
  5150. 2160 V
  5151. (21659)210 648 A
  5152. 1026(})S
  5153. 2340 V
  5154. (21661)210 648 A
  5155. (/*===========================================================================*)3276 1026 A
  5156. 2430 V
  5157. (21662)210 648 A
  5158. 1068(*)S
  5159. (wipe_inode)420 2370 A
  5160. 4260(*)S
  5161. 2520 V
  5162. (21663)210 648 A
  5163. (*===========================================================================*/)3276 1068 A
  5164. 2610 V
  5165. (21664)210 648 A
  5166. (PUBLIC)252 1026 A
  5167. (void)168 1320 A
  5168. (wipe_inode(rip))630 1530 A
  5169. 2700 V
  5170. (21665)210 648 A
  5171. (register)336 1026 A
  5172. (struct)252 1404 A
  5173. (inode)210 1698 A
  5174. (*rip;)210 1950 A
  5175. 2370(/*)S
  5176. (the)126 2496 A
  5177. (inode)210 2664 A
  5178. 2916(to)S
  5179. 3042(be)S
  5180. (erased)252 3168 A
  5181. 3462(*/)S
  5182. 2790 V
  5183. (21666)210 648 A
  5184. 1026({)S
  5185. 2880 V
  5186. (21667)210 648 A
  5187. 1026(/*)S
  5188. (Erase)210 1152 A
  5189. (some)168 1404 A
  5190. (fields)252 1614 A
  5191. 1908(in)S
  5192. (the)126 2034 A
  5193. (inode.)252 2202 A
  5194. (This)168 2538 A
  5195. (function)336 2748 A
  5196. 3126(is)S
  5197. (called)252 3252 A
  5198. (from)168 3546 A
  5199. (alloc_inode())546 3756 A
  5200. 2970 V
  5201. (21668)210 648 A
  5202. 1068(*)S
  5203. (when)168 1152 A
  5204. 1362(a)S
  5205. (new)126 1446 A
  5206. (inode)210 1614 A
  5207. 1866(is)S
  5208. 1992(to)S
  5209. 2118(be)S
  5210. (allocated,)420 2244 A
  5211. (and)126 2706 A
  5212. (from)168 2874 A
  5213. (truncate(),)462 3084 A
  5214. (when)168 3588 A
  5215. 3798(an)S
  5216. (existing)336 3924 A
  5217. 3060 V
  5218. (21669)210 648 A
  5219. 1068(*)S
  5220. (inode)210 1152 A
  5221. 1404(is)S
  5222. 1530(to)S
  5223. 1656(be)S
  5224. (truncated.)420 1782 A
  5225. 3150 V
  5226. (21670)210 648 A
  5227. 1068(*/)S
  5228. 3240 V
  5229. (21671)210 648 A
  5230. 3330 V
  5231. (21672)210 648 A
  5232. (register)336 1110 A
  5233. (int)126 1488 A
  5234. 1656(i;)S
  5235. 3420 V
  5236. (21673)210 648 A
  5237. 3510 V
  5238. (21674)210 648 A
  5239. (rip->i_size)462 1110 A
  5240. 1614(=)S
  5241. 1698(0;)S
  5242. 3600 V
  5243. (21675)210 648 A
  5244. (rip->i_update)546 1110 A
  5245. 1698(=)S
  5246. (ATIME)210 1782 A
  5247. 2034(|)S
  5248. (CTIME)210 2118 A
  5249. 2370(|)S
  5250. (MTIME;)252 2454 A
  5251. 3042(/*)S
  5252. (update)252 3168 A
  5253. (all)126 3462 A
  5254. (times)210 3630 A
  5255. (later)210 3882 A
  5256. 4134(*/)S
  5257. 3690 V
  5258. (21676)210 648 A
  5259. (rip->i_dirt)462 1110 A
  5260. 1614(=)S
  5261. (DIRTY;)252 1698 A
  5262. 3780 V
  5263. (21677)210 648 A
  5264. (for)126 1110 A
  5265. 1278((i)S
  5266. 1404(=)S
  5267. 1488(0;)S
  5268. 1614(i)S
  5269. 1698(<)S
  5270. (V2_NR_TZONES;)546 1782 A
  5271. (i++))168 2370 A
  5272. (rip->i_zone[i])588 2580 A
  5273. 3210(=)S
  5274. (NO_ZONE;)336 3294 A
  5275. 3870 V
  5276. (21678)210 648 A
  5277. 1026(})S
  5278. 4140 V
  5279. (21681)210 648 A
  5280. (/*===========================================================================*)3276 1026 A
  5281. 4230 V
  5282. (21682)210 648 A
  5283. 1068(*)S
  5284. (free_inode)420 2370 A
  5285. 4260(*)S
  5286. 4320 V
  5287. (21683)210 648 A
  5288. (*===========================================================================*/)3276 1068 A
  5289. 4410 V
  5290. (21684)210 648 A
  5291. (PUBLIC)252 1026 A
  5292. (void)168 1320 A
  5293. (free_inode(dev,)630 1530 A
  5294. (inumb))252 2202 A
  5295. 4500 V
  5296. (21685)210 648 A
  5297. (dev_t)210 1026 A
  5298. (dev;)168 1278 A
  5299. 2370(/*)S
  5300. 2496(on)S
  5301. (which)210 2622 A
  5302. (device)252 2874 A
  5303. 3168(is)S
  5304. (the)126 3294 A
  5305. (inode)210 3462 A
  5306. 3714(*/)S
  5307. 4590 V
  5308. (21686)210 648 A
  5309. (ino_t)210 1026 A
  5310. (inumb;)252 1278 A
  5311. 2370(/*)S
  5312. (number)252 2496 A
  5313. 2790(of)S
  5314. (inode)210 2916 A
  5315. 3168(to)S
  5316. 3294(be)S
  5317. (freed)210 3420 A
  5318. 3672(*/)S
  5319. 4680 V
  5320. (21687)210 648 A
  5321. 1026({)S
  5322. 4770 V
  5323. (21688)210 648 A
  5324. 1026(/*)S
  5325. (Return)252 1152 A
  5326. 1446(an)S
  5327. (inode)210 1572 A
  5328. 1824(to)S
  5329. (the)126 1950 A
  5330. (pool)168 2118 A
  5331. 2328(of)S
  5332. (unallocated)462 2454 A
  5333. (inodes.)294 2958 A
  5334. 3294(*/)S
  5335. 4860 V
  5336. (21689)210 648 A
  5337. 4950 V
  5338. (21690)210 648 A
  5339. (register)336 1110 A
  5340. (struct)252 1488 A
  5341. (super_block)462 1782 A
  5342. (*sp;)168 2286 A
  5343. 5040 V
  5344. (21691)210 648 A
  5345. (bit_t)210 1110 A
  5346. 1362(b;)S
  5347. 5130 V
  5348. (21692)210 648 A
  5349. 5220 V
  5350. (21693)210 648 A
  5351. 1110(/*)S
  5352. (Locate)252 1236 A
  5353. (the)126 1530 A
  5354. (appropriate)462 1698 A
  5355. (super_block.)504 2202 A
  5356. 2748(*/)S
  5357. 5310 V
  5358. (21694)210 648 A
  5359. 1110(sp)S
  5360. 1236(=)S
  5361. (get_super(dev);)630 1320 A
  5362. 5400 V
  5363. (21695)210 648 A
  5364. 1110(if)S
  5365. ((inumb)252 1236 A
  5366. 1530(<=)S
  5367. 1656(0)S
  5368. 1740(||)S
  5369. (inumb)210 1866 A
  5370. 2118(>)S
  5371. (sp->s_ninodes))588 2202 A
  5372. (return;)294 2832 A
  5373. 5490 V
  5374. (21696)210 648 A
  5375. 1110(b)S
  5376. 1194(=)S
  5377. (inumb;)252 1278 A
  5378. 5580 V
  5379. (21697)210 648 A
  5380. (free_bit(sp,)504 1110 A
  5381. (IMAP,)210 1656 A
  5382. (b);)126 1908 A
  5383. 5670 V
  5384. (21698)210 648 A
  5385. 1110(if)S
  5386. 1236((b)S
  5387. 1362(<)S
  5388. (sp->s_isearch))588 1446 A
  5389. (sp->s_isearch)546 2076 A
  5390. 2664(=)S
  5391. 2748(b;)S
  5392. 5760 V
  5393. (21699)210 648 A
  5394. 1026(})S
  5395. 5940 V
  5396. (21701)210 648 A
  5397. (/*===========================================================================*)3276 1026 A
  5398. 6030 V
  5399. (21702)210 648 A
  5400. 1068(*)S
  5401. (update_times)504 2370 A
  5402. 4260(*)S
  5403. 6120 V
  5404. (21703)210 648 A
  5405. (*===========================================================================*/)3276 1068 A
  5406. 6210 V
  5407. (21704)210 648 A
  5408. (PUBLIC)252 1026 A
  5409. (void)168 1320 A
  5410. (update_times(rip))714 1530 A
  5411. 8418 V
  5412. EP
  5413. %%Page: 294 294
  5414. BP
  5415. /slant 0 def
  5416. /height 0 def
  5417. 630 V
  5418. 12 B
  5419. (294)180 648 A
  5420. 11 R
  5421. 2123(File:)S
  5422. (src/fs/inode.c)596 2356 A
  5423. 10 R
  5424. 3402(MINIX)S
  5425. 3730(SOURCE)S
  5426. 4153(CODE)S
  5427. 900 V
  5428. 7 LST
  5429. (21705)210 648 A
  5430. (register)336 1026 A
  5431. (struct)252 1404 A
  5432. (inode)210 1698 A
  5433. (*rip;)210 1950 A
  5434. 2370(/*)S
  5435. (pointer)294 2496 A
  5436. 2832(to)S
  5437. (inode)210 2958 A
  5438. 3210(to)S
  5439. 3336(be)S
  5440. (read/written)504 3462 A
  5441. 4008(*/)S
  5442. 990 V
  5443. (21706)210 648 A
  5444. 1026({)S
  5445. 1080 V
  5446. (21707)210 648 A
  5447. 1026(/*)S
  5448. (Various)294 1152 A
  5449. (system)252 1488 A
  5450. (calls)210 1782 A
  5451. (are)126 2034 A
  5452. (required)336 2202 A
  5453. 2580(by)S
  5454. (the)126 2706 A
  5455. (standard)336 2874 A
  5456. 3252(to)S
  5457. (update)252 3378 A
  5458. (atime,)252 3672 A
  5459. (ctime,)252 3966 A
  5460. 1170 V
  5461. (21708)210 648 A
  5462. 1068(*)S
  5463. 1152(or)S
  5464. (mtime.)252 1278 A
  5465. (Since)210 1614 A
  5466. (updating)336 1866 A
  5467. 2244(a)S
  5468. (time)168 2328 A
  5469. (requires)336 2538 A
  5470. (sending)294 2916 A
  5471. 3252(a)S
  5472. (message)294 3336 A
  5473. 3672(to)S
  5474. (the)126 3798 A
  5475. (clock)210 3966 A
  5476. 1260 V
  5477. (21709)210 648 A
  5478. 1068(*)S
  5479. (task--an)336 1152 A
  5480. (expensive)378 1530 A
  5481. (business--the)546 1950 A
  5482. (times)210 2538 A
  5483. (are)126 2790 A
  5484. (marked)252 2958 A
  5485. (for)126 3252 A
  5486. (update)252 3420 A
  5487. 3714(by)S
  5488. (setting)294 3840 A
  5489. 1350 V
  5490. (21710)210 648 A
  5491. 1068(*)S
  5492. (bits)168 1152 A
  5493. 1362(in)S
  5494. (i_update.)378 1488 A
  5495. (When)168 1950 A
  5496. 2160(a)S
  5497. (stat,)210 2244 A
  5498. (fstat,)252 2496 A
  5499. 2790(or)S
  5500. (sync)168 2916 A
  5501. 3126(is)S
  5502. (done,)210 3252 A
  5503. 3504(or)S
  5504. 3630(an)S
  5505. (inode)210 3756 A
  5506. 4008(is)S
  5507. 1440 V
  5508. (21711)210 648 A
  5509. 1068(*)S
  5510. (released,)378 1152 A
  5511. (update_times())588 1572 A
  5512. (may)126 2202 A
  5513. 2370(be)S
  5514. (called)252 2496 A
  5515. 2790(to)S
  5516. (actually)336 2916 A
  5517. (fill)168 3294 A
  5518. 3504(in)S
  5519. (the)126 3630 A
  5520. (times.)252 3798 A
  5521. 1530 V
  5522. (21712)210 648 A
  5523. 1068(*/)S
  5524. 1620 V
  5525. (21713)210 648 A
  5526. 1710 V
  5527. (21714)210 648 A
  5528. (time_t)252 1110 A
  5529. (cur_time;)378 1404 A
  5530. 1800 V
  5531. (21715)210 648 A
  5532. (struct)252 1110 A
  5533. (super_block)462 1404 A
  5534. (*sp;)168 1908 A
  5535. 1890 V
  5536. (21716)210 648 A
  5537. 1980 V
  5538. (21717)210 648 A
  5539. 1110(sp)S
  5540. 1236(=)S
  5541. (rip->i_sp;)420 1320 A
  5542. 2370(/*)S
  5543. (get)126 2496 A
  5544. (pointer)294 2664 A
  5545. 3000(to)S
  5546. (super)210 3126 A
  5547. (block.)252 3378 A
  5548. 3672(*/)S
  5549. 2070 V
  5550. (21718)210 648 A
  5551. 1110(if)S
  5552. ((sp->s_rd_only))630 1236 A
  5553. (return;)294 1908 A
  5554. 2370(/*)S
  5555. 2496(no)S
  5556. (updates)294 2622 A
  5557. (for)126 2958 A
  5558. (read-only)378 3126 A
  5559. (file)168 3546 A
  5560. (systems)294 3756 A
  5561. 4092(*/)S
  5562. 2160 V
  5563. (21719)210 648 A
  5564. 2250 V
  5565. (21720)210 648 A
  5566. (cur_time)336 1110 A
  5567. 1488(=)S
  5568. (clock_time();)546 1572 A
  5569. 2340 V
  5570. (21721)210 648 A
  5571. 1110(if)S
  5572. ((rip->i_update)588 1236 A
  5573. 1866(&)S
  5574. (ATIME))252 1950 A
  5575. (rip->i_atime)504 2244 A
  5576. 2790(=)S
  5577. (cur_time;)378 2874 A
  5578. 2430 V
  5579. (21722)210 648 A
  5580. 1110(if)S
  5581. ((rip->i_update)588 1236 A
  5582. 1866(&)S
  5583. (CTIME))252 1950 A
  5584. (rip->i_ctime)504 2244 A
  5585. 2790(=)S
  5586. (cur_time;)378 2874 A
  5587. 2520 V
  5588. (21723)210 648 A
  5589. 1110(if)S
  5590. ((rip->i_update)588 1236 A
  5591. 1866(&)S
  5592. (MTIME))252 1950 A
  5593. (rip->i_mtime)504 2244 A
  5594. 2790(=)S
  5595. (cur_time;)378 2874 A
  5596. 2610 V
  5597. (21724)210 648 A
  5598. (rip->i_update)546 1110 A
  5599. 1698(=)S
  5600. 1782(0;)S
  5601. 2370(/*)S
  5602. (they)168 2496 A
  5603. (are)126 2706 A
  5604. (all)126 2874 A
  5605. (up-to-date)420 3042 A
  5606. (now)126 3504 A
  5607. 3672(*/)S
  5608. 2700 V
  5609. (21725)210 648 A
  5610. 1026(})S
  5611. 2970 V
  5612. (21728)210 648 A
  5613. (/*===========================================================================*)3276 1026 A
  5614. 3060 V
  5615. (21729)210 648 A
  5616. 1068(*)S
  5617. (rw_inode)336 2370 A
  5618. 4260(*)S
  5619. 3150 V
  5620. (21730)210 648 A
  5621. (*===========================================================================*/)3276 1068 A
  5622. 3240 V
  5623. (21731)210 648 A
  5624. (PUBLIC)252 1026 A
  5625. (void)168 1320 A
  5626. (rw_inode(rip,)546 1530 A
  5627. (rw_flag))336 2118 A
  5628. 3330 V
  5629. (21732)210 648 A
  5630. (register)336 1026 A
  5631. (struct)252 1404 A
  5632. (inode)210 1698 A
  5633. (*rip;)210 1950 A
  5634. 2370(/*)S
  5635. (pointer)294 2496 A
  5636. 2832(to)S
  5637. (inode)210 2958 A
  5638. 3210(to)S
  5639. 3336(be)S
  5640. (read/written)504 3462 A
  5641. 4008(*/)S
  5642. 3420 V
  5643. (21733)210 648 A
  5644. (int)126 1026 A
  5645. (rw_flag;)336 1194 A
  5646. 2370(/*)S
  5647. (READING)294 2496 A
  5648. 2832(or)S
  5649. (WRITING)294 2958 A
  5650. 3294(*/)S
  5651. 3510 V
  5652. (21734)210 648 A
  5653. 1026({)S
  5654. 3600 V
  5655. (21735)210 648 A
  5656. 1026(/*)S
  5657. 1152(An)S
  5658. (entry)210 1278 A
  5659. 1530(in)S
  5660. (the)126 1656 A
  5661. (inode)210 1824 A
  5662. (table)210 2076 A
  5663. 2328(is)S
  5664. 2454(to)S
  5665. 2580(be)S
  5666. (copied)252 2706 A
  5667. 3000(to)S
  5668. 3126(or)S
  5669. (from)168 3252 A
  5670. (the)126 3462 A
  5671. (disk.)210 3630 A
  5672. 3882(*/)S
  5673. 3690 V
  5674. (21736)210 648 A
  5675. 3780 V
  5676. (21737)210 648 A
  5677. (register)336 1110 A
  5678. (struct)252 1488 A
  5679. (buf)126 1782 A
  5680. (*bp;)168 1950 A
  5681. 3870 V
  5682. (21738)210 648 A
  5683. (register)336 1110 A
  5684. (struct)252 1488 A
  5685. (super_block)462 1782 A
  5686. (*sp;)168 2286 A
  5687. 3960 V
  5688. (21739)210 648 A
  5689. (d1_inode)336 1110 A
  5690. (*dip;)210 1488 A
  5691. 4050 V
  5692. (21740)210 648 A
  5693. (d2_inode)336 1110 A
  5694. (*dip2;)252 1488 A
  5695. 4140 V
  5696. (21741)210 648 A
  5697. (block_t)294 1110 A
  5698. 1446(b,)S
  5699. (offset;)294 1572 A
  5700. 4230 V
  5701. (21742)210 648 A
  5702. 4320 V
  5703. (21743)210 648 A
  5704. 1110(/*)S
  5705. (Get)126 1236 A
  5706. (the)126 1404 A
  5707. (block)210 1572 A
  5708. (where)210 1824 A
  5709. (the)126 2076 A
  5710. (inode)210 2244 A
  5711. (resides.)336 2496 A
  5712. 2874(*/)S
  5713. 4410 V
  5714. (21744)210 648 A
  5715. 1110(sp)S
  5716. 1236(=)S
  5717. (get_super(rip->i_dev);)924 1320 A
  5718. 2370(/*)S
  5719. (get)126 2496 A
  5720. (pointer)294 2664 A
  5721. 3000(to)S
  5722. (super)210 3126 A
  5723. (block)210 3378 A
  5724. 3630(*/)S
  5725. 4500 V
  5726. (21745)210 648 A
  5727. (rip->i_sp)378 1110 A
  5728. 1530(=)S
  5729. (sp;)126 1614 A
  5730. 2370(/*)S
  5731. (inode)210 2496 A
  5732. (must)168 2748 A
  5733. (contain)294 2958 A
  5734. (super)210 3294 A
  5735. (block)210 3546 A
  5736. (pointer)294 3798 A
  5737. 4134(*/)S
  5738. 4590 V
  5739. (21746)210 648 A
  5740. (offset)252 1110 A
  5741. 1404(=)S
  5742. (sp->s_imap_blocks)714 1488 A
  5743. 2244(+)S
  5744. (sp->s_zmap_blocks)714 2328 A
  5745. 3084(+)S
  5746. 3168(2;)S
  5747. 4680 V
  5748. (21747)210 648 A
  5749. 1110(b)S
  5750. 1194(=)S
  5751. ((block_t))378 1278 A
  5752. ((rip->i_num)462 1698 A
  5753. 2202(-)S
  5754. (1)/sp->s_inodes_per_block)1050 2286 A
  5755. 3378(+)S
  5756. (offset;)294 3462 A
  5757. 4770 V
  5758. (21748)210 648 A
  5759. 1110(bp)S
  5760. 1236(=)S
  5761. (get_block(rip->i_dev,)882 1320 A
  5762. 2244(b,)S
  5763. (NORMAL);)336 2370 A
  5764. 4860 V
  5765. (21749)210 648 A
  5766. (dip)126 1110 A
  5767. 1320(=)S
  5768. (bp->b_v1_ino)504 1404 A
  5769. 1950(+)S
  5770. ((rip->i_num)462 2034 A
  5771. 2538(-)S
  5772. 2622(1))S
  5773. 2748(%)S
  5774. (V1_INODES_PER_BLOCK;)840 2832 A
  5775. 4950 V
  5776. (21750)210 648 A
  5777. (dip2)168 1110 A
  5778. 1320(=)S
  5779. (bp->b_v2_ino)504 1404 A
  5780. 1950(+)S
  5781. ((rip->i_num)462 2034 A
  5782. 2538(-)S
  5783. 2622(1))S
  5784. 2748(%)S
  5785. (V2_INODES_PER_BLOCK;)840 2832 A
  5786. 5040 V
  5787. (21751)210 648 A
  5788. 5130 V
  5789. (21752)210 648 A
  5790. 1110(/*)S
  5791. 1236(Do)S
  5792. (the)126 1362 A
  5793. (read)168 1530 A
  5794. 1740(or)S
  5795. (write.)252 1866 A
  5796. 2160(*/)S
  5797. 5220 V
  5798. (21753)210 648 A
  5799. 1110(if)S
  5800. ((rw_flag)336 1236 A
  5801. 1614(==)S
  5802. (WRITING))336 1740 A
  5803. 2118({)S
  5804. 5310 V
  5805. (21754)210 648 A
  5806. 1362(if)S
  5807. ((rip->i_update))630 1488 A
  5808. (update_times(rip);)756 2160 A
  5809. 3042(/*)S
  5810. (times)210 3168 A
  5811. (need)168 3420 A
  5812. (updating)336 3630 A
  5813. 4008(*/)S
  5814. 5400 V
  5815. (21755)210 648 A
  5816. 1362(if)S
  5817. ((sp->s_rd_only)588 1488 A
  5818. 2118(==)S
  5819. (FALSE))252 2244 A
  5820. (bp->b_dirt)420 2538 A
  5821. 3000(=)S
  5822. (DIRTY;)252 3084 A
  5823. 5490 V
  5824. (21756)210 648 A
  5825. 1110(})S
  5826. 5580 V
  5827. (21757)210 648 A
  5828. 5670 V
  5829. (21758)210 648 A
  5830. 1110(/*)S
  5831. (Copy)168 1236 A
  5832. (the)126 1446 A
  5833. (inode)210 1614 A
  5834. (from)168 1866 A
  5835. (the)126 2076 A
  5836. (disk)168 2244 A
  5837. (block)210 2454 A
  5838. 2706(to)S
  5839. (the)126 2832 A
  5840. (in-core)294 3000 A
  5841. (table)210 3336 A
  5842. 3588(or)S
  5843. (vice)168 3714 A
  5844. (versa.)252 3924 A
  5845. 5760 V
  5846. (21759)210 648 A
  5847. 1152(*)S
  5848. 1236(If)S
  5849. (the)126 1362 A
  5850. (fourth)252 1530 A
  5851. (parameter)378 1824 A
  5852. (below)210 2244 A
  5853. 2496(is)S
  5854. (FALSE,)252 2622 A
  5855. (the)126 2916 A
  5856. (bytes)210 3084 A
  5857. (are)126 3336 A
  5858. (swapped.)336 3504 A
  5859. 5850 V
  5860. (21760)210 648 A
  5861. 1152(*/)S
  5862. 5940 V
  5863. (21761)210 648 A
  5864. 1110(if)S
  5865. ((sp->s_version)588 1236 A
  5866. 1866(==)S
  5867. (V1))126 1992 A
  5868. 6030 V
  5869. (21762)210 648 A
  5870. (old_icopy(rip,)588 1362 A
  5871. (dip,)168 1992 A
  5872. (rw_flag,)336 2244 A
  5873. (sp->s_native);)588 2622 A
  5874. 6120 V
  5875. (21763)210 648 A
  5876. (else)168 1110 A
  5877. 6210 V
  5878. (21764)210 648 A
  5879. (new_icopy(rip,)588 1362 A
  5880. (dip2,)210 1992 A
  5881. (rw_flag,)336 2244 A
  5882. (sp->s_native);)588 2622 A
  5883. 8418 V
  5884. EP
  5885. %%Page: 295 295
  5886. BP
  5887. /slant 0 def
  5888. /height 0 def
  5889. 630 V
  5890. 10 R
  5891. 648(MINIX)S
  5892. 976(SOURCE)S
  5893. 1399(CODE)S
  5894. 11 R
  5895. 2123(File:)S
  5896. (src/fs/inode.c)596 2356 A
  5897. 12 B
  5898. (295)180 4248 A
  5899. 900 V
  5900. 7 LST
  5901. (21765)210 648 A
  5902. 990 V
  5903. (21766)210 648 A
  5904. (put_block(bp,)546 1110 A
  5905. (INODE_BLOCK);)546 1698 A
  5906. 1080 V
  5907. (21767)210 648 A
  5908. (rip->i_dirt)462 1110 A
  5909. 1614(=)S
  5910. (CLEAN;)252 1698 A
  5911. 1170 V
  5912. (21768)210 648 A
  5913. 1026(})S
  5914. 1440 V
  5915. (21771)210 648 A
  5916. (/*===========================================================================*)3276 1026 A
  5917. 1530 V
  5918. (21772)210 648 A
  5919. 1068(*)S
  5920. (old_icopy)378 2370 A
  5921. 4260(*)S
  5922. 1620 V
  5923. (21773)210 648 A
  5924. (*===========================================================================*/)3276 1068 A
  5925. 1710 V
  5926. (21774)210 648 A
  5927. (PRIVATE)294 1026 A
  5928. (void)168 1362 A
  5929. (old_icopy(rip,)588 1572 A
  5930. (dip,)168 2202 A
  5931. (direction,)420 2412 A
  5932. (norm))210 2874 A
  5933. 1800 V
  5934. (21775)210 648 A
  5935. (register)336 1026 A
  5936. (struct)252 1404 A
  5937. (inode)210 1698 A
  5938. (*rip;)210 1950 A
  5939. 2370(/*)S
  5940. (pointer)294 2496 A
  5941. 2832(to)S
  5942. (the)126 2958 A
  5943. (in-core)294 3126 A
  5944. (inode)210 3462 A
  5945. (struct)252 3714 A
  5946. 4008(*/)S
  5947. 1890 V
  5948. (21776)210 648 A
  5949. (register)336 1026 A
  5950. (d1_inode)336 1404 A
  5951. (*dip;)210 1782 A
  5952. 2370(/*)S
  5953. (pointer)294 2496 A
  5954. 2832(to)S
  5955. (the)126 2958 A
  5956. (d1_inode)336 3126 A
  5957. (inode)210 3504 A
  5958. (struct)252 3756 A
  5959. 4050(*/)S
  5960. 1980 V
  5961. (21777)210 648 A
  5962. (int)126 1026 A
  5963. (direction;)420 1194 A
  5964. 2370(/*)S
  5965. (READING)294 2496 A
  5966. ((from)210 2832 A
  5967. (disk))210 3084 A
  5968. 3336(or)S
  5969. (WRITING)294 3462 A
  5970. ((to)126 3798 A
  5971. (disk))210 3966 A
  5972. 4218(*/)S
  5973. 2070 V
  5974. (21778)210 648 A
  5975. (int)126 1026 A
  5976. (norm;)210 1194 A
  5977. 2370(/*)S
  5978. (TRUE)168 2496 A
  5979. 2706(=)S
  5980. 2790(do)S
  5981. (not)126 2916 A
  5982. (swap)168 3084 A
  5983. (bytes;)252 3294 A
  5984. (FALSE)210 3588 A
  5985. 3840(=)S
  5986. (swap)168 3924 A
  5987. 4134(*/)S
  5988. 2160 V
  5989. (21779)210 648 A
  5990. 2250 V
  5991. (21780)210 648 A
  5992. 1026({)S
  5993. 2340 V
  5994. (21781)210 648 A
  5995. 1026(/*)S
  5996. (The)126 1152 A
  5997. (V1.x)168 1320 A
  5998. (IBM)126 1530 A
  5999. (disk,)210 1698 A
  6000. (the)126 1950 A
  6001. (V1.x)168 2118 A
  6002. (68000)210 2328 A
  6003. (disk,)210 2580 A
  6004. (and)126 2832 A
  6005. (the)126 3000 A
  6006. 3168(V2)S
  6007. (disk)168 3294 A
  6008. ((same)210 3504 A
  6009. (for)126 3756 A
  6010. (IBM)126 3924 A
  6011. (and)126 4092 A
  6012. 2430 V
  6013. (21782)210 648 A
  6014. 1068(*)S
  6015. (68000))252 1152 A
  6016. (all)126 1446 A
  6017. (have)168 1614 A
  6018. (different)378 1824 A
  6019. (inode)210 2244 A
  6020. (layouts.)336 2496 A
  6021. (When)168 2916 A
  6022. 3126(an)S
  6023. (inode)210 3252 A
  6024. 3504(is)S
  6025. (read)168 3630 A
  6026. 3840(or)S
  6027. (written)294 3966 A
  6028. 2520 V
  6029. (21783)210 648 A
  6030. 1068(*)S
  6031. (this)168 1152 A
  6032. (routine)294 1362 A
  6033. (handles)294 1698 A
  6034. (the)126 2034 A
  6035. (conversions)462 2202 A
  6036. 2706(so)S
  6037. (that)168 2832 A
  6038. (the)126 3042 A
  6039. (information)462 3210 A
  6040. 3714(in)S
  6041. (the)126 3840 A
  6042. (inode)210 4008 A
  6043. 2610 V
  6044. (21784)210 648 A
  6045. 1068(*)S
  6046. (table)210 1152 A
  6047. 1404(is)S
  6048. (independent)462 1530 A
  6049. 2034(of)S
  6050. (the)126 2160 A
  6051. (disk)168 2328 A
  6052. (structure)378 2538 A
  6053. (from)168 2958 A
  6054. (which)210 3168 A
  6055. (the)126 3420 A
  6056. (inode)210 3588 A
  6057. (came.)210 3840 A
  6058. 2700 V
  6059. (21785)210 648 A
  6060. 1068(*)S
  6061. (The)126 1152 A
  6062. (old_icopy)378 1320 A
  6063. (routine)294 1740 A
  6064. (copies)252 2076 A
  6065. 2370(to)S
  6066. (and)126 2496 A
  6067. (from)168 2664 A
  6068. 2874(V1)S
  6069. (disks.)252 3000 A
  6070. 2790 V
  6071. (21786)210 648 A
  6072. 1068(*/)S
  6073. 2880 V
  6074. (21787)210 648 A
  6075. 2970 V
  6076. (21788)210 648 A
  6077. (int)126 1110 A
  6078. 1278(i;)S
  6079. 3060 V
  6080. (21789)210 648 A
  6081. 3150 V
  6082. (21790)210 648 A
  6083. 1110(if)S
  6084. ((direction)420 1236 A
  6085. 1698(==)S
  6086. (READING))336 1824 A
  6087. 2202({)S
  6088. 3240 V
  6089. (21791)210 648 A
  6090. 1362(/*)S
  6091. (Copy)168 1488 A
  6092. (V1.x)168 1698 A
  6093. (inode)210 1908 A
  6094. 2160(to)S
  6095. (the)126 2286 A
  6096. (in-core)294 2454 A
  6097. (table,)252 2790 A
  6098. (swapping)336 3084 A
  6099. (bytes)210 3462 A
  6100. 3714(if)S
  6101. (need)168 3840 A
  6102. (be.)126 4050 A
  6103. 4218(*/)S
  6104. 3330 V
  6105. (21792)210 648 A
  6106. (rip->i_mode)462 1362 A
  6107. 1992(=)S
  6108. (conv2(norm,)462 2076 A
  6109. ((int))210 2580 A
  6110. (dip->d1_mode);)588 2832 A
  6111. 3420 V
  6112. (21793)210 648 A
  6113. (rip->i_uid)420 1362 A
  6114. 1992(=)S
  6115. (conv2(norm,)462 2076 A
  6116. ((int))210 2580 A
  6117. (dip->d1_uid)462 2832 A
  6118. 3336();)S
  6119. 3510 V
  6120. (21794)210 648 A
  6121. (rip->i_size)462 1362 A
  6122. 1992(=)S
  6123. (conv4(norm,)462 2076 A
  6124. (dip->d1_size);)588 2832 A
  6125. 3600 V
  6126. (21795)210 648 A
  6127. (rip->i_mtime)504 1362 A
  6128. 1992(=)S
  6129. (conv4(norm,)462 2076 A
  6130. (dip->d1_mtime);)630 2832 A
  6131. 3690 V
  6132. (21796)210 648 A
  6133. (rip->i_atime)504 1362 A
  6134. 1992(=)S
  6135. (rip->i_mtime;)546 2076 A
  6136. 3780 V
  6137. (21797)210 648 A
  6138. (rip->i_ctime)504 1362 A
  6139. 1992(=)S
  6140. (rip->i_mtime;)546 2076 A
  6141. 3870 V
  6142. (21798)210 648 A
  6143. (rip->i_nlinks)546 1362 A
  6144. 1992(=)S
  6145. ((nlink_t))378 2076 A
  6146. (dip->d1_nlinks;)630 2496 A
  6147. 3378(/*)S
  6148. 3504(1)S
  6149. (char)168 3588 A
  6150. 3798(*/)S
  6151. 3960 V
  6152. (21799)210 648 A
  6153. (rip->i_gid)420 1362 A
  6154. 1992(=)S
  6155. ((gid_t))294 2076 A
  6156. (dip->d1_gid;)504 2412 A
  6157. 3378(/*)S
  6158. 3504(1)S
  6159. (char)168 3588 A
  6160. 3798(*/)S
  6161. 4050 V
  6162. (21800)210 648 A
  6163. (rip->i_ndzones)588 1362 A
  6164. 1992(=)S
  6165. (V1_NR_DZONES;)546 2076 A
  6166. 4140 V
  6167. (21801)210 648 A
  6168. (rip->i_nindirs)588 1362 A
  6169. 1992(=)S
  6170. (V1_INDIRECTS;)546 2076 A
  6171. 4230 V
  6172. (21802)210 648 A
  6173. (for)126 1362 A
  6174. 1530((i)S
  6175. 1656(=)S
  6176. 1740(0;)S
  6177. 1866(i)S
  6178. 1950(<)S
  6179. (V1_NR_TZONES;)546 2034 A
  6180. (i++))168 2622 A
  6181. 4320 V
  6182. (21803)210 648 A
  6183. (rip->i_zone[i])588 1698 A
  6184. 2328(=)S
  6185. (conv2(norm,)462 2412 A
  6186. ((int))210 2916 A
  6187. (dip->d1_zone[i]);)714 3168 A
  6188. 4410 V
  6189. (21804)210 648 A
  6190. 1110(})S
  6191. (else)168 1194 A
  6192. 1404({)S
  6193. 4500 V
  6194. (21805)210 648 A
  6195. 1362(/*)S
  6196. (Copying)294 1488 A
  6197. (V1.x)168 1824 A
  6198. (inode)210 2034 A
  6199. 2286(to)S
  6200. (disk)168 2412 A
  6201. (from)168 2622 A
  6202. (the)126 2832 A
  6203. (in-core)294 3000 A
  6204. (table.)252 3336 A
  6205. 3630(*/)S
  6206. 4590 V
  6207. (21806)210 648 A
  6208. (dip->d1_mode)504 1362 A
  6209. 1992(=)S
  6210. (conv2(norm,)462 2076 A
  6211. ((int))210 2580 A
  6212. (rip->i_mode);)546 2832 A
  6213. 4680 V
  6214. (21807)210 648 A
  6215. (dip->d1_uid)462 1362 A
  6216. 1992(=)S
  6217. (conv2(norm,)462 2076 A
  6218. ((int))210 2580 A
  6219. (rip->i_uid)420 2832 A
  6220. 3294();)S
  6221. 4770 V
  6222. (21808)210 648 A
  6223. (dip->d1_size)504 1362 A
  6224. 1992(=)S
  6225. (conv4(norm,)462 2076 A
  6226. (rip->i_size);)546 2832 A
  6227. 4860 V
  6228. (21809)210 648 A
  6229. (dip->d1_mtime)546 1362 A
  6230. 1992(=)S
  6231. (conv4(norm,)462 2076 A
  6232. (rip->i_mtime);)588 2832 A
  6233. 4950 V
  6234. (21810)210 648 A
  6235. (dip->d1_nlinks)588 1362 A
  6236. 1992(=)S
  6237. ((nlink_t))378 2076 A
  6238. (rip->i_nlinks;)588 2496 A
  6239. 3378(/*)S
  6240. 3504(1)S
  6241. (char)168 3588 A
  6242. 3798(*/)S
  6243. 5040 V
  6244. (21811)210 648 A
  6245. (dip->d1_gid)462 1362 A
  6246. 1992(=)S
  6247. ((gid_t))294 2076 A
  6248. (rip->i_gid;)462 2412 A
  6249. 3378(/*)S
  6250. 3504(1)S
  6251. (char)168 3588 A
  6252. 3798(*/)S
  6253. 5130 V
  6254. (21812)210 648 A
  6255. (for)126 1362 A
  6256. 1530((i)S
  6257. 1656(=)S
  6258. 1740(0;)S
  6259. 1866(i)S
  6260. 1950(<)S
  6261. (V1_NR_TZONES;)546 2034 A
  6262. (i++))168 2622 A
  6263. 5220 V
  6264. (21813)210 648 A
  6265. (dip->d1_zone[i])630 1698 A
  6266. 2370(=)S
  6267. (conv2(norm,)462 2454 A
  6268. ((int))210 2958 A
  6269. (rip->i_zone[i]);)672 3210 A
  6270. 5310 V
  6271. (21814)210 648 A
  6272. 1110(})S
  6273. 5400 V
  6274. (21815)210 648 A
  6275. 1026(})S
  6276. 5670 V
  6277. (21818)210 648 A
  6278. (/*===========================================================================*)3276 1026 A
  6279. 5760 V
  6280. (21819)210 648 A
  6281. 1068(*)S
  6282. (new_icopy)378 2370 A
  6283. 4260(*)S
  6284. 5850 V
  6285. (21820)210 648 A
  6286. (*===========================================================================*/)3276 1068 A
  6287. 5940 V
  6288. (21821)210 648 A
  6289. (PRIVATE)294 1026 A
  6290. (void)168 1362 A
  6291. (new_icopy(rip,)588 1572 A
  6292. (dip,)168 2202 A
  6293. (direction,)420 2412 A
  6294. (norm))210 2874 A
  6295. 6030 V
  6296. (21822)210 648 A
  6297. (register)336 1026 A
  6298. (struct)252 1404 A
  6299. (inode)210 1698 A
  6300. (*rip;)210 1950 A
  6301. 2370(/*)S
  6302. (pointer)294 2496 A
  6303. 2832(to)S
  6304. (the)126 2958 A
  6305. (in-core)294 3126 A
  6306. (inode)210 3462 A
  6307. (struct)252 3714 A
  6308. 4008(*/)S
  6309. 6120 V
  6310. (21823)210 648 A
  6311. (register)336 1026 A
  6312. (d2_inode)336 1404 A
  6313. (*dip;)210 1782 A
  6314. 2034(/*)S
  6315. (pointer)294 2160 A
  6316. 2496(to)S
  6317. (the)126 2622 A
  6318. (d2_inode)336 2790 A
  6319. (struct)252 3168 A
  6320. 3462(*/)S
  6321. 6210 V
  6322. (21824)210 648 A
  6323. (int)126 1026 A
  6324. (direction;)420 1194 A
  6325. 2370(/*)S
  6326. (READING)294 2496 A
  6327. ((from)210 2832 A
  6328. (disk))210 3084 A
  6329. 3336(or)S
  6330. (WRITING)294 3462 A
  6331. ((to)126 3798 A
  6332. (disk))210 3966 A
  6333. 4218(*/)S
  6334. 8418 V
  6335. EP
  6336. %%Page: 296 296
  6337. BP
  6338. /slant 0 def
  6339. /height 0 def
  6340. 630 V
  6341. 12 B
  6342. (296)180 648 A
  6343. 11 R
  6344. 2123(File:)S
  6345. (src/fs/inode.c)596 2356 A
  6346. 10 R
  6347. 3402(MINIX)S
  6348. 3730(SOURCE)S
  6349. 4153(CODE)S
  6350. 900 V
  6351. 7 LST
  6352. (21825)210 648 A
  6353. (int)126 1026 A
  6354. (norm;)210 1194 A
  6355. 2370(/*)S
  6356. (TRUE)168 2496 A
  6357. 2706(=)S
  6358. 2790(do)S
  6359. (not)126 2916 A
  6360. (swap)168 3084 A
  6361. (bytes;)252 3294 A
  6362. (FALSE)210 3588 A
  6363. 3840(=)S
  6364. (swap)168 3924 A
  6365. 4134(*/)S
  6366. 990 V
  6367. (21826)210 648 A
  6368. 1080 V
  6369. (21827)210 648 A
  6370. 1026({)S
  6371. 1170 V
  6372. (21828)210 648 A
  6373. 1026(/*)S
  6374. (Same)168 1152 A
  6375. 1362(as)S
  6376. (old_icopy,)420 1488 A
  6377. (but)126 1950 A
  6378. (to/from)294 2118 A
  6379. 2454(V2)S
  6380. (disk)168 2580 A
  6381. (layout.)294 2790 A
  6382. 3126(*/)S
  6383. 1260 V
  6384. (21829)210 648 A
  6385. 1350 V
  6386. (21830)210 648 A
  6387. (int)126 1110 A
  6388. 1278(i;)S
  6389. 1440 V
  6390. (21831)210 648 A
  6391. 1530 V
  6392. (21832)210 648 A
  6393. 1110(if)S
  6394. ((direction)420 1236 A
  6395. 1698(==)S
  6396. (READING))336 1824 A
  6397. 2202({)S
  6398. 1620 V
  6399. (21833)210 648 A
  6400. 1362(/*)S
  6401. (Copy)168 1488 A
  6402. (V2.x)168 1698 A
  6403. (inode)210 1908 A
  6404. 2160(to)S
  6405. (the)126 2286 A
  6406. (in-core)294 2454 A
  6407. (table,)252 2790 A
  6408. (swapping)336 3084 A
  6409. (bytes)210 3462 A
  6410. 3714(if)S
  6411. (need)168 3840 A
  6412. (be.)126 4050 A
  6413. 4218(*/)S
  6414. 1710 V
  6415. (21834)210 648 A
  6416. (rip->i_mode)462 1362 A
  6417. 1992(=)S
  6418. (conv2(norm,dip->d2_mode);)1050 2076 A
  6419. 1800 V
  6420. (21835)210 648 A
  6421. (rip->i_uid)420 1362 A
  6422. 1992(=)S
  6423. (conv2(norm,dip->d2_uid)924 2076 A
  6424. 3042();)S
  6425. 1890 V
  6426. (21836)210 648 A
  6427. (rip->i_nlinks)546 1362 A
  6428. 1992(=)S
  6429. (conv2(norm,(int))672 2076 A
  6430. (dip->d2_nlinks);)672 2790 A
  6431. 1980 V
  6432. (21837)210 648 A
  6433. (rip->i_gid)420 1362 A
  6434. 1992(=)S
  6435. (conv2(norm,(int))672 2076 A
  6436. (dip->d2_gid)462 2790 A
  6437. 3294();)S
  6438. 2070 V
  6439. (21838)210 648 A
  6440. (rip->i_size)462 1362 A
  6441. 1992(=)S
  6442. (conv4(norm,dip->d2_size);)1050 2076 A
  6443. 2160 V
  6444. (21839)210 648 A
  6445. (rip->i_atime)504 1362 A
  6446. 1992(=)S
  6447. (conv4(norm,dip->d2_atime);)1092 2076 A
  6448. 2250 V
  6449. (21840)210 648 A
  6450. (rip->i_ctime)504 1362 A
  6451. 1992(=)S
  6452. (conv4(norm,dip->d2_ctime);)1092 2076 A
  6453. 2340 V
  6454. (21841)210 648 A
  6455. (rip->i_mtime)504 1362 A
  6456. 1992(=)S
  6457. (conv4(norm,dip->d2_mtime);)1092 2076 A
  6458. 2430 V
  6459. (21842)210 648 A
  6460. (rip->i_ndzones)588 1362 A
  6461. 1992(=)S
  6462. (V2_NR_DZONES;)546 2076 A
  6463. 2520 V
  6464. (21843)210 648 A
  6465. (rip->i_nindirs)588 1362 A
  6466. 1992(=)S
  6467. (V2_INDIRECTS;)546 2076 A
  6468. 2610 V
  6469. (21844)210 648 A
  6470. (for)126 1362 A
  6471. 1530((i)S
  6472. 1656(=)S
  6473. 1740(0;)S
  6474. 1866(i)S
  6475. 1950(<)S
  6476. (V2_NR_TZONES;)546 2034 A
  6477. (i++))168 2622 A
  6478. 2700 V
  6479. (21845)210 648 A
  6480. (rip->i_zone[i])588 1698 A
  6481. 2328(=)S
  6482. (conv4(norm,)462 2412 A
  6483. ((long))252 2916 A
  6484. (dip->d2_zone[i]);)714 3210 A
  6485. 2790 V
  6486. (21846)210 648 A
  6487. 1110(})S
  6488. (else)168 1194 A
  6489. 1404({)S
  6490. 2880 V
  6491. (21847)210 648 A
  6492. 1362(/*)S
  6493. (Copying)294 1488 A
  6494. (V2.x)168 1824 A
  6495. (inode)210 2034 A
  6496. 2286(to)S
  6497. (disk)168 2412 A
  6498. (from)168 2622 A
  6499. (the)126 2832 A
  6500. (in-core)294 3000 A
  6501. (table.)252 3336 A
  6502. 3630(*/)S
  6503. 2970 V
  6504. (21848)210 648 A
  6505. (dip->d2_mode)504 1362 A
  6506. 1992(=)S
  6507. (conv2(norm,rip->i_mode);)1008 2076 A
  6508. 3060 V
  6509. (21849)210 648 A
  6510. (dip->d2_uid)462 1362 A
  6511. 1992(=)S
  6512. (conv2(norm,rip->i_uid)882 2076 A
  6513. 3000();)S
  6514. 3150 V
  6515. (21850)210 648 A
  6516. (dip->d2_nlinks)588 1362 A
  6517. 1992(=)S
  6518. (conv2(norm,rip->i_nlinks);)1092 2076 A
  6519. 3240 V
  6520. (21851)210 648 A
  6521. (dip->d2_gid)462 1362 A
  6522. 1992(=)S
  6523. (conv2(norm,rip->i_gid)882 2076 A
  6524. 3000();)S
  6525. 3330 V
  6526. (21852)210 648 A
  6527. (dip->d2_size)504 1362 A
  6528. 1992(=)S
  6529. (conv4(norm,rip->i_size);)1008 2076 A
  6530. 3420 V
  6531. (21853)210 648 A
  6532. (dip->d2_atime)546 1362 A
  6533. 1992(=)S
  6534. (conv4(norm,rip->i_atime);)1050 2076 A
  6535. 3510 V
  6536. (21854)210 648 A
  6537. (dip->d2_ctime)546 1362 A
  6538. 1992(=)S
  6539. (conv4(norm,rip->i_ctime);)1050 2076 A
  6540. 3600 V
  6541. (21855)210 648 A
  6542. (dip->d2_mtime)546 1362 A
  6543. 1992(=)S
  6544. (conv4(norm,rip->i_mtime);)1050 2076 A
  6545. 3690 V
  6546. (21856)210 648 A
  6547. (for)126 1362 A
  6548. 1530((i)S
  6549. 1656(=)S
  6550. 1740(0;)S
  6551. 1866(i)S
  6552. 1950(<)S
  6553. (V2_NR_TZONES;)546 2034 A
  6554. (i++))168 2622 A
  6555. 3780 V
  6556. (21857)210 648 A
  6557. (dip->d2_zone[i])630 1698 A
  6558. 2370(=)S
  6559. (conv4(norm,)462 2454 A
  6560. ((long))252 2958 A
  6561. (rip->i_zone[i]);)672 3252 A
  6562. 3870 V
  6563. (21858)210 648 A
  6564. 1110(})S
  6565. 3960 V
  6566. (21859)210 648 A
  6567. 1026(})S
  6568. 4230 V
  6569. (21862)210 648 A
  6570. (/*===========================================================================*)3276 1026 A
  6571. 4320 V
  6572. (21863)210 648 A
  6573. 1068(*)S
  6574. (dup_inode)378 2370 A
  6575. 4260(*)S
  6576. 4410 V
  6577. (21864)210 648 A
  6578. (*===========================================================================*/)3276 1068 A
  6579. 4500 V
  6580. (21865)210 648 A
  6581. (PUBLIC)252 1026 A
  6582. (void)168 1320 A
  6583. (dup_inode(ip))546 1530 A
  6584. 4590 V
  6585. (21866)210 648 A
  6586. (struct)252 1026 A
  6587. (inode)210 1320 A
  6588. (*ip;)168 1572 A
  6589. 2370(/*)S
  6590. (The)126 2496 A
  6591. (inode)210 2664 A
  6592. 2916(to)S
  6593. 3042(be)S
  6594. (duplicated.)462 3168 A
  6595. 3672(*/)S
  6596. 4680 V
  6597. (21867)210 648 A
  6598. 1026({)S
  6599. 4770 V
  6600. (21868)210 648 A
  6601. 1026(/*)S
  6602. (This)168 1152 A
  6603. (routine)294 1362 A
  6604. 1698(is)S
  6605. 1824(a)S
  6606. (simplified)420 1908 A
  6607. (form)168 2370 A
  6608. 2580(of)S
  6609. (get_inode())462 2706 A
  6610. (for)126 3210 A
  6611. (the)126 3378 A
  6612. (case)168 3546 A
  6613. (where)210 3756 A
  6614. 4860 V
  6615. (21869)210 648 A
  6616. 1068(*)S
  6617. (the)126 1152 A
  6618. (inode)210 1320 A
  6619. (pointer)294 1572 A
  6620. 1908(is)S
  6621. (already)294 2034 A
  6622. (known.)252 2370 A
  6623. 4950 V
  6624. (21870)210 648 A
  6625. 1068(*/)S
  6626. 5040 V
  6627. (21871)210 648 A
  6628. 5130 V
  6629. (21872)210 648 A
  6630. (ip->i_count++;)588 1110 A
  6631. 5220 V
  6632. (21873)210 648 A
  6633. 1026(})S
  6634. 8418 V
  6635. EP
  6636. %%Page: 297 297
  6637. BP
  6638. /slant 0 def
  6639. /height 0 def
  6640. 630 V
  6641. 10 R
  6642. 648(MINIX)S
  6643. 976(SOURCE)S
  6644. 1399(CODE)S
  6645. 11 R
  6646. 2126(File:)S
  6647. 2359(src/fs/super.c)S
  6648. 12 B
  6649. (297)180 4248 A
  6650. 990 V
  6651. 7 LST
  6652. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  6653. 1080 V
  6654. (src/fs/super.c)588 2034 A
  6655. 1170 V
  6656. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  6657. 1350 V
  6658. (21900)210 648 A
  6659. 1026(/*)S
  6660. (This)168 1152 A
  6661. (file)168 1362 A
  6662. (manages)294 1572 A
  6663. (the)126 1908 A
  6664. (super)210 2076 A
  6665. (block)210 2328 A
  6666. (table)210 2580 A
  6667. (and)126 2832 A
  6668. (the)126 3000 A
  6669. (related)294 3168 A
  6670. (data)168 3504 A
  6671. (structures,)462 3714 A
  6672. 1440 V
  6673. (21901)210 648 A
  6674. 1068(*)S
  6675. (namely,)294 1152 A
  6676. (the)126 1488 A
  6677. (bit)126 1656 A
  6678. (maps)168 1824 A
  6679. (that)168 2034 A
  6680. (keep)168 2244 A
  6681. (track)210 2454 A
  6682. 2706(of)S
  6683. (which)210 2832 A
  6684. (zones)210 3084 A
  6685. (and)126 3336 A
  6686. (which)210 3504 A
  6687. (inodes)252 3756 A
  6688. (are)126 4050 A
  6689. 1530 V
  6690. (21902)210 648 A
  6691. 1068(*)S
  6692. (allocated)378 1152 A
  6693. (and)126 1572 A
  6694. (which)210 1740 A
  6695. (are)126 1992 A
  6696. (free.)210 2160 A
  6697. (When)168 2454 A
  6698. 2664(a)S
  6699. (new)126 2748 A
  6700. (inode)210 2916 A
  6701. 3168(or)S
  6702. (zone)168 3294 A
  6703. 3504(is)S
  6704. (needed,)294 3630 A
  6705. (the)126 3966 A
  6706. 1620 V
  6707. (21903)210 648 A
  6708. 1068(*)S
  6709. (appropriate)462 1152 A
  6710. (bit)126 1656 A
  6711. (map)126 1824 A
  6712. 1992(is)S
  6713. (searched)336 2118 A
  6714. (for)126 2496 A
  6715. 2664(a)S
  6716. (free)168 2748 A
  6717. (entry.)252 2958 A
  6718. 1710 V
  6719. (21904)210 648 A
  6720. 1068(*)S
  6721. 1800 V
  6722. (21905)210 648 A
  6723. 1068(*)S
  6724. (The)126 1152 A
  6725. (entry)210 1320 A
  6726. (points)252 1572 A
  6727. (into)168 1866 A
  6728. (this)168 2076 A
  6729. (file)168 2286 A
  6730. (are)126 2496 A
  6731. 1890 V
  6732. (21906)210 648 A
  6733. 1068(*)S
  6734. (alloc_bit:)420 1236 A
  6735. (somebody)336 1950 A
  6736. (wants)210 2328 A
  6737. 2580(to)S
  6738. (allocate)336 2706 A
  6739. 3084(a)S
  6740. (zone)168 3168 A
  6741. 3378(or)S
  6742. (inode;)252 3504 A
  6743. (find)168 3798 A
  6744. (one)126 4008 A
  6745. 1980 V
  6746. (21907)210 648 A
  6747. 1068(*)S
  6748. (free_bit:)378 1236 A
  6749. (indicate)336 1950 A
  6750. (that)168 2328 A
  6751. 2538(a)S
  6752. (zone)168 2622 A
  6753. 2832(or)S
  6754. (inode)210 2958 A
  6755. 3210(is)S
  6756. (available)378 3336 A
  6757. (for)126 3756 A
  6758. (allocation)420 3924 A
  6759. 2070 V
  6760. (21908)210 648 A
  6761. 1068(*)S
  6762. (get_super:)420 1236 A
  6763. (search)252 1950 A
  6764. (the)126 2244 A
  6765. ('superblock')504 2412 A
  6766. (table)210 2958 A
  6767. (for)126 3210 A
  6768. 3378(a)S
  6769. (device)252 3462 A
  6770. 2160 V
  6771. (21909)210 648 A
  6772. 1068(*)S
  6773. (mounted:)336 1236 A
  6774. (tells)210 1950 A
  6775. 2202(if)S
  6776. (file)168 2328 A
  6777. (inode)210 2538 A
  6778. 2790(is)S
  6779. 2916(on)S
  6780. (mounted)294 3042 A
  6781. ((or)126 3378 A
  6782. (ROOT))210 3546 A
  6783. (file)168 3798 A
  6784. (system)252 4008 A
  6785. 2250 V
  6786. (21910)210 648 A
  6787. 1068(*)S
  6788. (read_super:)462 1236 A
  6789. (read)168 1950 A
  6790. 2160(a)S
  6791. (superblock)420 2244 A
  6792. 2340 V
  6793. (21911)210 648 A
  6794. 1068(*/)S
  6795. 2430 V
  6796. (21912)210 648 A
  6797. 2520 V
  6798. (21913)210 648 A
  6799. (#include)336 1026 A
  6800. ("fs.h")252 1404 A
  6801. 2610 V
  6802. (21914)210 648 A
  6803. (#include)336 1026 A
  6804. (<string.h>)420 1404 A
  6805. 2700 V
  6806. (21915)210 648 A
  6807. (#include)336 1026 A
  6808. (<minix/boot.h>)588 1404 A
  6809. 2790 V
  6810. (21916)210 648 A
  6811. (#include)336 1026 A
  6812. ("buf.h")294 1404 A
  6813. 2880 V
  6814. (21917)210 648 A
  6815. (#include)336 1026 A
  6816. ("inode.h")378 1404 A
  6817. 2970 V
  6818. (21918)210 648 A
  6819. (#include)336 1026 A
  6820. ("super.h")378 1404 A
  6821. 3060 V
  6822. (21919)210 648 A
  6823. 3150 V
  6824. (21920)210 648 A
  6825. (#define)294 1026 A
  6826. (BITCHUNK_BITS)546 1362 A
  6827. ((usizeof(bitchunk_t))840 2034 A
  6828. 2916(*)S
  6829. (CHAR_BIT))378 3000 A
  6830. 3240 V
  6831. (21921)210 648 A
  6832. (#define)294 1026 A
  6833. (BITS_PER_BLOCK)588 1362 A
  6834. ((BITMAP_CHUNKS)588 2034 A
  6835. 2664(*)S
  6836. (BITCHUNK_BITS))588 2748 A
  6837. 3330 V
  6838. (21922)210 648 A
  6839. 3420 V
  6840. (21923)210 648 A
  6841. (/*===========================================================================*)3276 1026 A
  6842. 3510 V
  6843. (21924)210 648 A
  6844. 1068(*)S
  6845. (alloc_bit)378 2370 A
  6846. 4260(*)S
  6847. 3600 V
  6848. (21925)210 648 A
  6849. (*===========================================================================*/)3276 1068 A
  6850. 3690 V
  6851. (21926)210 648 A
  6852. (PUBLIC)252 1026 A
  6853. (bit_t)210 1320 A
  6854. (alloc_bit(sp,)546 1572 A
  6855. (map,)168 2160 A
  6856. (origin))294 2370 A
  6857. 3780 V
  6858. (21927)210 648 A
  6859. (struct)252 1026 A
  6860. (super_block)462 1320 A
  6861. (*sp;)168 1824 A
  6862. 2370(/*)S
  6863. (the)126 2496 A
  6864. (filesystem)420 2664 A
  6865. 3126(to)S
  6866. (allocate)336 3252 A
  6867. (from)168 3630 A
  6868. 3840(*/)S
  6869. 3870 V
  6870. (21928)210 648 A
  6871. (int)126 1026 A
  6872. (map;)168 1194 A
  6873. 2370(/*)S
  6874. (IMAP)168 2496 A
  6875. ((inode)252 2706 A
  6876. (map))168 3000 A
  6877. 3210(or)S
  6878. (ZMAP)168 3336 A
  6879. ((zone)210 3546 A
  6880. (map))168 3798 A
  6881. 4008(*/)S
  6882. 3960 V
  6883. (21929)210 648 A
  6884. (bit_t)210 1026 A
  6885. (origin;)294 1278 A
  6886. 2370(/*)S
  6887. (number)252 2496 A
  6888. 2790(of)S
  6889. (bit)126 2916 A
  6890. 3084(to)S
  6891. (start)210 3210 A
  6892. (searching)378 3462 A
  6893. 3882(at)S
  6894. 4008(*/)S
  6895. 4050 V
  6896. (21930)210 648 A
  6897. 1026({)S
  6898. 4140 V
  6899. (21931)210 648 A
  6900. 1026(/*)S
  6901. (Allocate)336 1152 A
  6902. 1530(a)S
  6903. (bit)126 1614 A
  6904. (from)168 1782 A
  6905. 1992(a)S
  6906. (bit)126 2076 A
  6907. (map)126 2244 A
  6908. (and)126 2412 A
  6909. (return)252 2580 A
  6910. (its)126 2874 A
  6911. (bit)126 3042 A
  6912. (number.)294 3210 A
  6913. 3546(*/)S
  6914. 4230 V
  6915. (21932)210 648 A
  6916. 4320 V
  6917. (21933)210 648 A
  6918. (block_t)294 1110 A
  6919. (start_block;)504 1446 A
  6920. 2370(/*)S
  6921. (first)210 2496 A
  6922. (bit)126 2748 A
  6923. (block)210 2916 A
  6924. 3168(*/)S
  6925. 4410 V
  6926. (21934)210 648 A
  6927. (bit_t)210 1110 A
  6928. (map_bits;)378 1362 A
  6929. 2370(/*)S
  6930. (how)126 2496 A
  6931. (many)168 2664 A
  6932. (bits)168 2874 A
  6933. (are)126 3084 A
  6934. (there)210 3252 A
  6935. 3504(in)S
  6936. (the)126 3630 A
  6937. (bit)126 3798 A
  6938. (map?)168 3966 A
  6939. 4176(*/)S
  6940. 4500 V
  6941. (21935)210 648 A
  6942. (unsigned)336 1110 A
  6943. (bit_blocks;)462 1488 A
  6944. 2370(/*)S
  6945. (how)126 2496 A
  6946. (many)168 2664 A
  6947. (blocks)252 2874 A
  6948. (are)126 3168 A
  6949. (there)210 3336 A
  6950. 3588(in)S
  6951. (the)126 3714 A
  6952. (bit)126 3882 A
  6953. (map?)168 4050 A
  6954. 4260(*/)S
  6955. 4590 V
  6956. (21936)210 648 A
  6957. (unsigned)336 1110 A
  6958. (block,)252 1488 A
  6959. (word,)210 1782 A
  6960. (bcount,)294 2034 A
  6961. (wcount;)294 2370 A
  6962. 4680 V
  6963. (21937)210 648 A
  6964. (struct)252 1110 A
  6965. (buf)126 1404 A
  6966. (*bp;)168 1572 A
  6967. 4770 V
  6968. (21938)210 648 A
  6969. (bitchunk_t)420 1110 A
  6970. (*wptr,)252 1572 A
  6971. (*wlim,)252 1866 A
  6972. 2160(k;)S
  6973. 4860 V
  6974. (21939)210 648 A
  6975. (bit_t)210 1110 A
  6976. 1362(i,)S
  6977. 1488(b;)S
  6978. 4950 V
  6979. (21940)210 648 A
  6980. 5040 V
  6981. (21941)210 648 A
  6982. 1110(if)S
  6983. ((sp->s_rd_only))630 1236 A
  6984. 5130 V
  6985. (21942)210 648 A
  6986. (panic("can't)504 1362 A
  6987. (allocate)336 1908 A
  6988. (bit)126 2286 A
  6989. 2454(on)S
  6990. (read-only)378 2580 A
  6991. (filesys.",)420 3000 A
  6992. (NO_NUM);)336 3462 A
  6993. 5220 V
  6994. (21943)210 648 A
  6995. 5310 V
  6996. (21944)210 648 A
  6997. 1110(if)S
  6998. ((map)168 1236 A
  6999. 1446(==)S
  7000. (IMAP))210 1572 A
  7001. 1824({)S
  7002. 5400 V
  7003. (21945)210 648 A
  7004. (start_block)462 1362 A
  7005. 1866(=)S
  7006. (SUPER_BLOCK)462 1950 A
  7007. 2454(+)S
  7008. 2538(1;)S
  7009. 5490 V
  7010. (21946)210 648 A
  7011. (map_bits)336 1362 A
  7012. 1740(=)S
  7013. (sp->s_ninodes)546 1824 A
  7014. 2412(+)S
  7015. 2496(1;)S
  7016. 5580 V
  7017. (21947)210 648 A
  7018. (bit_blocks)420 1362 A
  7019. 1824(=)S
  7020. (sp->s_imap_blocks;)756 1908 A
  7021. 5670 V
  7022. (21948)210 648 A
  7023. 1110(})S
  7024. (else)168 1194 A
  7025. 1404({)S
  7026. 5760 V
  7027. (21949)210 648 A
  7028. (start_block)462 1362 A
  7029. 1866(=)S
  7030. (SUPER_BLOCK)462 1950 A
  7031. 2454(+)S
  7032. 2538(1)S
  7033. 2622(+)S
  7034. (sp->s_imap_blocks;)756 2706 A
  7035. 5850 V
  7036. (21950)210 648 A
  7037. (map_bits)336 1362 A
  7038. 1740(=)S
  7039. (sp->s_zones)462 1824 A
  7040. 2328(-)S
  7041. ((sp->s_firstdatazone)840 2412 A
  7042. 3294(-)S
  7043. (1);)126 3378 A
  7044. 5940 V
  7045. (21951)210 648 A
  7046. (bit_blocks)420 1362 A
  7047. 1824(=)S
  7048. (sp->s_zmap_blocks;)756 1908 A
  7049. 6030 V
  7050. (21952)210 648 A
  7051. 1110(})S
  7052. 6120 V
  7053. (21953)210 648 A
  7054. 6210 V
  7055. (21954)210 648 A
  7056. 1110(/*)S
  7057. (Figure)252 1236 A
  7058. (out)126 1530 A
  7059. (where)210 1698 A
  7060. 1950(to)S
  7061. (start)210 2076 A
  7062. (the)126 2328 A
  7063. (bit)126 2496 A
  7064. (search)252 2664 A
  7065. ((depends)336 2958 A
  7066. 3336(on)S
  7067. ('origin').)420 3462 A
  7068. 3924(*/)S
  7069. 8418 V
  7070. EP
  7071. %%Page: 298 298
  7072. BP
  7073. /slant 0 def
  7074. /height 0 def
  7075. 630 V
  7076. 12 B
  7077. (298)180 648 A
  7078. 11 R
  7079. 2126(File:)S
  7080. 2359(src/fs/super.c)S
  7081. 10 R
  7082. 3402(MINIX)S
  7083. 3730(SOURCE)S
  7084. 4153(CODE)S
  7085. 900 V
  7086. 7 LST
  7087. (21955)210 648 A
  7088. 1110(if)S
  7089. ((origin)294 1236 A
  7090. 1572(>=)S
  7091. (map_bits))378 1698 A
  7092. (origin)252 2118 A
  7093. 2412(=)S
  7094. 2496(0;)S
  7095. 2706(/*)S
  7096. (for)126 2832 A
  7097. (robustness)420 3000 A
  7098. 3462(*/)S
  7099. 990 V
  7100. (21956)210 648 A
  7101. 1080 V
  7102. (21957)210 648 A
  7103. 1110(/*)S
  7104. (Locate)252 1236 A
  7105. (the)126 1530 A
  7106. (starting)336 1698 A
  7107. (place.)252 2076 A
  7108. 2370(*/)S
  7109. 1170 V
  7110. (21958)210 648 A
  7111. (block)210 1110 A
  7112. 1362(=)S
  7113. (origin)252 1446 A
  7114. 1740(/)S
  7115. (BITS_PER_BLOCK;)630 1824 A
  7116. 1260 V
  7117. (21959)210 648 A
  7118. (word)168 1110 A
  7119. 1320(=)S
  7120. ((origin)294 1404 A
  7121. 1740(%)S
  7122. (BITS_PER_BLOCK))630 1824 A
  7123. 2496(/)S
  7124. (BITCHUNK_BITS;)588 2580 A
  7125. 1350 V
  7126. (21960)210 648 A
  7127. 1440 V
  7128. (21961)210 648 A
  7129. 1110(/*)S
  7130. (Iterate)294 1236 A
  7131. (over)168 1572 A
  7132. (all)126 1782 A
  7133. (blocks)252 1950 A
  7134. (plus)168 2244 A
  7135. (one,)168 2454 A
  7136. (because)294 2664 A
  7137. 3000(we)S
  7138. (start)210 3126 A
  7139. 3378(in)S
  7140. (the)126 3504 A
  7141. (middle.)294 3672 A
  7142. 4008(*/)S
  7143. 1530 V
  7144. (21962)210 648 A
  7145. (bcount)252 1110 A
  7146. 1404(=)S
  7147. (bit_blocks)420 1488 A
  7148. 1950(+)S
  7149. 2034(1;)S
  7150. 1620 V
  7151. (21963)210 648 A
  7152. 1110(do)S
  7153. 1236({)S
  7154. 1710 V
  7155. (21964)210 648 A
  7156. 1362(bp)S
  7157. 1488(=)S
  7158. (get_block(sp->s_dev,)840 1572 A
  7159. (start_block)462 2454 A
  7160. 2958(+)S
  7161. (block,)252 3042 A
  7162. (NORMAL);)336 3336 A
  7163. 1800 V
  7164. (21965)210 648 A
  7165. (wlim)168 1362 A
  7166. 1572(=)S
  7167. (&bp->b_bitmap[BITMAP_CHUNKS];)1218 1656 A
  7168. 1890 V
  7169. (21966)210 648 A
  7170. 1980 V
  7171. (21967)210 648 A
  7172. 1362(/*)S
  7173. (Iterate)294 1488 A
  7174. (over)168 1824 A
  7175. (the)126 2034 A
  7176. (words)210 2202 A
  7177. 2454(in)S
  7178. (block.)252 2580 A
  7179. 2874(*/)S
  7180. 2070 V
  7181. (21968)210 648 A
  7182. (for)126 1362 A
  7183. ((wptr)210 1530 A
  7184. 1782(=)S
  7185. (&bp->b_bitmap[word];)840 1866 A
  7186. (wptr)168 2748 A
  7187. 2958(<)S
  7188. (wlim;)210 3042 A
  7189. (wptr++))294 3294 A
  7190. 3630({)S
  7191. 2160 V
  7192. (21969)210 648 A
  7193. 2250 V
  7194. (21970)210 648 A
  7195. 1698(/*)S
  7196. (Does)168 1824 A
  7197. (this)168 2034 A
  7198. (word)168 2244 A
  7199. (contain)294 2454 A
  7200. 2790(a)S
  7201. (free)168 2874 A
  7202. (bit?)168 3084 A
  7203. 3294(*/)S
  7204. 2340 V
  7205. (21971)210 648 A
  7206. 1698(if)S
  7207. ((*wptr)252 1824 A
  7208. 2118(==)S
  7209. ((bitchunk_t))504 2244 A
  7210. (3040))126 2790 A
  7211. (continue;)378 2958 A
  7212. 2430 V
  7213. (21972)210 648 A
  7214. 2520 V
  7215. (21973)210 648 A
  7216. 1698(/*)S
  7217. (Find)168 1824 A
  7218. (and)126 2034 A
  7219. (allocate)336 2202 A
  7220. (the)126 2580 A
  7221. (free)168 2748 A
  7222. (bit.)168 2958 A
  7223. 3168(*/)S
  7224. 2610 V
  7225. (21974)210 648 A
  7226. 1698(k)S
  7227. 1782(=)S
  7228. (conv2(sp->s_native,)798 1866 A
  7229. ((int))210 2706 A
  7230. (*wptr);)294 2958 A
  7231. 2700 V
  7232. (21975)210 648 A
  7233. (for)126 1698 A
  7234. 1866((i)S
  7235. 1992(=)S
  7236. 2076(0;)S
  7237. 2202((k)S
  7238. 2328(&)S
  7239. 2412((1)S
  7240. 2538(<<)S
  7241. (i)))126 2664 A
  7242. 2832(!=)S
  7243. 2958(0;)S
  7244. (++i))168 3084 A
  7245. 3294({})S
  7246. 2790 V
  7247. (21976)210 648 A
  7248. 2880 V
  7249. (21977)210 648 A
  7250. 1698(/*)S
  7251. (Bit)126 1824 A
  7252. (number)252 1992 A
  7253. (from)168 2286 A
  7254. (the)126 2496 A
  7255. (start)210 2664 A
  7256. 2916(of)S
  7257. (the)126 3042 A
  7258. (bit)126 3210 A
  7259. (map.)168 3378 A
  7260. 3588(*/)S
  7261. 2970 V
  7262. (21978)210 648 A
  7263. 1698(b)S
  7264. 1782(=)S
  7265. (((bit_t))336 1866 A
  7266. (block)210 2244 A
  7267. 2496(*)S
  7268. (BITS_PER_BLOCK))630 2580 A
  7269. 3060 V
  7270. (21979)210 648 A
  7271. 1866(+)S
  7272. ((wptr)210 1950 A
  7273. 2202(-)S
  7274. (&bp->b_bitmap[0]))714 2286 A
  7275. 3042(*)S
  7276. (BITCHUNK_BITS)546 3126 A
  7277. 3150 V
  7278. (21980)210 648 A
  7279. 1866(+)S
  7280. 1950(i;)S
  7281. 3240 V
  7282. (21981)210 648 A
  7283. 3330 V
  7284. (21982)210 648 A
  7285. 1698(/*)S
  7286. (Don't)210 1824 A
  7287. (allocate)336 2076 A
  7288. (bits)168 2454 A
  7289. (beyond)252 2664 A
  7290. (the)126 2958 A
  7291. (end)126 3126 A
  7292. 3294(of)S
  7293. (the)126 3420 A
  7294. (map.)168 3588 A
  7295. 3798(*/)S
  7296. 3420 V
  7297. (21983)210 648 A
  7298. 1698(if)S
  7299. 1824((b)S
  7300. 1950(>=)S
  7301. (map_bits))378 2076 A
  7302. (break;)252 2496 A
  7303. 3510 V
  7304. (21984)210 648 A
  7305. 3600 V
  7306. (21985)210 648 A
  7307. 1698(/*)S
  7308. (Allocate)336 1824 A
  7309. (and)126 2202 A
  7310. (return)252 2370 A
  7311. (bit)126 2664 A
  7312. (number.)294 2832 A
  7313. 3168(*/)S
  7314. 3690 V
  7315. (21986)210 648 A
  7316. 1698(k)S
  7317. 1782(|=)S
  7318. 1908(1)S
  7319. 1992(<<)S
  7320. 2118(i;)S
  7321. 3780 V
  7322. (21987)210 648 A
  7323. (*wptr)210 1698 A
  7324. 1950(=)S
  7325. (conv2(sp->s_native,)798 2034 A
  7326. ((int))210 2874 A
  7327. (k);)126 3126 A
  7328. 3870 V
  7329. (21988)210 648 A
  7330. (bp->b_dirt)420 1698 A
  7331. 2160(=)S
  7332. (DIRTY;)252 2244 A
  7333. 3960 V
  7334. (21989)210 648 A
  7335. (put_block(bp,)546 1698 A
  7336. (MAP_BLOCK);)462 2286 A
  7337. 4050 V
  7338. (21990)210 648 A
  7339. (return(b);)420 1698 A
  7340. 4140 V
  7341. (21991)210 648 A
  7342. 1362(})S
  7343. 4230 V
  7344. (21992)210 648 A
  7345. (put_block(bp,)546 1362 A
  7346. (MAP_BLOCK);)462 1950 A
  7347. 4320 V
  7348. (21993)210 648 A
  7349. 1362(if)S
  7350. ((++block)336 1488 A
  7351. 1866(>=)S
  7352. (bit_blocks))462 1992 A
  7353. (block)210 2496 A
  7354. 2748(=)S
  7355. 2832(0;)S
  7356. 3042(/*)S
  7357. (last)168 3168 A
  7358. (block,)252 3378 A
  7359. (wrap)168 3672 A
  7360. (around)252 3882 A
  7361. 4176(*/)S
  7362. 4410 V
  7363. (21994)210 648 A
  7364. (word)168 1362 A
  7365. 1572(=)S
  7366. 1656(0;)S
  7367. 4500 V
  7368. (21995)210 648 A
  7369. 1110(})S
  7370. (while)210 1194 A
  7371. ((--bcount)378 1446 A
  7372. 1866(>)S
  7373. (0);)126 1950 A
  7374. 4590 V
  7375. (21996)210 648 A
  7376. (return(NO_BIT);)630 1110 A
  7377. 2370(/*)S
  7378. 2496(no)S
  7379. (bit)126 2622 A
  7380. (could)210 2790 A
  7381. 3042(be)S
  7382. (allocated)378 3168 A
  7383. 3588(*/)S
  7384. 4680 V
  7385. (21997)210 648 A
  7386. 1026(})S
  7387. 4950 V
  7388. (22000)210 648 A
  7389. (/*===========================================================================*)3276 1026 A
  7390. 5040 V
  7391. (22001)210 648 A
  7392. 1068(*)S
  7393. (free_bit)336 2370 A
  7394. 4260(*)S
  7395. 5130 V
  7396. (22002)210 648 A
  7397. (*===========================================================================*/)3276 1068 A
  7398. 5220 V
  7399. (22003)210 648 A
  7400. (PUBLIC)252 1026 A
  7401. (void)168 1320 A
  7402. (free_bit(sp,)504 1530 A
  7403. (map,)168 2076 A
  7404. (bit_returned))546 2286 A
  7405. 5310 V
  7406. (22004)210 648 A
  7407. (struct)252 1026 A
  7408. (super_block)462 1320 A
  7409. (*sp;)168 1824 A
  7410. 2370(/*)S
  7411. (the)126 2496 A
  7412. (filesystem)420 2664 A
  7413. 3126(to)S
  7414. (operate)294 3252 A
  7415. 3588(on)S
  7416. 3714(*/)S
  7417. 5400 V
  7418. (22005)210 648 A
  7419. (int)126 1026 A
  7420. (map;)168 1194 A
  7421. 2370(/*)S
  7422. (IMAP)168 2496 A
  7423. ((inode)252 2706 A
  7424. (map))168 3000 A
  7425. 3210(or)S
  7426. (ZMAP)168 3336 A
  7427. ((zone)210 3546 A
  7428. (map))168 3798 A
  7429. 4008(*/)S
  7430. 5490 V
  7431. (22006)210 648 A
  7432. (bit_t)210 1026 A
  7433. (bit_returned;)546 1278 A
  7434. 2370(/*)S
  7435. (number)252 2496 A
  7436. 2790(of)S
  7437. (bit)126 2916 A
  7438. 3084(to)S
  7439. (insert)252 3210 A
  7440. (into)168 3504 A
  7441. (the)126 3714 A
  7442. (map)126 3882 A
  7443. 4050(*/)S
  7444. 5580 V
  7445. (22007)210 648 A
  7446. 1026({)S
  7447. 5670 V
  7448. (22008)210 648 A
  7449. 1026(/*)S
  7450. (Return)252 1152 A
  7451. 1446(a)S
  7452. (zone)168 1530 A
  7453. 1740(or)S
  7454. (inode)210 1866 A
  7455. 2118(by)S
  7456. (turning)294 2244 A
  7457. (off)126 2580 A
  7458. (its)126 2748 A
  7459. (bitmap)252 2916 A
  7460. (bit.)168 3210 A
  7461. 3420(*/)S
  7462. 5760 V
  7463. (22009)210 648 A
  7464. 5850 V
  7465. (22010)210 648 A
  7466. (unsigned)336 1110 A
  7467. (block,)252 1488 A
  7468. (word,)210 1782 A
  7469. (bit;)168 2034 A
  7470. 5940 V
  7471. (22011)210 648 A
  7472. (struct)252 1110 A
  7473. (buf)126 1404 A
  7474. (*bp;)168 1572 A
  7475. 6030 V
  7476. (22012)210 648 A
  7477. (bitchunk_t)420 1110 A
  7478. 1572(k,)S
  7479. (mask;)210 1698 A
  7480. 6120 V
  7481. (22013)210 648 A
  7482. (block_t)294 1110 A
  7483. (start_block;)504 1446 A
  7484. 6210 V
  7485. (22014)210 648 A
  7486. 8418 V
  7487. EP
  7488. %%Page: 299 299
  7489. BP
  7490. /slant 0 def
  7491. /height 0 def
  7492. 630 V
  7493. 10 R
  7494. 648(MINIX)S
  7495. 976(SOURCE)S
  7496. 1399(CODE)S
  7497. 11 R
  7498. 2126(File:)S
  7499. 2359(src/fs/super.c)S
  7500. 12 B
  7501. (299)180 4248 A
  7502. 900 V
  7503. 7 LST
  7504. (22015)210 648 A
  7505. 1110(if)S
  7506. ((sp->s_rd_only))630 1236 A
  7507. 990 V
  7508. (22016)210 648 A
  7509. (panic("can't)504 1362 A
  7510. (free)168 1908 A
  7511. (bit)126 2118 A
  7512. 2286(on)S
  7513. (read-only)378 2412 A
  7514. (filesys.",)420 2832 A
  7515. (NO_NUM);)336 3294 A
  7516. 1080 V
  7517. (22017)210 648 A
  7518. 1170 V
  7519. (22018)210 648 A
  7520. 1110(if)S
  7521. ((map)168 1236 A
  7522. 1446(==)S
  7523. (IMAP))210 1572 A
  7524. 1824({)S
  7525. 1260 V
  7526. (22019)210 648 A
  7527. (start_block)462 1362 A
  7528. 1866(=)S
  7529. (SUPER_BLOCK)462 1950 A
  7530. 2454(+)S
  7531. 2538(1;)S
  7532. 1350 V
  7533. (22020)210 648 A
  7534. 1110(})S
  7535. (else)168 1194 A
  7536. 1404({)S
  7537. 1440 V
  7538. (22021)210 648 A
  7539. (start_block)462 1362 A
  7540. 1866(=)S
  7541. (SUPER_BLOCK)462 1950 A
  7542. 2454(+)S
  7543. 2538(1)S
  7544. 2622(+)S
  7545. (sp->s_imap_blocks;)756 2706 A
  7546. 1530 V
  7547. (22022)210 648 A
  7548. 1110(})S
  7549. 1620 V
  7550. (22023)210 648 A
  7551. (block)210 1110 A
  7552. 1362(=)S
  7553. (bit_returned)504 1446 A
  7554. 1992(/)S
  7555. (BITS_PER_BLOCK;)630 2076 A
  7556. 1710 V
  7557. (22024)210 648 A
  7558. (word)168 1110 A
  7559. 1320(=)S
  7560. ((bit_returned)546 1404 A
  7561. 1992(%)S
  7562. (BITS_PER_BLOCK))630 2076 A
  7563. 2748(/)S
  7564. (BITCHUNK_BITS;)588 2832 A
  7565. 1800 V
  7566. (22025)210 648 A
  7567. (bit)126 1110 A
  7568. 1278(=)S
  7569. (bit_returned)504 1362 A
  7570. 1908(%)S
  7571. (BITCHUNK_BITS;)588 1992 A
  7572. 1890 V
  7573. (22026)210 648 A
  7574. (mask)168 1110 A
  7575. 1320(=)S
  7576. 1404(1)S
  7577. 1488(<<)S
  7578. (bit;)168 1614 A
  7579. 1980 V
  7580. (22027)210 648 A
  7581. 2070 V
  7582. (22028)210 648 A
  7583. 1110(bp)S
  7584. 1236(=)S
  7585. (get_block(sp->s_dev,)840 1320 A
  7586. (start_block)462 2202 A
  7587. 2706(+)S
  7588. (block,)252 2790 A
  7589. (NORMAL);)336 3084 A
  7590. 2160 V
  7591. (22029)210 648 A
  7592. 2250 V
  7593. (22030)210 648 A
  7594. 1110(k)S
  7595. 1194(=)S
  7596. (conv2(sp->s_native,)798 1278 A
  7597. ((int))210 2118 A
  7598. (bp->b_bitmap[word]);)840 2370 A
  7599. 2340 V
  7600. (22031)210 648 A
  7601. 1110(if)S
  7602. ((!(k)168 1236 A
  7603. 1446(&)S
  7604. (mask)))252 1530 A
  7605. 1824({)S
  7606. 2430 V
  7607. (22032)210 648 A
  7608. (panic(map)378 1362 A
  7609. 1782(==)S
  7610. (IMAP)168 1908 A
  7611. 2118(?)S
  7612. ("tried)252 2202 A
  7613. 2496(to)S
  7614. (free)168 2622 A
  7615. (unused)252 2832 A
  7616. (inode")252 3126 A
  7617. 3420(:)S
  7618. 2520 V
  7619. (22033)210 648 A
  7620. ("tried)252 1614 A
  7621. 1908(to)S
  7622. (free)168 2034 A
  7623. (unused)252 2244 A
  7624. (block",)294 2538 A
  7625. (NO_NUM);)336 2874 A
  7626. 2610 V
  7627. (22034)210 648 A
  7628. 1110(})S
  7629. 2700 V
  7630. (22035)210 648 A
  7631. 2790 V
  7632. (22036)210 648 A
  7633. 1110(k)S
  7634. 1194(&=)S
  7635. (304mask;)252 1320 A
  7636. 2880 V
  7637. (22037)210 648 A
  7638. (bp->b_bitmap[word])756 1110 A
  7639. 1908(=)S
  7640. (conv2(sp->s_native,)798 1992 A
  7641. ((int))210 2832 A
  7642. (k);)126 3084 A
  7643. 2970 V
  7644. (22038)210 648 A
  7645. (bp->b_dirt)420 1110 A
  7646. 1572(=)S
  7647. (DIRTY;)252 1656 A
  7648. 3060 V
  7649. (22039)210 648 A
  7650. 3150 V
  7651. (22040)210 648 A
  7652. (put_block(bp,)546 1110 A
  7653. (MAP_BLOCK);)462 1698 A
  7654. 3240 V
  7655. (22041)210 648 A
  7656. 1026(})S
  7657. 3510 V
  7658. (22044)210 648 A
  7659. (/*===========================================================================*)3276 1026 A
  7660. 3600 V
  7661. (22045)210 648 A
  7662. 1068(*)S
  7663. (get_super)378 2370 A
  7664. 4260(*)S
  7665. 3690 V
  7666. (22046)210 648 A
  7667. (*===========================================================================*/)3276 1068 A
  7668. 3780 V
  7669. (22047)210 648 A
  7670. (PUBLIC)252 1026 A
  7671. (struct)252 1320 A
  7672. (super_block)462 1614 A
  7673. (*get_super(dev))630 2118 A
  7674. 3870 V
  7675. (22048)210 648 A
  7676. (dev_t)210 1026 A
  7677. (dev;)168 1278 A
  7678. 2370(/*)S
  7679. (device)252 2496 A
  7680. (number)252 2790 A
  7681. (whose)210 3084 A
  7682. (super_block)462 3336 A
  7683. 3840(is)S
  7684. (sought)252 3966 A
  7685. 4260(*/)S
  7686. 3960 V
  7687. (22049)210 648 A
  7688. 1026({)S
  7689. 4050 V
  7690. (22050)210 648 A
  7691. 1026(/*)S
  7692. (Search)252 1152 A
  7693. (the)126 1446 A
  7694. (superblock)420 1614 A
  7695. (table)210 2076 A
  7696. (for)126 2328 A
  7697. (this)168 2496 A
  7698. (device.)294 2706 A
  7699. 3084(It)S
  7700. 3210(is)S
  7701. (supposed)336 3336 A
  7702. 3714(to)S
  7703. 3840(be)S
  7704. (there.)252 3966 A
  7705. 4260(*/)S
  7706. 4140 V
  7707. (22051)210 648 A
  7708. 4230 V
  7709. (22052)210 648 A
  7710. (register)336 1110 A
  7711. (struct)252 1488 A
  7712. (super_block)462 1782 A
  7713. (*sp;)168 2286 A
  7714. 4320 V
  7715. (22053)210 648 A
  7716. 4410 V
  7717. (22054)210 648 A
  7718. (for)126 1110 A
  7719. ((sp)126 1278 A
  7720. 1446(=)S
  7721. (&super_block[0];)672 1530 A
  7722. 2244(sp)S
  7723. 2370(<)S
  7724. (&super_block[NR_SUPERS];)1008 2454 A
  7725. (sp++))210 3504 A
  7726. 4500 V
  7727. (22055)210 648 A
  7728. 1362(if)S
  7729. ((sp->s_dev)420 1488 A
  7730. 1950(==)S
  7731. (dev))168 2076 A
  7732. (return(sp);)462 2286 A
  7733. 4590 V
  7734. (22056)210 648 A
  7735. 4680 V
  7736. (22057)210 648 A
  7737. 1110(/*)S
  7738. (Search)252 1236 A
  7739. (failed.)294 1530 A
  7740. (Something)378 1908 A
  7741. (wrong.)252 2328 A
  7742. 2622(*/)S
  7743. 4770 V
  7744. (22058)210 648 A
  7745. (panic("can't)504 1110 A
  7746. (find)168 1656 A
  7747. (superblock)420 1866 A
  7748. (for)126 2328 A
  7749. (device)252 2496 A
  7750. ((in)126 2790 A
  7751. (decimal)",)420 2958 A
  7752. ((int))210 3420 A
  7753. (dev);)210 3672 A
  7754. 4860 V
  7755. (22059)210 648 A
  7756. 4950 V
  7757. (22060)210 648 A
  7758. (return(NIL_SUPER);)756 1110 A
  7759. 2370(/*)S
  7760. 2496(to)S
  7761. (keep)168 2622 A
  7762. (the)126 2832 A
  7763. (compiler)336 3000 A
  7764. (and)126 3378 A
  7765. (lint)168 3546 A
  7766. (quiet)210 3756 A
  7767. 4008(*/)S
  7768. 5040 V
  7769. (22061)210 648 A
  7770. 1026(})S
  7771. 5310 V
  7772. (22064)210 648 A
  7773. (/*===========================================================================*)3276 1026 A
  7774. 5400 V
  7775. (22065)210 648 A
  7776. 1068(*)S
  7777. (mounted)294 2370 A
  7778. 4260(*)S
  7779. 5490 V
  7780. (22066)210 648 A
  7781. (*===========================================================================*/)3276 1068 A
  7782. 5580 V
  7783. (22067)210 648 A
  7784. (PUBLIC)252 1026 A
  7785. (int)126 1320 A
  7786. (mounted(rip))504 1488 A
  7787. 5670 V
  7788. (22068)210 648 A
  7789. (register)336 1026 A
  7790. (struct)252 1404 A
  7791. (inode)210 1698 A
  7792. (*rip;)210 1950 A
  7793. 2370(/*)S
  7794. (pointer)294 2496 A
  7795. 2832(to)S
  7796. (inode)210 2958 A
  7797. 3210(*/)S
  7798. 5760 V
  7799. (22069)210 648 A
  7800. 1026({)S
  7801. 5850 V
  7802. (22070)210 648 A
  7803. 1026(/*)S
  7804. (Report)252 1152 A
  7805. 1446(on)S
  7806. (whether)294 1572 A
  7807. (the)126 1908 A
  7808. (given)210 2076 A
  7809. (inode)210 2328 A
  7810. 2580(is)S
  7811. 2706(on)S
  7812. 2832(a)S
  7813. (mounted)294 2916 A
  7814. ((or)126 3252 A
  7815. (ROOT))210 3420 A
  7816. (file)168 3672 A
  7817. (system.)294 3882 A
  7818. 4218(*/)S
  7819. 5940 V
  7820. (22071)210 648 A
  7821. 6030 V
  7822. (22072)210 648 A
  7823. (register)336 1110 A
  7824. (struct)252 1488 A
  7825. (super_block)462 1782 A
  7826. (*sp;)168 2286 A
  7827. 6120 V
  7828. (22073)210 648 A
  7829. (register)336 1110 A
  7830. (dev_t)210 1488 A
  7831. (dev;)168 1740 A
  7832. 6210 V
  7833. (22074)210 648 A
  7834. 8418 V
  7835. EP
  7836. %%Page: 300 300
  7837. BP
  7838. /slant 0 def
  7839. /height 0 def
  7840. 630 V
  7841. 12 B
  7842. (300)180 648 A
  7843. 11 R
  7844. 2126(File:)S
  7845. 2359(src/fs/super.c)S
  7846. 10 R
  7847. 3402(MINIX)S
  7848. 3730(SOURCE)S
  7849. 4153(CODE)S
  7850. 900 V
  7851. 7 LST
  7852. (22075)210 648 A
  7853. (dev)126 1110 A
  7854. 1278(=)S
  7855. ((dev_t))294 1362 A
  7856. (rip->i_zone[0];)630 1698 A
  7857. 990 V
  7858. (22076)210 648 A
  7859. 1110(if)S
  7860. ((dev)168 1236 A
  7861. 1446(==)S
  7862. (ROOT_DEV))378 1572 A
  7863. (return(TRUE);)546 1992 A
  7864. 2706(/*)S
  7865. (inode)210 2832 A
  7866. 3084(is)S
  7867. 3210(on)S
  7868. (root)168 3336 A
  7869. (file)168 3546 A
  7870. (system)252 3756 A
  7871. 4050(*/)S
  7872. 1080 V
  7873. (22077)210 648 A
  7874. 1170 V
  7875. (22078)210 648 A
  7876. (for)126 1110 A
  7877. ((sp)126 1278 A
  7878. 1446(=)S
  7879. (&super_block[0];)672 1530 A
  7880. 2244(sp)S
  7881. 2370(<)S
  7882. (&super_block[NR_SUPERS];)1008 2454 A
  7883. (sp++))210 3504 A
  7884. 1260 V
  7885. (22079)210 648 A
  7886. 1362(if)S
  7887. ((sp->s_dev)420 1488 A
  7888. 1950(==)S
  7889. (dev))168 2076 A
  7890. (return(TRUE);)546 2286 A
  7891. 1350 V
  7892. (22080)210 648 A
  7893. 1440 V
  7894. (22081)210 648 A
  7895. (return(FALSE);)588 1110 A
  7896. 1530 V
  7897. (22082)210 648 A
  7898. 1026(})S
  7899. 1800 V
  7900. (22085)210 648 A
  7901. (/*===========================================================================*)3276 1026 A
  7902. 1890 V
  7903. (22086)210 648 A
  7904. 1068(*)S
  7905. (read_super)420 2370 A
  7906. 4260(*)S
  7907. 1980 V
  7908. (22087)210 648 A
  7909. (*===========================================================================*/)3276 1068 A
  7910. 2070 V
  7911. (22088)210 648 A
  7912. (PUBLIC)252 1026 A
  7913. (int)126 1320 A
  7914. (read_super(sp))588 1488 A
  7915. 2160 V
  7916. (22089)210 648 A
  7917. (register)336 1026 A
  7918. (struct)252 1404 A
  7919. (super_block)462 1698 A
  7920. (*sp;)168 2202 A
  7921. 2412(/*)S
  7922. (pointer)294 2538 A
  7923. 2874(to)S
  7924. 3000(a)S
  7925. (superblock)420 3084 A
  7926. 3546(*/)S
  7927. 2250 V
  7928. (22090)210 648 A
  7929. 1026({)S
  7930. 2340 V
  7931. (22091)210 648 A
  7932. 1026(/*)S
  7933. (Read)168 1152 A
  7934. 1362(a)S
  7935. (superblock.)462 1446 A
  7936. 1950(*/)S
  7937. 2430 V
  7938. (22092)210 648 A
  7939. 2520 V
  7940. (22093)210 648 A
  7941. (register)336 1110 A
  7942. (struct)252 1488 A
  7943. (buf)126 1782 A
  7944. (*bp;)168 1950 A
  7945. 2610 V
  7946. (22094)210 648 A
  7947. (dev_t)210 1110 A
  7948. (dev;)168 1362 A
  7949. 2700 V
  7950. (22095)210 648 A
  7951. (int)126 1110 A
  7952. (magic;)252 1278 A
  7953. 2790 V
  7954. (22096)210 648 A
  7955. (int)126 1110 A
  7956. (version,)336 1278 A
  7957. (native;)294 1656 A
  7958. 2880 V
  7959. (22097)210 648 A
  7960. 2970 V
  7961. (22098)210 648 A
  7962. (dev)126 1110 A
  7963. 1278(=)S
  7964. (sp->s_dev;)420 1362 A
  7965. 2370(/*)S
  7966. (save)168 2496 A
  7967. (device)252 2706 A
  7968. ((will)210 3000 A
  7969. 3252(be)S
  7970. (overwritten)462 3378 A
  7971. 3882(by)S
  7972. (copy))210 4008 A
  7973. 4260(*/)S
  7974. 3060 V
  7975. (22099)210 648 A
  7976. 1110(bp)S
  7977. 1236(=)S
  7978. (get_block(sp->s_dev,)840 1320 A
  7979. (SUPER_BLOCK,)504 2202 A
  7980. (NORMAL);)336 2748 A
  7981. 3150 V
  7982. (22100)210 648 A
  7983. (memcpy()294 1110 A
  7984. ((char)210 1446 A
  7985. 1698(*))S
  7986. (sp,)126 1824 A
  7987. (bp->b_data,)462 1992 A
  7988. ((size_t))336 2496 A
  7989. (SUPER_SIZE);)504 2874 A
  7990. 3240 V
  7991. (22101)210 648 A
  7992. (put_block(bp,)546 1110 A
  7993. (ZUPER_BLOCK);)546 1698 A
  7994. 3330 V
  7995. (22102)210 648 A
  7996. (sp->s_dev)378 1110 A
  7997. 1530(=)S
  7998. (NO_DEV;)294 1614 A
  7999. 2370(/*)S
  8000. (restore)294 2496 A
  8001. (later)210 2832 A
  8002. 3084(*/)S
  8003. 3420 V
  8004. (22103)210 648 A
  8005. (magic)210 1110 A
  8006. 1362(=)S
  8007. (sp->s_magic;)504 1446 A
  8008. 2370(/*)S
  8009. (determines)420 2496 A
  8010. (file)168 2958 A
  8011. (system)252 3168 A
  8012. (type)168 3462 A
  8013. 3672(*/)S
  8014. 3510 V
  8015. (22104)210 648 A
  8016. 3600 V
  8017. (22105)210 648 A
  8018. 1110(/*)S
  8019. (Get)126 1236 A
  8020. (file)168 1404 A
  8021. (system)252 1614 A
  8022. (version)294 1908 A
  8023. (and)126 2244 A
  8024. (type.)210 2412 A
  8025. 2664(*/)S
  8026. 3690 V
  8027. (22106)210 648 A
  8028. 1110(if)S
  8029. ((magic)252 1236 A
  8030. 1530(==)S
  8031. (SUPER_MAGIC)462 1656 A
  8032. 2160(||)S
  8033. (magic)210 2286 A
  8034. 2538(==)S
  8035. (conv2(BYTE_SWAP,)672 2664 A
  8036. (SUPER_MAGIC)))546 3378 A
  8037. 3966({)S
  8038. 3780 V
  8039. (22107)210 648 A
  8040. (version)294 1362 A
  8041. 1698(=)S
  8042. (V1;)126 1782 A
  8043. 3870 V
  8044. (22108)210 648 A
  8045. (native)252 1362 A
  8046. 1698(=)S
  8047. ((magic)252 1782 A
  8048. 2076(==)S
  8049. (SUPER_MAGIC);)546 2202 A
  8050. 3960 V
  8051. (22109)210 648 A
  8052. 1110(})S
  8053. (else)168 1194 A
  8054. 1404(if)S
  8055. ((magic)252 1530 A
  8056. 1824(==)S
  8057. (SUPER_V2)336 1950 A
  8058. 2328(||)S
  8059. (magic)210 2454 A
  8060. 2706(==)S
  8061. (conv2(BYTE_SWAP,)672 2832 A
  8062. (SUPER_V2)))420 3546 A
  8063. 4008({)S
  8064. 4050 V
  8065. (22110)210 648 A
  8066. (version)294 1362 A
  8067. 1698(=)S
  8068. (V2;)126 1782 A
  8069. 4140 V
  8070. (22111)210 648 A
  8071. (native)252 1362 A
  8072. 1698(=)S
  8073. ((magic)252 1782 A
  8074. 2076(==)S
  8075. (SUPER_V2);)420 2202 A
  8076. 4230 V