BOOK.PS
资源名称:os_source.zip [点击查看]
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:2328k
源码类别:
操作系统开发
开发平台:
C/C++
- (search_dir)420 2874 A
- 3336(to)S
- (bypass)252 3462 A
- (the)126 3756 A
- (access)252 3924 A
- 4218(*/)S
- 5400 V
- (24720)210 648 A
- (PUBLIC)252 1026 A
- (char)168 1320 A
- (dot2[3])294 1530 A
- 1866(=)S
- ("..";)210 1950 A
- 2370(/*)S
- (permissions)462 2496 A
- (for)126 3000 A
- 3168(.)S
- (and)126 3252 A
- 3420(..)S
- 4218(*/)S
- 5490 V
- (24721)210 648 A
- 5580 V
- (24722)210 648 A
- (FORWARD)294 1026 A
- (_PROTOTYPE()462 1362 A
- (char)168 1866 A
- (*get_name,)420 2076 A
- ((char)210 2538 A
- (*old_name,)420 2790 A
- (char)168 3252 A
- (string)252 3462 A
- ([NAME_MAX]))462 3756 A
- 4260();)S
- 5670 V
- (24723)210 648 A
- 5760 V
- (24724)210 648 A
- (/*===========================================================================*)3276 1026 A
- 5850 V
- (24725)210 648 A
- 1068(*)S
- (eat_path)336 2370 A
- 4260(*)S
- 5940 V
- (24726)210 648 A
- (*===========================================================================*/)3276 1068 A
- 6030 V
- (24727)210 648 A
- (PUBLIC)252 1026 A
- (struct)252 1320 A
- (inode)210 1614 A
- (*eat_path(path))630 1866 A
- 6120 V
- (24728)210 648 A
- (char)168 1026 A
- (*path;)252 1236 A
- 2370(/*)S
- (the)126 2496 A
- (path)168 2664 A
- (name)168 2874 A
- 3084(to)S
- 3210(be)S
- (parsed)252 3336 A
- 3630(*/)S
- 6210 V
- (24729)210 648 A
- 1026({)S
- 8418 V
- EP
- %%Page: 340 340
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 12 B
- (340)180 648 A
- 11 R
- 2151(File:)S
- 2384(src/fs/path.c)S
- 10 R
- 3402(MINIX)S
- 3730(SOURCE)S
- 4153(CODE)S
- 900 V
- 7 LST
- (24730)210 648 A
- 1026(/*)S
- (Parse)210 1152 A
- (the)126 1404 A
- (path)168 1572 A
- ('path')252 1782 A
- (and)126 2076 A
- (put)126 2244 A
- (its)126 2412 A
- (inode)210 2580 A
- 2832(in)S
- (the)126 2958 A
- (inode)210 3126 A
- (table.)252 3378 A
- 3672(If)S
- (not)126 3798 A
- (possible,)378 3966 A
- 990 V
- (24731)210 648 A
- 1068(*)S
- (return)252 1152 A
- (NIL_INODE)378 1446 A
- 1866(as)S
- (function)336 1992 A
- (value)210 2370 A
- (and)126 2622 A
- 2790(an)S
- (error)210 2916 A
- (code)168 3168 A
- 3378(in)S
- ('err_code'.)462 3504 A
- 1080 V
- (24732)210 648 A
- 1068(*/)S
- 1170 V
- (24733)210 648 A
- 1260 V
- (24734)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (inode)210 1782 A
- (*ldip,)252 2034 A
- (*rip;)210 2328 A
- 1350 V
- (24735)210 648 A
- (char)168 1110 A
- (string[NAME_MAX];)714 1320 A
- 2370(/*)S
- (hold)168 2496 A
- 2706(1)S
- (path)168 2790 A
- (component)378 3000 A
- (name)168 3420 A
- (here)168 3630 A
- 3840(*/)S
- 1440 V
- (24736)210 648 A
- 1530 V
- (24737)210 648 A
- 1110(/*)S
- (First)210 1236 A
- (open)168 1488 A
- (the)126 1698 A
- (path)168 1866 A
- (down)168 2076 A
- 2286(to)S
- (the)126 2412 A
- (final)210 2580 A
- (directory.)420 2832 A
- 3294(*/)S
- 1620 V
- (24738)210 648 A
- 1110(if)S
- 1236(()S
- ((ldip)210 1320 A
- 1572(=)S
- (last_dir(path,)588 1656 A
- (string)))336 2286 A
- 2664(==)S
- (NIL_INODE))420 2790 A
- 1710 V
- (24739)210 648 A
- (return(NIL_INODE);)756 1362 A
- 2370(/*)S
- 2496(we)S
- (couldn't)336 2622 A
- (open)168 3000 A
- (final)210 3210 A
- (directory)378 3462 A
- 3882(*/)S
- 1800 V
- (24740)210 648 A
- 1890 V
- (24741)210 648 A
- 1110(/*)S
- (The)126 1236 A
- (path)168 1404 A
- (consisting)420 1614 A
- (only)168 2076 A
- 2286(of)S
- ("/")126 2412 A
- 2580(is)S
- 2706(a)S
- (special)294 2790 A
- (case,)210 3126 A
- (check)210 3378 A
- (for)126 3630 A
- (it.)126 3798 A
- 3966(*/)S
- 1980 V
- (24742)210 648 A
- 1110(if)S
- ((string[0])420 1236 A
- 1698(==)S
- ('\0'))210 1824 A
- (return(ldip);)546 2076 A
- 2070 V
- (24743)210 648 A
- 2160 V
- (24744)210 648 A
- 1110(/*)S
- (Get)126 1236 A
- (final)210 1404 A
- (component)378 1656 A
- 2076(of)S
- (the)126 2202 A
- (path.)210 2370 A
- 2622(*/)S
- 2250 V
- (24745)210 648 A
- (rip)126 1110 A
- 1278(=)S
- (advance(ldip,)546 1362 A
- (string);)336 1950 A
- 2340 V
- (24746)210 648 A
- (put_inode(ldip);)672 1110 A
- 2430 V
- (24747)210 648 A
- (return(rip);)504 1110 A
- 2520 V
- (24748)210 648 A
- 1026(})S
- 2790 V
- (24751)210 648 A
- (/*===========================================================================*)3276 1026 A
- 2880 V
- (24752)210 648 A
- 1068(*)S
- (last_dir)336 2370 A
- 4260(*)S
- 2970 V
- (24753)210 648 A
- (*===========================================================================*/)3276 1068 A
- 3060 V
- (24754)210 648 A
- (PUBLIC)252 1026 A
- (struct)252 1320 A
- (inode)210 1614 A
- (*last_dir(path,)630 1866 A
- (string))294 2538 A
- 3150 V
- (24755)210 648 A
- (char)168 1026 A
- (*path;)252 1236 A
- 2370(/*)S
- (the)126 2496 A
- (path)168 2664 A
- (name)168 2874 A
- 3084(to)S
- 3210(be)S
- (parsed)252 3336 A
- 3630(*/)S
- 3240 V
- (24756)210 648 A
- (char)168 1026 A
- (string[NAME_MAX];)714 1236 A
- 2370(/*)S
- (the)126 2496 A
- (final)210 2664 A
- (component)378 2916 A
- 3336(is)S
- (returned)336 3462 A
- (here)168 3840 A
- 4050(*/)S
- 3330 V
- (24757)210 648 A
- 1026({)S
- 3420 V
- (24758)210 648 A
- 1026(/*)S
- (Given)210 1152 A
- 1404(a)S
- (path,)210 1488 A
- ('path',)294 1740 A
- (located)294 2076 A
- 2412(in)S
- (the)126 2538 A
- 2706(fs)S
- (address)294 2832 A
- (space,)252 3168 A
- (parse)210 3462 A
- 3714(it)S
- 3840(as)S
- 3510 V
- (24759)210 648 A
- 1068(*)S
- (far)126 1152 A
- 1320(as)S
- (the)126 1446 A
- (last)168 1614 A
- (directory,)420 1824 A
- (fetch)210 2286 A
- (the)126 2538 A
- (inode)210 2706 A
- (for)126 2958 A
- (the)126 3126 A
- (last)168 3294 A
- (directory)378 3504 A
- (into)168 3924 A
- 3600 V
- (24760)210 648 A
- 1068(*)S
- (the)126 1152 A
- (inode)210 1320 A
- (table,)252 1572 A
- (and)126 1866 A
- (return)252 2034 A
- 2328(a)S
- (pointer)294 2412 A
- 2748(to)S
- (the)126 2874 A
- (inode.)252 3042 A
- 3378(In)S
- 3690 V
- (24761)210 648 A
- 1068(*)S
- (addition,)378 1152 A
- (return)252 1572 A
- (the)126 1866 A
- (final)210 2034 A
- (component)378 2286 A
- 2706(of)S
- (the)126 2832 A
- (path)168 3000 A
- 3210(in)S
- ('string'.)378 3336 A
- 3780 V
- (24762)210 648 A
- 1068(*)S
- 1152(If)S
- (the)126 1278 A
- (last)168 1446 A
- (directory)378 1656 A
- (can't)210 2076 A
- 2328(be)S
- (opened,)294 2454 A
- (return)252 2790 A
- (NIL_INODE)378 3084 A
- (and)126 3504 A
- 3870 V
- (24763)210 648 A
- 1068(*)S
- (the)126 1152 A
- (reason)252 1320 A
- (for)126 1614 A
- (failure)294 1782 A
- 2118(in)S
- ('err_code'.)462 2244 A
- 3960 V
- (24764)210 648 A
- 1068(*/)S
- 4050 V
- (24765)210 648 A
- 4140 V
- (24766)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (inode)210 1782 A
- (*rip;)210 2034 A
- 4230 V
- (24767)210 648 A
- (register)336 1110 A
- (char)168 1488 A
- (*new_name;)420 1698 A
- 4320 V
- (24768)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (inode)210 1782 A
- (*new_ip;)336 2034 A
- 4410 V
- (24769)210 648 A
- 4500 V
- (24770)210 648 A
- 1110(/*)S
- 1236(Is)S
- (the)126 1362 A
- (path)168 1530 A
- (absolute)336 1740 A
- 2118(or)S
- (relative?)378 2244 A
- (Initialize)420 2706 A
- ('rip')210 3168 A
- (accordingly.)504 3420 A
- 3966(*/)S
- 4590 V
- (24771)210 648 A
- (rip)126 1110 A
- 1278(=)S
- ((*path)252 1362 A
- 1656(==)S
- ('/')126 1782 A
- 1950(?)S
- (fp->fp_rootdir)588 2034 A
- 2664(:)S
- (fp->fp_workdir);)672 2748 A
- 4680 V
- (24772)210 648 A
- 4770 V
- (24773)210 648 A
- 1110(/*)S
- 1236(If)S
- (dir)126 1362 A
- (has)126 1530 A
- (been)168 1698 A
- (removed)294 1908 A
- 2244(or)S
- (path)168 2370 A
- 2580(is)S
- (empty,)252 2706 A
- (return)252 3000 A
- (ENOENT.)294 3294 A
- 3630(*/)S
- 4860 V
- (24774)210 648 A
- 1110(if)S
- ((rip->i_nlinks)588 1236 A
- 1866(==)S
- 1992(0)S
- 2076(||)S
- (*path)210 2202 A
- 2454(==)S
- ('\0'))210 2580 A
- 2832({)S
- 4950 V
- (24775)210 648 A
- (err_code)336 1362 A
- 1740(=)S
- (ENOENT;)294 1824 A
- 5040 V
- (24776)210 648 A
- (return(NIL_INODE);)756 1362 A
- 5130 V
- (24777)210 648 A
- 1110(})S
- 5220 V
- (24778)210 648 A
- 5310 V
- (24779)210 648 A
- (dup_inode(rip);)630 1110 A
- 2370(/*)S
- (inode)210 2496 A
- (will)168 2748 A
- 2958(be)S
- (returned)336 3084 A
- (with)168 3462 A
- (put_inode)378 3672 A
- 4092(*/)S
- 5400 V
- (24780)210 648 A
- 5490 V
- (24781)210 648 A
- 1110(/*)S
- (Scan)168 1236 A
- (the)126 1446 A
- (path)168 1614 A
- (component)378 1824 A
- 2244(by)S
- (component.)420 2370 A
- 2832(*/)S
- 5580 V
- (24782)210 648 A
- (while)210 1110 A
- ((TRUE))252 1362 A
- 1656({)S
- 5670 V
- (24783)210 648 A
- 1362(/*)S
- (Extract)294 1488 A
- (one)126 1824 A
- (component.)420 1992 A
- 2454(*/)S
- 5760 V
- (24784)210 648 A
- 1362(if)S
- 1488(()S
- ((new_name)378 1572 A
- 1992(=)S
- (get_name(path,)588 2076 A
- (string)))336 2706 A
- 3084(==)S
- ((char*))294 3210 A
- 3546(0))S
- 3672({)S
- 5850 V
- (24785)210 648 A
- (put_inode(rip);)630 1698 A
- 2370(/*)S
- (bad)126 2496 A
- (path)168 2664 A
- 2874(in)S
- (user)168 3000 A
- (space)210 3210 A
- 3462(*/)S
- 5940 V
- (24786)210 648 A
- (return(NIL_INODE);)756 1698 A
- 6030 V
- (24787)210 648 A
- 1362(})S
- 6120 V
- (24788)210 648 A
- 1362(if)S
- ((*new_name)420 1488 A
- 1950(==)S
- ('\0'))210 2076 A
- 6210 V
- (24789)210 648 A
- 1698(if)S
- 1824(()S
- ((rip->i_mode)504 1908 A
- 2454(&)S
- (I_TYPE))294 2538 A
- 2874(==)S
- (I_DIRECTORY))504 3000 A
- 8418 V
- EP
- %%Page: 341 341
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 10 R
- 648(MINIX)S
- 976(SOURCE)S
- 1399(CODE)S
- 11 R
- 2151(File:)S
- 2384(src/fs/path.c)S
- 12 B
- (341)180 4248 A
- 900 V
- 7 LST
- (24790)210 648 A
- (return(rip);)504 2034 A
- 2706(/*)S
- (normal)252 2832 A
- (exit)168 3126 A
- 3336(*/)S
- 990 V
- (24791)210 648 A
- (else)168 1698 A
- 1908({)S
- 1080 V
- (24792)210 648 A
- 2034(/*)S
- (last)168 2160 A
- (file)168 2370 A
- 2580(of)S
- (path)168 2706 A
- (prefix)252 2916 A
- 3210(is)S
- (not)126 3336 A
- 3504(a)S
- (directory)378 3588 A
- 4008(*/)S
- 1170 V
- (24793)210 648 A
- (put_inode(rip);)630 2034 A
- 1260 V
- (24794)210 648 A
- (err_code)336 2034 A
- 2412(=)S
- (ENOTDIR;)336 2496 A
- 1350 V
- (24795)210 648 A
- (return(NIL_INODE);)756 2034 A
- 1440 V
- (24796)210 648 A
- 1698(})S
- 1530 V
- (24797)210 648 A
- 1620 V
- (24798)210 648 A
- 1362(/*)S
- (There)210 1488 A
- 1740(is)S
- (more)168 1866 A
- (path.)210 2076 A
- (Keep)168 2370 A
- (parsing.)336 2580 A
- 2958(*/)S
- 1710 V
- (24799)210 648 A
- (new_ip)252 1362 A
- 1656(=)S
- (advance(rip,)504 1740 A
- (string);)336 2286 A
- 1800 V
- (24800)210 648 A
- (put_inode(rip);)630 1362 A
- 2370(/*)S
- (rip)126 2496 A
- (either)252 2664 A
- (obsolete)336 2958 A
- 3336(or)S
- (irrelevant)420 3462 A
- 3924(*/)S
- 1890 V
- (24801)210 648 A
- 1362(if)S
- ((new_ip)294 1488 A
- 1824(==)S
- (NIL_INODE))420 1950 A
- (return(NIL_INODE);)756 2412 A
- 1980 V
- (24802)210 648 A
- 2070 V
- (24803)210 648 A
- 1362(/*)S
- (The)126 1488 A
- (call)168 1656 A
- 1866(to)S
- (advance())378 1992 A
- (succeeded.)420 2412 A
- (Fetch)210 2916 A
- (next)168 3168 A
- (component.)420 3378 A
- 3840(*/)S
- 2160 V
- (24804)210 648 A
- (path)168 1362 A
- 1572(=)S
- (new_name;)378 1656 A
- 2250 V
- (24805)210 648 A
- (rip)126 1362 A
- 1530(=)S
- (new_ip;)294 1614 A
- 2340 V
- (24806)210 648 A
- 1110(})S
- 2430 V
- (24807)210 648 A
- 1026(})S
- 2700 V
- (24810)210 648 A
- (/*===========================================================================*)3276 1026 A
- 2790 V
- (24811)210 648 A
- 1068(*)S
- (get_name)336 2370 A
- 4260(*)S
- 2880 V
- (24812)210 648 A
- (*===========================================================================*/)3276 1068 A
- 2970 V
- (24813)210 648 A
- (PRIVATE)294 1026 A
- (char)168 1362 A
- (*get_name(old_name,)798 1572 A
- (string))294 2412 A
- 3060 V
- (24814)210 648 A
- (char)168 1026 A
- (*old_name;)420 1236 A
- 2370(/*)S
- (path)168 2496 A
- (name)168 2706 A
- 2916(to)S
- (parse)210 3042 A
- 3294(*/)S
- 3150 V
- (24815)210 648 A
- (char)168 1026 A
- (string[NAME_MAX];)714 1236 A
- 2370(/*)S
- (component)378 2496 A
- (extracted)378 2916 A
- (from)168 3336 A
- ('old_name')420 3546 A
- 4008(*/)S
- 3240 V
- (24816)210 648 A
- 1026({)S
- 3330 V
- (24817)210 648 A
- 1026(/*)S
- (Given)210 1152 A
- 1404(a)S
- (pointer)294 1488 A
- 1824(to)S
- 1950(a)S
- (path)168 2034 A
- (name)168 2244 A
- 2454(in)S
- 2580(fs)S
- (space,)252 2706 A
- ('old_name',)462 3000 A
- (copy)168 3504 A
- (the)126 3714 A
- (next)168 3882 A
- 3420 V
- (24818)210 648 A
- 1068(*)S
- (component)378 1152 A
- 1572(to)S
- ('string')336 1698 A
- (and)126 2076 A
- (pad)126 2244 A
- (with)168 2412 A
- (zeros.)252 2622 A
- 2958(A)S
- (pointer)294 3042 A
- 3378(to)S
- (that)168 3504 A
- (part)168 3714 A
- 3924(of)S
- 3510 V
- (24819)210 648 A
- 1068(*)S
- (the)126 1152 A
- (name)168 1320 A
- 1530(as)S
- (yet)126 1656 A
- (unparsed)336 1824 A
- 2202(is)S
- (returned.)378 2328 A
- (Roughly)294 2790 A
- (speaking,)378 3126 A
- 3600 V
- (24820)210 648 A
- 1068(*)S
- ('get_name')420 1152 A
- 1614(=)S
- ('old_name')420 1698 A
- 2160(-)S
- ('string'.)378 2244 A
- 3690 V
- (24821)210 648 A
- 1068(*)S
- 3780 V
- (24822)210 648 A
- 1068(*)S
- (This)168 1152 A
- (routine)294 1362 A
- (follows)294 1698 A
- (the)126 2034 A
- (standard)336 2202 A
- (convention)420 2580 A
- (that)168 3042 A
- (/usr/ast,)378 3252 A
- (/usr//ast,)420 3672 A
- 3870 V
- (24823)210 648 A
- 1068(*)S
- (//usr///ast)462 1152 A
- (and)126 1656 A
- (/usr/ast/)378 1824 A
- (are)126 2244 A
- (all)126 2412 A
- (equivalent.)462 2580 A
- 3960 V
- (24824)210 648 A
- 1068(*/)S
- 4050 V
- (24825)210 648 A
- 4140 V
- (24826)210 648 A
- (register)336 1110 A
- (int)126 1488 A
- 1656(c;)S
- 4230 V
- (24827)210 648 A
- (register)336 1110 A
- (char)168 1488 A
- (*np,)168 1698 A
- (*rnp;)210 1908 A
- 4320 V
- (24828)210 648 A
- 4410 V
- (24829)210 648 A
- 1110(np)S
- 1236(=)S
- (string;)294 1320 A
- 2370(/*)S
- ('np')168 2496 A
- (points)252 2706 A
- 3000(to)S
- (current)294 3126 A
- (position)336 3462 A
- 3840(*/)S
- 4500 V
- (24830)210 648 A
- (rnp)126 1110 A
- 1278(=)S
- (old_name;)378 1362 A
- 2370(/*)S
- ('rnp')210 2496 A
- (points)252 2748 A
- 3042(to)S
- (unparsed)336 3168 A
- (string)252 3546 A
- 3840(*/)S
- 4590 V
- (24831)210 648 A
- (while)210 1110 A
- 1362(()S
- 1446((c)S
- 1572(=)S
- (*rnp))210 1656 A
- 1908(==)S
- ('/'))168 2034 A
- (rnp++;)252 2244 A
- 2706(/*)S
- (skip)168 2832 A
- (leading)294 3042 A
- (slashes)294 3378 A
- 3714(*/)S
- 4680 V
- (24832)210 648 A
- 4770 V
- (24833)210 648 A
- 1110(/*)S
- (Copy)168 1236 A
- (the)126 1446 A
- (unparsed)336 1614 A
- (path,)210 1992 A
- ('old_name',)462 2244 A
- 2748(to)S
- (the)126 2874 A
- (array,)252 3042 A
- ('string'.)378 3336 A
- 3756(*/)S
- 4860 V
- (24834)210 648 A
- (while)210 1110 A
- 1362(()S
- (rnp)126 1446 A
- 1614(<)S
- (&old_name[PATH_MAX])798 1698 A
- 2580(&&)S
- 2748(c)S
- 2832(!=)S
- ('/')126 2958 A
- 3210(&&)S
- 3378(c)S
- 3462(!=)S
- ('\0'))210 3588 A
- 3840({)S
- 4950 V
- (24835)210 648 A
- 1362(if)S
- ((np)126 1488 A
- 1656(<)S
- (&string[NAME_MAX]))756 1740 A
- (*np++)210 2538 A
- 2790(=)S
- 2874(c;)S
- 5040 V
- (24836)210 648 A
- 1362(c)S
- 1446(=)S
- (*++rnp;)294 1530 A
- 2370(/*)S
- (advance)294 2496 A
- 2832(to)S
- (next)168 2958 A
- (character)378 3168 A
- 3588(*/)S
- 5130 V
- (24837)210 648 A
- 1110(})S
- 5220 V
- (24838)210 648 A
- 5310 V
- (24839)210 648 A
- 1110(/*)S
- 1236(To)S
- (make)168 1362 A
- (/usr/ast/)378 1572 A
- (equivalent)420 1992 A
- 2454(to)S
- (/usr/ast,)378 2580 A
- (skip)168 3000 A
- (trailing)336 3210 A
- (slashes.)336 3588 A
- 3966(*/)S
- 5400 V
- (24840)210 648 A
- (while)210 1110 A
- 1362((c)S
- 1488(==)S
- ('/')126 1614 A
- 1782(&&)S
- (rnp)126 1908 A
- 2076(<)S
- (&old_name[PATH_MAX]))840 2160 A
- 3042(c)S
- 3126(=)S
- (*++rnp;)294 3210 A
- 5490 V
- (24841)210 648 A
- 5580 V
- (24842)210 648 A
- 1110(if)S
- ((np)126 1236 A
- 1404(<)S
- (&string[NAME_MAX]))756 1488 A
- (*np)126 2286 A
- 2454(=)S
- ('\0';)210 2538 A
- 3042(/*)S
- (Terminate)378 3168 A
- (string)252 3588 A
- 3882(*/)S
- 5670 V
- (24843)210 648 A
- 5760 V
- (24844)210 648 A
- 1110(if)S
- ((rnp)168 1236 A
- 1446(>=)S
- (&old_name[PATH_MAX]))840 1572 A
- 2454({)S
- 5850 V
- (24845)210 648 A
- (err_code)336 1362 A
- 1740(=)S
- (ENAMETOOLONG;)546 1824 A
- 5940 V
- (24846)210 648 A
- (return((char)504 1362 A
- 1908(*))S
- (0);)126 2034 A
- 6030 V
- (24847)210 648 A
- 1110(})S
- 6120 V
- (24848)210 648 A
- (return(rnp);)504 1110 A
- 6210 V
- (24849)210 648 A
- 1026(})S
- 8418 V
- EP
- %%Page: 342 342
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 12 B
- (342)180 648 A
- 11 R
- 2151(File:)S
- 2384(src/fs/path.c)S
- 10 R
- 3402(MINIX)S
- 3730(SOURCE)S
- 4153(CODE)S
- 1080 V
- 7 LST
- (24852)210 648 A
- (/*===========================================================================*)3276 1026 A
- 1170 V
- (24853)210 648 A
- 1068(*)S
- (advance)294 2370 A
- 4260(*)S
- 1260 V
- (24854)210 648 A
- (*===========================================================================*/)3276 1068 A
- 1350 V
- (24855)210 648 A
- (PUBLIC)252 1026 A
- (struct)252 1320 A
- (inode)210 1614 A
- (*advance(dirp,)588 1866 A
- (string))294 2496 A
- 1440 V
- (24856)210 648 A
- (struct)252 1026 A
- (inode)210 1320 A
- (*dirp;)252 1572 A
- 2370(/*)S
- (inode)210 2496 A
- (for)126 2748 A
- (directory)378 2916 A
- 3336(to)S
- 3462(be)S
- (searched)336 3588 A
- 3966(*/)S
- 1530 V
- (24857)210 648 A
- (char)168 1026 A
- (string[NAME_MAX];)714 1236 A
- 2370(/*)S
- (component)378 2496 A
- (name)168 2916 A
- 3126(to)S
- (look)168 3252 A
- (for)126 3462 A
- 3630(*/)S
- 1620 V
- (24858)210 648 A
- 1026({)S
- 1710 V
- (24859)210 648 A
- 1026(/*)S
- (Given)210 1152 A
- 1404(a)S
- (directory)378 1488 A
- (and)126 1908 A
- 2076(a)S
- (component)378 2160 A
- 2580(of)S
- 2706(a)S
- (path,)210 2790 A
- (look)168 3042 A
- 3252(up)S
- (the)126 3378 A
- (component)378 3546 A
- 3966(in)S
- 1800 V
- (24860)210 648 A
- 1068(*)S
- (the)126 1152 A
- (directory,)420 1320 A
- (find)168 1782 A
- (the)126 1992 A
- (inode,)252 2160 A
- (open)168 2454 A
- (it,)126 2664 A
- (and)126 2832 A
- (return)252 3000 A
- 3294(a)S
- (pointer)294 3378 A
- 3714(to)S
- (its)126 3840 A
- (inode)210 4008 A
- 1890 V
- (24861)210 648 A
- 1068(*)S
- (slot.)210 1152 A
- 1446(If)S
- 1572(it)S
- (can't)210 1698 A
- 1950(be)S
- (done,)210 2076 A
- (return)252 2328 A
- (NIL_INODE.)420 2622 A
- 1980 V
- (24862)210 648 A
- 1068(*/)S
- 2070 V
- (24863)210 648 A
- 2160 V
- (24864)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (inode)210 1782 A
- (*rip;)210 2034 A
- 2250 V
- (24865)210 648 A
- (struct)252 1110 A
- (inode)210 1404 A
- (*rip2;)252 1656 A
- 2340 V
- (24866)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (super_block)462 1782 A
- (*sp;)168 2286 A
- 2430 V
- (24867)210 648 A
- (int)126 1110 A
- 1278(r,)S
- (inumb;)252 1404 A
- 2520 V
- (24868)210 648 A
- (dev_t)210 1110 A
- (mnt_dev;)336 1362 A
- 2610 V
- (24869)210 648 A
- (ino_t)210 1110 A
- (numb;)210 1362 A
- 2700 V
- (24870)210 648 A
- 2790 V
- (24871)210 648 A
- 1110(/*)S
- 1236(If)S
- ('string')336 1362 A
- 1740(is)S
- (empty,)252 1866 A
- (yield)210 2160 A
- (same)168 2412 A
- (inode)210 2622 A
- (straight)336 2874 A
- (away.)210 3252 A
- 3504(*/)S
- 2880 V
- (24872)210 648 A
- 1110(if)S
- ((string[0])420 1236 A
- 1698(==)S
- ('\0'))210 1824 A
- (return(get_inode(dirp->i_dev,)1218 2076 A
- ((int))210 3336 A
- (dirp->i_num));)588 3588 A
- 2970 V
- (24873)210 648 A
- 3060 V
- (24874)210 648 A
- 1110(/*)S
- (Check)210 1236 A
- (for)126 1488 A
- (NIL_INODE.)420 1656 A
- 2118(*/)S
- 3150 V
- (24875)210 648 A
- 1110(if)S
- ((dirp)210 1236 A
- 1488(==)S
- (NIL_INODE))420 1614 A
- (return(NIL_INODE);)756 2076 A
- 3240 V
- (24876)210 648 A
- 3330 V
- (24877)210 648 A
- 1110(/*)S
- 1236(If)S
- ('string')336 1362 A
- 1740(is)S
- (not)126 1866 A
- (present)294 2034 A
- 2370(in)S
- (the)126 2496 A
- (directory,)420 2664 A
- (signal)252 3126 A
- (error.)252 3420 A
- 3714(*/)S
- 3420 V
- (24878)210 648 A
- 1110(if)S
- 1236(()S
- 1320((r)S
- 1446(=)S
- (search_dir(dirp,)672 1530 A
- (string,)294 2244 A
- (&numb,)252 2580 A
- (LOOK_UP)))378 2874 A
- 3294(!=)S
- (OK))126 3420 A
- 3588({)S
- 3510 V
- (24879)210 648 A
- (err_code)336 1362 A
- 1740(=)S
- 1824(r;)S
- 3600 V
- (24880)210 648 A
- (return(NIL_INODE);)756 1362 A
- 3690 V
- (24881)210 648 A
- 1110(})S
- 3780 V
- (24882)210 648 A
- 3870 V
- (24883)210 648 A
- 1110(/*)S
- (Don't)210 1236 A
- 1488(go)S
- (beyond)252 1614 A
- (the)126 1908 A
- (current)294 2076 A
- (root)168 2412 A
- (directory,)420 2622 A
- (unless)252 3084 A
- (the)126 3378 A
- (string)252 3546 A
- 3840(is)S
- (dot2.)210 3966 A
- 4218(*/)S
- 3960 V
- (24884)210 648 A
- 1110(if)S
- ((dirp)210 1236 A
- 1488(==)S
- (fp->fp_rootdir)588 1614 A
- 2244(&&)S
- (strcmp(string,)588 2370 A
- (".."))210 3000 A
- 3252(==)S
- 3378(0)S
- 3462(&&)S
- (string)252 3588 A
- 3882(!=)S
- (dot2))210 4008 A
- 4050 V
- (24885)210 648 A
- (return(get_inode(dirp->i_dev,)1218 1698 A
- ((int))210 2958 A
- (dirp->i_num));)588 3210 A
- 4140 V
- (24886)210 648 A
- 4230 V
- (24887)210 648 A
- 1110(/*)S
- (The)126 1236 A
- (component)378 1404 A
- (has)126 1824 A
- (been)168 1992 A
- (found)210 2202 A
- 2454(in)S
- (the)126 2580 A
- (directory.)420 2748 A
- (Get)126 3252 A
- (inode.)252 3420 A
- 3714(*/)S
- 4320 V
- (24888)210 648 A
- 1110(if)S
- 1236(()S
- ((rip)168 1320 A
- 1530(=)S
- (get_inode(dirp->i_dev,)924 1614 A
- ((int))210 2580 A
- (numb)))252 2832 A
- 3126(==)S
- (NIL_INODE))420 3252 A
- 4410 V
- (24889)210 648 A
- (return(NIL_INODE);)756 1362 A
- 4500 V
- (24890)210 648 A
- 4590 V
- (24891)210 648 A
- 1110(if)S
- ((rip->i_num)462 1236 A
- 1740(==)S
- (ROOT_INODE))462 1866 A
- 4680 V
- (24892)210 648 A
- 1362(if)S
- ((dirp->i_num)504 1488 A
- 2034(==)S
- (ROOT_INODE))462 2160 A
- 2664({)S
- 4770 V
- (24893)210 648 A
- 1530(if)S
- ((string[1])420 1656 A
- 2118(==)S
- ('.'))168 2244 A
- 2454({)S
- 4860 V
- (24894)210 648 A
- (for)126 1698 A
- ((sp)126 1866 A
- 2034(=)S
- (&super_block[1];)672 2118 A
- 2832(sp)S
- 2958(<)S
- (&super_block[NR_SUPERS];)1008 3042 A
- (sp++){)252 4092 A
- 4950 V
- (24895)210 648 A
- 2034(if)S
- ((sp->s_dev)420 2160 A
- 2622(==)S
- (rip->i_dev))462 2748 A
- 3252({)S
- 5040 V
- (24896)210 648 A
- 2370(/*)S
- (Release)294 2496 A
- (the)126 2832 A
- (root)168 3000 A
- (inode.)252 3210 A
- (Replace)294 3546 A
- 3882(by)S
- (the)126 4008 A
- 5130 V
- (24897)210 648 A
- 2412(*)S
- (inode)210 2496 A
- (mounted)294 2748 A
- (on.)126 3084 A
- 5220 V
- (24898)210 648 A
- 2412(*/)S
- 5310 V
- (24899)210 648 A
- (put_inode(rip);)630 2370 A
- 5400 V
- (24900)210 648 A
- (mnt_dev)294 2370 A
- 2706(=)S
- (sp->s_imount->i_dev;)840 2790 A
- 5490 V
- (24901)210 648 A
- (inumb)210 2370 A
- 2622(=)S
- ((int))210 2706 A
- (sp->s_imount->i_num;)840 2958 A
- 5580 V
- (24902)210 648 A
- (rip2)168 2370 A
- 2580(=)S
- (get_inode(mnt_dev,)756 2664 A
- (inumb);)294 3462 A
- 5670 V
- (24903)210 648 A
- (rip)126 2370 A
- 2538(=)S
- (advance(rip2,)546 2622 A
- (string);)336 3210 A
- 5760 V
- (24904)210 648 A
- (put_inode(rip2);)672 2370 A
- 5850 V
- (24905)210 648 A
- (break;)252 2370 A
- 5940 V
- (24906)210 648 A
- 2034(})S
- 6030 V
- (24907)210 648 A
- 1698(})S
- 6120 V
- (24908)210 648 A
- 1530(})S
- 6210 V
- (24909)210 648 A
- 1362(})S
- 8418 V
- EP
- %%Page: 343 343
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 10 R
- 648(MINIX)S
- 976(SOURCE)S
- 1399(CODE)S
- 11 R
- 2151(File:)S
- 2384(src/fs/path.c)S
- 12 B
- (343)180 4248 A
- 900 V
- 7 LST
- (24910)210 648 A
- 1110(if)S
- ((rip)168 1236 A
- 1446(==)S
- (NIL_INODE))420 1572 A
- (return(NIL_INODE);)756 2034 A
- 990 V
- (24911)210 648 A
- 1080 V
- (24912)210 648 A
- 1110(/*)S
- (See)126 1236 A
- 1404(if)S
- (the)126 1530 A
- (inode)210 1698 A
- 1950(is)S
- (mounted)294 2076 A
- (on.)126 2412 A
- 2622(If)S
- (so,)126 2748 A
- (switch)252 2916 A
- 3210(to)S
- (root)168 3336 A
- (directory)378 3546 A
- 3966(of)S
- (the)126 4092 A
- 1170 V
- (24913)210 648 A
- 1152(*)S
- (mounted)294 1236 A
- (file)168 1572 A
- (system.)294 1782 A
- (The)126 2160 A
- (super_block)462 2328 A
- (provides)336 2832 A
- (the)126 3210 A
- (linkage)294 3378 A
- (between)294 3714 A
- (the)126 4050 A
- 1260 V
- (24914)210 648 A
- 1152(*)S
- (inode)210 1236 A
- (mounted)294 1488 A
- 1824(on)S
- (and)126 1950 A
- (the)126 2118 A
- (root)168 2286 A
- (directory)378 2496 A
- 2916(of)S
- (the)126 3042 A
- (mounted)294 3210 A
- (file)168 3546 A
- (system.)294 3756 A
- 1350 V
- (24915)210 648 A
- 1152(*/)S
- 1440 V
- (24916)210 648 A
- (while)210 1110 A
- ((rip)168 1362 A
- 1572(!=)S
- (NIL_INODE)378 1698 A
- 2118(&&)S
- (rip->i_mount)504 2244 A
- 2790(==)S
- (I_MOUNT))336 2916 A
- 3294({)S
- 1530 V
- (24917)210 648 A
- 1362(/*)S
- (The)126 1488 A
- (inode)210 1656 A
- 1908(is)S
- (indeed)252 2034 A
- (mounted)294 2328 A
- (on.)126 2664 A
- 2832(*/)S
- 1620 V
- (24918)210 648 A
- (for)126 1362 A
- ((sp)126 1530 A
- 1698(=)S
- (&super_block[0];)672 1782 A
- 2496(sp)S
- 2622(<)S
- (&super_block[NR_SUPERS];)1008 2706 A
- (sp++))210 3756 A
- 4008({)S
- 1710 V
- (24919)210 648 A
- 1698(if)S
- ((sp->s_imount)546 1824 A
- 2412(==)S
- (rip))168 2538 A
- 2748({)S
- 1800 V
- (24920)210 648 A
- 2034(/*)S
- (Release)294 2160 A
- (the)126 2496 A
- (inode)210 2664 A
- (mounted)294 2916 A
- (on.)126 3252 A
- (Replace)294 3462 A
- 3798(by)S
- (the)126 3924 A
- 1890 V
- (24921)210 648 A
- 2076(*)S
- (inode)210 2160 A
- 2412(of)S
- (the)126 2538 A
- (root)168 2706 A
- (inode)210 2916 A
- 3168(of)S
- (the)126 3294 A
- (mounted)294 3462 A
- (device.)294 3798 A
- 1980 V
- (24922)210 648 A
- 2076(*/)S
- 2070 V
- (24923)210 648 A
- (put_inode(rip);)630 2034 A
- 2160 V
- (24924)210 648 A
- (rip)126 2034 A
- 2202(=)S
- (get_inode(sp->s_dev,)840 2286 A
- (ROOT_INODE);)504 3168 A
- 2250 V
- (24925)210 648 A
- (break;)252 2034 A
- 2340 V
- (24926)210 648 A
- 1698(})S
- 2430 V
- (24927)210 648 A
- 1362(})S
- 2520 V
- (24928)210 648 A
- 1110(})S
- 2610 V
- (24929)210 648 A
- (return(rip);)504 1110 A
- 2034(/*)S
- (return)252 2160 A
- (pointer)294 2454 A
- 2790(to)S
- (inode's)294 2916 A
- (component)378 3252 A
- 3672(*/)S
- 2700 V
- (24930)210 648 A
- 1026(})S
- 2970 V
- (24933)210 648 A
- (/*===========================================================================*)3276 1026 A
- 3060 V
- (24934)210 648 A
- 1068(*)S
- (search_dir)420 2370 A
- 4260(*)S
- 3150 V
- (24935)210 648 A
- (*===========================================================================*/)3276 1068 A
- 3240 V
- (24936)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (search_dir(ldir_ptr,)840 1488 A
- (string,)294 2370 A
- (numb,)210 2706 A
- (flag))210 2958 A
- 3330 V
- (24937)210 648 A
- (register)336 1026 A
- (struct)252 1404 A
- (inode)210 1698 A
- (*ldir_ptr;)420 1950 A
- 2706(/*)S
- (ptr)126 2832 A
- 3000(to)S
- (inode)210 3126 A
- (for)126 3378 A
- (dir)126 3546 A
- 3714(to)S
- (search)252 3840 A
- 4134(*/)S
- 3420 V
- (24938)210 648 A
- (char)168 1026 A
- (string[NAME_MAX];)714 1236 A
- 2370(/*)S
- (component)378 2496 A
- 2916(to)S
- (search)252 3042 A
- (for)126 3336 A
- 3504(*/)S
- 3510 V
- (24939)210 648 A
- (ino_t)210 1026 A
- (*numb;)252 1278 A
- 2370(/*)S
- (pointer)294 2496 A
- 2832(to)S
- (inode)210 2958 A
- (number)252 3210 A
- 3504(*/)S
- 3600 V
- (24940)210 648 A
- (int)126 1026 A
- (flag;)210 1194 A
- 2370(/*)S
- (LOOK_UP,)336 2496 A
- (ENTER,)252 2874 A
- (DELETE)252 3168 A
- 3462(or)S
- (IS_EMPTY)336 3588 A
- 3966(*/)S
- 3690 V
- (24941)210 648 A
- 1026({)S
- 3780 V
- (24942)210 648 A
- 1026(/*)S
- (This)168 1152 A
- (function)336 1362 A
- (searches)336 1740 A
- (the)126 2118 A
- (directory)378 2286 A
- (whose)210 2706 A
- (inode)210 2958 A
- 3210(is)S
- (pointed)294 3336 A
- 3672(to)S
- 3798(by)S
- ('ldip':)294 3924 A
- 3870 V
- (24943)210 648 A
- 1068(*)S
- 1152(if)S
- ((flag)210 1278 A
- 1530(==)S
- (ENTER))252 1656 A
- (enter)210 1992 A
- ('string')336 2244 A
- 2622(in)S
- (the)126 2748 A
- (directory)378 2916 A
- (with)168 3336 A
- (inode)210 3546 A
- 3798(#)S
- ('*numb';)336 3882 A
- 3960 V
- (24944)210 648 A
- 1068(*)S
- 1152(if)S
- ((flag)210 1278 A
- 1530(==)S
- (DELETE))294 1656 A
- (delete)252 1992 A
- ('string')336 2286 A
- (from)168 2664 A
- (the)126 2874 A
- (directory;)420 3042 A
- 4050 V
- (24945)210 648 A
- 1068(*)S
- 1152(if)S
- ((flag)210 1278 A
- 1530(==)S
- (LOOK_UP))336 1656 A
- (search)252 2034 A
- (for)126 2328 A
- ('string')336 2496 A
- (and)126 2874 A
- (return)252 3042 A
- (inode)210 3336 A
- 3588(#)S
- 3672(in)S
- ('numb';)294 3798 A
- 4140 V
- (24946)210 648 A
- 1068(*)S
- 1152(if)S
- ((flag)210 1278 A
- 1530(==)S
- (IS_EMPTY))378 1656 A
- (return)252 2076 A
- 2370(OK)S
- 2496(if)S
- (only)168 2622 A
- 2832(.)S
- (and)126 2916 A
- 3084(..)S
- 3210(in)S
- (dir)126 3336 A
- (else)168 3504 A
- (ENOTEMPTY;)420 3714 A
- 4230 V
- (24947)210 648 A
- 1068(*)S
- 4320 V
- (24948)210 648 A
- 1068(*)S
- 1278(if)S
- ('string')336 1404 A
- 1782(is)S
- (dot1)168 1908 A
- 2118(or)S
- (dot2,)210 2244 A
- 2496(no)S
- (access)252 2622 A
- (permissions)462 2916 A
- (are)126 3420 A
- (checked.)336 3588 A
- 4410 V
- (24949)210 648 A
- 1068(*/)S
- 4500 V
- (24950)210 648 A
- 4590 V
- (24951)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (direct)252 1782 A
- (*dp;)168 2076 A
- 4680 V
- (24952)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (buf)126 1782 A
- (*bp;)168 1950 A
- 4770 V
- (24953)210 648 A
- (int)126 1110 A
- 1278(i,)S
- 1404(r,)S
- (e_hit,)252 1530 A
- 1824(t,)S
- (match;)252 1950 A
- 4860 V
- (24954)210 648 A
- (mode_t)252 1110 A
- (bits;)210 1404 A
- 4950 V
- (24955)210 648 A
- (off_t)210 1110 A
- (pos;)168 1362 A
- 5040 V
- (24956)210 648 A
- (unsigned)336 1110 A
- (new_slots,)420 1488 A
- (old_slots;)420 1950 A
- 5130 V
- (24957)210 648 A
- (block_t)294 1110 A
- 1446(b;)S
- 5220 V
- (24958)210 648 A
- (struct)252 1110 A
- (super_block)462 1404 A
- (*sp;)168 1908 A
- 5310 V
- (24959)210 648 A
- (int)126 1110 A
- (extended)336 1278 A
- 1656(=)S
- 1740(0;)S
- 5400 V
- (24960)210 648 A
- 5490 V
- (24961)210 648 A
- 1110(/*)S
- 1236(If)S
- ('ldir_ptr')420 1362 A
- 1824(is)S
- (not)126 1950 A
- 2118(a)S
- (pointer)294 2202 A
- 2538(to)S
- 2664(a)S
- (dir)126 2748 A
- (inode,)252 2916 A
- (error.)252 3210 A
- 3504(*/)S
- 5580 V
- (24962)210 648 A
- 1110(if)S
- 1236(()S
- ((ldir_ptr->i_mode)714 1320 A
- 2076(&)S
- (I_TYPE))294 2160 A
- 2496(!=)S
- (I_DIRECTORY))504 2622 A
- (return(ENOTDIR);)672 3168 A
- 5670 V
- (24963)210 648 A
- 5760 V
- (24964)210 648 A
- 1110(r)S
- 1194(=)S
- (OK;)126 1278 A
- 5850 V
- (24965)210 648 A
- 5940 V
- (24966)210 648 A
- 1110(if)S
- ((flag)210 1236 A
- 1488(!=)S
- (IS_EMPTY))378 1614 A
- 2034({)S
- 6030 V
- (24967)210 648 A
- (bits)168 1362 A
- 1572(=)S
- ((flag)210 1656 A
- 1908(==)S
- (LOOK_UP)294 2034 A
- 2370(?)S
- (X_BIT)210 2454 A
- 2706(:)S
- (W_BIT)210 2790 A
- 3042(|)S
- (X_BIT);)294 3126 A
- 6120 V
- (24968)210 648 A
- 6210 V
- (24969)210 648 A
- 1362(if)S
- ((string)294 1488 A
- 1824(==)S
- (dot1)168 1950 A
- 2160(||)S
- (string)252 2286 A
- 2580(==)S
- (dot2))210 2706 A
- 2958({)S
- 8418 V
- EP
- %%Page: 344 344
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 12 B
- (344)180 648 A
- 11 R
- 2151(File:)S
- 2384(src/fs/path.c)S
- 10 R
- 3402(MINIX)S
- 3730(SOURCE)S
- 4153(CODE)S
- 900 V
- 7 LST
- (24970)210 648 A
- 1698(if)S
- ((flag)210 1824 A
- 2076(!=)S
- (LOOK_UP))336 2202 A
- 2580(r)S
- 2664(=)S
- (read_only(ldir_ptr);)840 2748 A
- 990 V
- (24971)210 648 A
- 2580(/*)S
- (only)168 2706 A
- 2916(a)S
- (writable)336 3000 A
- (device)252 3378 A
- 3672(is)S
- (required.)378 3798 A
- 4218(*/)S
- 1080 V
- (24972)210 648 A
- 1362(})S
- 1170 V
- (24973)210 648 A
- (else)168 1362 A
- 1572(r)S
- 1656(=)S
- (forbidden(ldir_ptr,)798 1740 A
- (bits);)252 2580 A
- 2874(/*)S
- (check)210 3000 A
- (access)252 3252 A
- (permissions)462 3546 A
- 4050(*/)S
- 1260 V
- (24974)210 648 A
- 1110(})S
- 1350 V
- (24975)210 648 A
- 1110(if)S
- 1236((r)S
- 1362(!=)S
- (OK))126 1488 A
- (return(r);)420 1656 A
- 1440 V
- (24976)210 648 A
- 1530 V
- (24977)210 648 A
- 1110(/*)S
- (Step)168 1236 A
- (through)294 1446 A
- (the)126 1782 A
- (directory)378 1950 A
- (one)126 2370 A
- (block)210 2538 A
- 2790(at)S
- 2916(a)S
- (time.)210 3000 A
- 3252(*/)S
- 1620 V
- (24978)210 648 A
- (old_slots)378 1110 A
- 1530(=)S
- ((unsigned))420 1614 A
- ((ldir_ptr->i_size/DIR_ENTRY_SIZE);)1428 2076 A
- 1710 V
- (24979)210 648 A
- (new_slots)378 1110 A
- 1530(=)S
- 1614(0;)S
- 1800 V
- (24980)210 648 A
- (e_hit)210 1110 A
- 1362(=)S
- (FALSE;)252 1446 A
- 1890 V
- (24981)210 648 A
- (match)210 1110 A
- 1362(=)S
- 1446(0;)S
- 2370(/*)S
- (set)126 2496 A
- (when)168 2664 A
- 2874(a)S
- (string)252 2958 A
- (match)210 3252 A
- (occurs)252 3504 A
- 3798(*/)S
- 1980 V
- (24982)210 648 A
- 2070 V
- (24983)210 648 A
- (for)126 1110 A
- ((pos)168 1278 A
- 1488(=)S
- 1572(0;)S
- (pos)126 1698 A
- 1866(<)S
- (ldir_ptr->i_size;)714 1950 A
- (pos)126 2706 A
- 2874(+=)S
- (BLOCK_SIZE))462 3000 A
- 3504({)S
- 2160 V
- (24984)210 648 A
- 1362(b)S
- 1446(=)S
- (read_map(ldir_ptr,)756 1530 A
- (pos);)210 2328 A
- 2706(/*)S
- (get)126 2832 A
- (block)210 3000 A
- (number)252 3252 A
- 3546(*/)S
- 2250 V
- (24985)210 648 A
- 2340 V
- (24986)210 648 A
- 1362(/*)S
- (Since)210 1488 A
- (directories)462 1740 A
- (don't)210 2244 A
- (have)168 2496 A
- (holes,)252 2706 A
- ('b')126 3000 A
- (cannot)252 3168 A
- 3462(be)S
- (NO_BLOCK.)378 3588 A
- 4008(*/)S
- 2430 V
- (24987)210 648 A
- 1362(bp)S
- 1488(=)S
- (get_block(ldir_ptr->i_dev,)1092 1572 A
- 2706(b,)S
- (NORMAL);)336 2832 A
- 3378(/*)S
- (get)126 3504 A
- 3672(a)S
- (dir)126 3756 A
- (block)210 3924 A
- 4176(*/)S
- 2520 V
- (24988)210 648 A
- 2610 V
- (24989)210 648 A
- 1362(/*)S
- (Search)252 1488 A
- 1782(a)S
- (directory)378 1866 A
- (block.)252 2286 A
- 2580(*/)S
- 2700 V
- (24990)210 648 A
- (for)126 1362 A
- ((dp)126 1530 A
- 1698(=)S
- (&bp->b_dir[0];)588 1782 A
- 2412(dp)S
- 2538(<)S
- (&bp->b_dir[NR_DIR_ENTRIES];)1134 2622 A
- (dp++))210 3798 A
- 4050({)S
- 2790 V
- (24991)210 648 A
- 1698(if)S
- ((++new_slots)504 1824 A
- 2370(>)S
- (old_slots))420 2454 A
- 2916({)S
- 3000(/*)S
- (not)126 3126 A
- (found,)252 3294 A
- (but)126 3588 A
- (room)168 3756 A
- (left)168 3966 A
- 4176(*/)S
- 2880 V
- (24992)210 648 A
- 2034(if)S
- ((flag)210 2160 A
- 2412(==)S
- (ENTER))252 2538 A
- (e_hit)210 2832 A
- 3084(=)S
- (TRUE;)210 3168 A
- 2970 V
- (24993)210 648 A
- (break;)252 2034 A
- 3060 V
- (24994)210 648 A
- 1698(})S
- 3150 V
- (24995)210 648 A
- 3240 V
- (24996)210 648 A
- 1698(/*)S
- (Match)210 1824 A
- (occurs)252 2076 A
- 2370(if)S
- (string)252 2496 A
- (found.)252 2790 A
- 3084(*/)S
- 3330 V
- (24997)210 648 A
- 1698(if)S
- ((flag)210 1824 A
- 2076(!=)S
- (ENTER)210 2202 A
- 2454(&&)S
- (dp->d_ino)378 2580 A
- 3000(!=)S
- 3126(0))S
- 3252({)S
- 3420 V
- (24998)210 648 A
- 2034(if)S
- ((flag)210 2160 A
- 2412(==)S
- (IS_EMPTY))378 2538 A
- 2958({)S
- 3510 V
- (24999)210 648 A
- 2370(/*)S
- 2496(If)S
- (this)168 2622 A
- (test)168 2832 A
- (succeeds,)378 3042 A
- (dir)126 3462 A
- 3630(is)S
- (not)126 3756 A
- (empty.)252 3924 A
- 4218(*/)S
- 3600 V
- (25000)210 648 A
- 2370(if)S
- ((strcmp(dp->d_name,)798 2496 A
- (".")126 3336 A
- 3504())S
- 3588(!=)S
- 3714(0)S
- 3798(&&)S
- 3690 V
- (25001)210 648 A
- (strcmp(dp->d_name,)756 2538 A
- (".."))210 3336 A
- 3588(!=)S
- 3714(0))S
- (match)210 3840 A
- 4092(=)S
- 4176(1;)S
- 3780 V
- (25002)210 648 A
- 2034(})S
- (else)168 2118 A
- 2328({)S
- 3870 V
- (25003)210 648 A
- 2370(if)S
- ((strncmp(dp->d_name,)840 2496 A
- (string,)294 3378 A
- (NAME_MAX))378 3714 A
- 4134(==)S
- 4260(0))S
- 3960 V
- (25004)210 648 A
- (match)210 2706 A
- 2958(=)S
- 3042(1;)S
- 4050 V
- (25005)210 648 A
- 2034(})S
- 4140 V
- (25006)210 648 A
- 1698(})S
- 4230 V
- (25007)210 648 A
- 4320 V
- (25008)210 648 A
- 1698(if)S
- ((match))294 1824 A
- 2160({)S
- 4410 V
- (25009)210 648 A
- 2034(/*)S
- (LOOK_UP)294 2160 A
- 2496(or)S
- (DELETE)252 2622 A
- (found)210 2916 A
- (what)168 3168 A
- 3378(it)S
- (wanted.)294 3504 A
- 3840(*/)S
- 4500 V
- (25010)210 648 A
- 2034(r)S
- 2118(=)S
- (OK;)126 2202 A
- 4590 V
- (25011)210 648 A
- 2034(if)S
- ((flag)210 2160 A
- 2412(==)S
- (IS_EMPTY))378 2538 A
- 2958(r)S
- 3042(=)S
- (ENOTEMPTY;)420 3126 A
- 4680 V
- (25012)210 648 A
- (else)168 2034 A
- 2244(if)S
- ((flag)210 2370 A
- 2622(==)S
- (DELETE))294 2748 A
- 3084({)S
- 4770 V
- (25013)210 648 A
- 2370(/*)S
- (Save)168 2496 A
- (d_ino)210 2706 A
- (for)126 2958 A
- (recovery.)378 3126 A
- 3546(*/)S
- 4860 V
- (25014)210 648 A
- 2370(t)S
- 2454(=)S
- (NAME_MAX)336 2538 A
- 2916(-)S
- (sizeof(ino_t);)588 3000 A
- 4950 V
- (25015)210 648 A
- (*((ino_t)336 2370 A
- 2748(*))S
- (&dp->d_name[t]))630 2874 A
- 3546(=)S
- (dp->d_ino;)420 3630 A
- 5040 V
- (25016)210 648 A
- (dp->d_ino)378 2370 A
- 2790(=)S
- 2874(0;)S
- 3042(/*)S
- (erase)210 3168 A
- (entry)210 3420 A
- 3672(*/)S
- 5130 V
- (25017)210 648 A
- (bp->b_dirt)420 2370 A
- 2832(=)S
- (DIRTY;)252 2916 A
- 5220 V
- (25018)210 648 A
- (ldir_ptr->i_update)756 2370 A
- 3168(|=)S
- (CTIME)210 3294 A
- 3546(|)S
- (MTIME;)252 3630 A
- 5310 V
- (25019)210 648 A
- (ldir_ptr->i_dirt)672 2370 A
- 3084(=)S
- (DIRTY;)252 3168 A
- 5400 V
- (25020)210 648 A
- 2034(})S
- (else)168 2118 A
- 2328({)S
- 5490 V
- (25021)210 648 A
- 2370(sp)S
- 2496(=)S
- (ldir_ptr->i_sp;)630 2580 A
- 3378(/*)S
- ('flag')252 3504 A
- 3798(is)S
- (LOOK_UP)294 3924 A
- 4260(*/)S
- 5580 V
- (25022)210 648 A
- (*numb)210 2370 A
- 2622(=)S
- (conv2(sp->s_native,)798 2706 A
- ((int))210 3546 A
- (dp->d_ino);)462 3798 A
- 5670 V
- (25023)210 648 A
- 2034(})S
- 5760 V
- (25024)210 648 A
- (put_block(bp,)546 2034 A
- (DIRECTORY_BLOCK);)714 2622 A
- 5850 V
- (25025)210 648 A
- (return(r);)420 2034 A
- 5940 V
- (25026)210 648 A
- 1698(})S
- 6030 V
- (25027)210 648 A
- 6120 V
- (25028)210 648 A
- 6210 V
- (25029)210 648 A
- 1698(/*)S
- (Check)210 1824 A
- (for)126 2076 A
- (free)168 2244 A
- (slot)168 2454 A
- (for)126 2664 A
- (the)126 2832 A
- (benefit)294 3000 A
- 3336(of)S
- (ENTER.)252 3462 A
- 3756(*/)S
- 8418 V
- EP
- %%Page: 345 345
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 10 R
- 648(MINIX)S
- 976(SOURCE)S
- 1399(CODE)S
- 11 R
- 2151(File:)S
- 2384(src/fs/path.c)S
- 12 B
- (345)180 4248 A
- 900 V
- 7 LST
- (25030)210 648 A
- 1698(if)S
- ((flag)210 1824 A
- 2076(==)S
- (ENTER)210 2202 A
- 2454(&&)S
- (dp->d_ino)378 2580 A
- 3000(==)S
- 3126(0))S
- 3252({)S
- 990 V
- (25031)210 648 A
- (e_hit)210 2034 A
- 2286(=)S
- (TRUE;)210 2370 A
- 2706(/*)S
- 2832(we)S
- (found)210 2958 A
- 3210(a)S
- (free)168 3294 A
- (slot)168 3504 A
- 3714(*/)S
- 1080 V
- (25032)210 648 A
- (break;)252 2034 A
- 1170 V
- (25033)210 648 A
- 1698(})S
- 1260 V
- (25034)210 648 A
- 1362(})S
- 1350 V
- (25035)210 648 A
- 1440 V
- (25036)210 648 A
- 1362(/*)S
- (The)126 1488 A
- (whole)210 1656 A
- (block)210 1908 A
- (has)126 2160 A
- (been)168 2328 A
- (searched)336 2538 A
- 2916(or)S
- (ENTER)210 3042 A
- (has)126 3294 A
- 3462(a)S
- (free)168 3546 A
- (slot.)210 3756 A
- 4008(*/)S
- 1530 V
- (25037)210 648 A
- 1362(if)S
- ((e_hit))294 1488 A
- (break;)252 1824 A
- 2370(/*)S
- (e_hit)210 2496 A
- (set)126 2748 A
- 2916(if)S
- (ENTER)210 3042 A
- (can)126 3294 A
- 3462(be)S
- (performed)378 3588 A
- (now)126 4008 A
- 4176(*/)S
- 1620 V
- (25038)210 648 A
- (put_block(bp,)546 1362 A
- (DIRECTORY_BLOCK);)714 1950 A
- 2706(/*)S
- (otherwise,)420 2832 A
- (continue)336 3294 A
- (searching)378 3672 A
- (dir)126 4092 A
- 4260(*/)S
- 1710 V
- (25039)210 648 A
- 1110(})S
- 1800 V
- (25040)210 648 A
- 1890 V
- (25041)210 648 A
- 1110(/*)S
- (The)126 1236 A
- (whole)210 1404 A
- (directory)378 1656 A
- (has)126 2076 A
- (now)126 2244 A
- (been)168 2412 A
- (searched.)378 2622 A
- 3042(*/)S
- 1980 V
- (25042)210 648 A
- 1110(if)S
- ((flag)210 1236 A
- 1488(!=)S
- (ENTER))252 1614 A
- (return(flag)462 1908 A
- 2412(==)S
- (IS_EMPTY)336 2538 A
- 2916(?)S
- 3000(OK)S
- 3126(:)S
- (ENOENT);)336 3210 A
- 2070 V
- (25043)210 648 A
- 2160 V
- (25044)210 648 A
- 1110(/*)S
- (This)168 1236 A
- (call)168 1446 A
- 1656(is)S
- (for)126 1782 A
- (ENTER.)252 1950 A
- 2286(If)S
- 2412(no)S
- (free)168 2538 A
- (slot)168 2748 A
- (has)126 2958 A
- (been)168 3126 A
- (found)210 3336 A
- 3588(so)S
- (far,)168 3714 A
- (try)126 3924 A
- 4092(to)S
- 2250 V
- (25045)210 648 A
- 1152(*)S
- (extend)252 1236 A
- (directory.)420 1530 A
- 2340 V
- (25046)210 648 A
- 1152(*/)S
- 2430 V
- (25047)210 648 A
- 1110(if)S
- ((e_hit)252 1236 A
- 1530(==)S
- (FALSE))252 1656 A
- 1950({)S
- 2034(/*)S
- (directory)378 2160 A
- 2580(is)S
- (full)168 2706 A
- (and)126 2916 A
- 3084(no)S
- (room)168 3210 A
- (left)168 3420 A
- 3630(in)S
- (last)168 3756 A
- (block)210 3966 A
- 4218(*/)S
- 2520 V
- (25048)210 648 A
- (new_slots++;)504 1362 A
- 2370(/*)S
- (increase)336 2496 A
- (directory)378 2874 A
- (size)168 3294 A
- 3504(by)S
- 3630(1)S
- (entry)210 3714 A
- 3966(*/)S
- 2610 V
- (25049)210 648 A
- 1362(if)S
- ((new_slots)420 1488 A
- 1950(==)S
- 2076(0))S
- (return(EFBIG);)588 2202 A
- 2832(/*)S
- (dir)126 2958 A
- (size)168 3126 A
- (limited)294 3336 A
- 3672(by)S
- (slot)168 3798 A
- (count)210 4008 A
- 4260(*/)S
- 2700 V
- (25050)210 648 A
- 1362(if)S
- 1488(()S
- ((bp)126 1572 A
- 1740(=)S
- (new_block(ldir_ptr,)798 1824 A
- (ldir_ptr->i_size)))756 2664 A
- 3462(==)S
- (NIL_BUF))336 3588 A
- 2790 V
- (25051)210 648 A
- (return(err_code);)714 1698 A
- 2880 V
- (25052)210 648 A
- 1362(dp)S
- 1488(=)S
- (&bp->b_dir[0];)588 1572 A
- 2970 V
- (25053)210 648 A
- (extended)336 1362 A
- 1740(=)S
- 1824(1;)S
- 3060 V
- (25054)210 648 A
- 1110(})S
- 3150 V
- (25055)210 648 A
- 3240 V
- (25056)210 648 A
- 1110(/*)S
- ('bp')168 1236 A
- (now)126 1446 A
- (points)252 1614 A
- 1908(to)S
- 2034(a)S
- (directory)378 2118 A
- (block)210 2538 A
- (with)168 2790 A
- (space.)252 3000 A
- ('dp')168 3294 A
- (points)252 3504 A
- 3798(to)S
- (slot.)210 3924 A
- 4176(*/)S
- 3330 V
- (25057)210 648 A
- ((void))252 1110 A
- (memset(dp->d_name,)756 1404 A
- 2202(0,)S
- ((size_t))336 2328 A
- (NAME_MAX);)420 2706 A
- 3168(/*)S
- (clear)210 3294 A
- (entry)210 3546 A
- 3798(*/)S
- 3420 V
- (25058)210 648 A
- (for)126 1110 A
- 1278((i)S
- 1404(=)S
- 1488(0;)S
- (string[i])378 1614 A
- 2034(&&)S
- 2160(i)S
- 2244(<)S
- (NAME_MAX;)378 2328 A
- (i++))168 2748 A
- (dp->d_name[i])546 2958 A
- 3546(=)S
- (string[i];)420 3630 A
- 3510 V
- (25059)210 648 A
- 1110(sp)S
- 1236(=)S
- (ldir_ptr->i_sp;)630 1320 A
- 3600 V
- (25060)210 648 A
- (dp->d_ino)378 1110 A
- 1530(=)S
- (conv2(sp->s_native,)798 1614 A
- ((int))210 2454 A
- (*numb);)294 2706 A
- 3690 V
- (25061)210 648 A
- (bp->b_dirt)420 1110 A
- 1572(=)S
- (DIRTY;)252 1656 A
- 3780 V
- (25062)210 648 A
- (put_block(bp,)546 1110 A
- (DIRECTORY_BLOCK);)714 1698 A
- 3870 V
- (25063)210 648 A
- (ldir_ptr->i_update)756 1110 A
- 1908(|=)S
- (CTIME)210 2034 A
- 2286(|)S
- (MTIME;)252 2370 A
- 2706(/*)S
- (mark)168 2832 A
- (mtime)210 3042 A
- (for)126 3294 A
- (update)252 3462 A
- (later)210 3756 A
- 4008(*/)S
- 3960 V
- (25064)210 648 A
- (ldir_ptr->i_dirt)672 1110 A
- 1824(=)S
- (DIRTY;)252 1908 A
- 4050 V
- (25065)210 648 A
- 1110(if)S
- ((new_slots)420 1236 A
- 1698(>)S
- (old_slots))420 1782 A
- 2244({)S
- 4140 V
- (25066)210 648 A
- (ldir_ptr->i_size)672 1362 A
- 2076(=)S
- ((off_t))294 2160 A
- (new_slots)378 2496 A
- 2916(*)S
- (DIR_ENTRY_SIZE;)630 3000 A
- 4230 V
- (25067)210 648 A
- 1362(/*)S
- (Send)168 1488 A
- (the)126 1698 A
- (change)252 1866 A
- 2160(to)S
- (disk)168 2286 A
- 2496(if)S
- (the)126 2622 A
- (directory)378 2790 A
- 3210(is)S
- (extended.)378 3336 A
- 3756(*/)S
- 4320 V
- (25068)210 648 A
- 1362(if)S
- ((extended))420 1488 A
- (rw_inode(ldir_ptr,)756 1950 A
- (WRITING);)378 2748 A
- 4410 V
- (25069)210 648 A
- 1110(})S
- 4500 V
- (25070)210 648 A
- (return(OK);)462 1110 A
- 4590 V
- (25071)210 648 A
- 1026(})S
- 5040 V
- (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
- 5130 V
- (src/fs/mount.c)588 2034 A
- 5220 V
- (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
- 5400 V
- (25100)210 648 A
- 1026(/*)S
- (This)168 1152 A
- (file)168 1362 A
- (performs)336 1572 A
- (the)126 1950 A
- (MOUNT)210 2118 A
- (and)126 2370 A
- (UMOUNT)252 2538 A
- (system)252 2832 A
- (calls.)252 3126 A
- 5490 V
- (25101)210 648 A
- 1068(*)S
- 5580 V
- (25102)210 648 A
- 1068(*)S
- (The)126 1152 A
- (entry)210 1320 A
- (points)252 1572 A
- (into)168 1866 A
- (this)168 2076 A
- (file)168 2286 A
- (are)126 2496 A
- 5670 V
- (25103)210 648 A
- 1068(*)S
- (do_mount:)378 1236 A
- (perform)294 1698 A
- (the)126 2034 A
- (MOUNT)210 2202 A
- (system)252 2454 A
- (call)168 2748 A
- 5760 V
- (25104)210 648 A
- 1068(*)S
- (do_umount:)420 1236 A
- (perform)294 1698 A
- (the)126 2034 A
- (UMOUNT)252 2202 A
- (system)252 2496 A
- (call)168 2790 A
- 5850 V
- (25105)210 648 A
- 1068(*/)S
- 5940 V
- (25106)210 648 A
- 6030 V
- (25107)210 648 A
- (#include)336 1026 A
- ("fs.h")252 1404 A
- 6120 V
- (25108)210 648 A
- (#include)336 1026 A
- (<fcntl.h>)378 1404 A
- 6210 V
- (25109)210 648 A
- (#include)336 1026 A
- (<minix/com.h>)546 1404 A
- 8418 V
- EP
- %%Page: 346 346
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 12 B
- (346)180 648 A
- 11 R
- 2105(File:)S
- (src/fs/mount.c)632 2338 A
- 10 R
- 3402(MINIX)S
- 3730(SOURCE)S
- 4153(CODE)S
- 900 V
- 7 LST
- (25110)210 648 A
- (#include)336 1026 A
- (<sys/stat.h>)504 1404 A
- 990 V
- (25111)210 648 A
- (#include)336 1026 A
- ("buf.h")294 1404 A
- 1080 V
- (25112)210 648 A
- (#include)336 1026 A
- ("dev.h")294 1404 A
- 1170 V
- (25113)210 648 A
- (#include)336 1026 A
- ("file.h")336 1404 A
- 1260 V
- (25114)210 648 A
- (#include)336 1026 A
- ("fproc.h")378 1404 A
- 1350 V
- (25115)210 648 A
- (#include)336 1026 A
- ("inode.h")378 1404 A
- 1440 V
- (25116)210 648 A
- (#include)336 1026 A
- ("param.h")378 1404 A
- 1530 V
- (25117)210 648 A
- (#include)336 1026 A
- ("super.h")378 1404 A
- 1620 V
- (25118)210 648 A
- 1710 V
- (25119)210 648 A
- (PRIVATE)294 1026 A
- (message)294 1362 A
- (dev_mess;)378 1698 A
- 1800 V
- (25120)210 648 A
- 1890 V
- (25121)210 648 A
- (FORWARD)294 1026 A
- (_PROTOTYPE()462 1362 A
- (dev_t)210 1866 A
- (name_to_dev,)504 2118 A
- ((char)210 2664 A
- (*path))252 2916 A
- 4050();)S
- 1980 V
- (25122)210 648 A
- 2070 V
- (25123)210 648 A
- (/*===========================================================================*)3276 1026 A
- 2160 V
- (25124)210 648 A
- 1068(*)S
- (do_mount)336 2370 A
- 4260(*)S
- 2250 V
- (25125)210 648 A
- (*===========================================================================*/)3276 1068 A
- 2340 V
- (25126)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (do_mount())420 1488 A
- 2430 V
- (25127)210 648 A
- 1026({)S
- 2520 V
- (25128)210 648 A
- 1026(/*)S
- (Perform)294 1152 A
- (the)126 1488 A
- (mount(name,)462 1656 A
- (mfile,)252 2160 A
- (rd_only))336 2454 A
- (system)252 2832 A
- (call.)210 3126 A
- 3378(*/)S
- 2610 V
- (25129)210 648 A
- 2700 V
- (25130)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (inode)210 1782 A
- (*rip,)210 2034 A
- (*root_ip;)378 2286 A
- 2790 V
- (25131)210 648 A
- (struct)252 1110 A
- (super_block)462 1404 A
- (*xp,)168 1908 A
- (*sp;)168 2118 A
- 2880 V
- (25132)210 648 A
- (dev_t)210 1110 A
- (dev;)168 1362 A
- 2970 V
- (25133)210 648 A
- (mode_t)252 1110 A
- (bits;)210 1404 A
- 3060 V
- (25134)210 648 A
- (int)126 1110 A
- (rdir,)210 1278 A
- (mdir;)210 1530 A
- 2370(/*)S
- (TRUE)168 2496 A
- (iff)126 2706 A
- ({root|mount})504 2874 A
- (file)168 3420 A
- 3630(is)S
- (dir)126 3756 A
- 3924(*/)S
- 3150 V
- (25135)210 648 A
- (int)126 1110 A
- 1278(r,)S
- (found,)252 1404 A
- (major,)252 1698 A
- (task;)210 1992 A
- 3240 V
- (25136)210 648 A
- 3330 V
- (25137)210 648 A
- 1110(/*)S
- (Only)168 1236 A
- (the)126 1446 A
- (super-user)420 1614 A
- (may)126 2076 A
- 2244(do)S
- (MOUNT.)252 2370 A
- 2664(*/)S
- 3420 V
- (25138)210 648 A
- 1110(if)S
- ((!super_user))546 1236 A
- (return(EPERM);)588 1824 A
- 3510 V
- (25139)210 648 A
- 3600 V
- (25140)210 648 A
- 1110(/*)S
- 1236(If)S
- ('name')252 1362 A
- 1656(is)S
- (not)126 1782 A
- (for)126 1950 A
- 2118(a)S
- (block)210 2202 A
- (special)294 2454 A
- (file,)210 2790 A
- (return)252 3042 A
- (error.)252 3336 A
- 3630(*/)S
- 3690 V
- (25141)210 648 A
- 1110(if)S
- ((fetch_name(name1,)756 1236 A
- (name1_length,)546 2034 A
- (M1))126 2622 A
- 2790(!=)S
- (OK))126 2916 A
- (return(err_code);)714 3084 A
- 3780 V
- (25142)210 648 A
- 1110(if)S
- 1236(()S
- ((dev)168 1320 A
- 1530(=)S
- (name_to_dev(user_path)))966 1614 A
- 2622(==)S
- (NO_DEV))294 2748 A
- (return(err_code);)714 3084 A
- 3870 V
- (25143)210 648 A
- 3960 V
- (25144)210 648 A
- 1110(/*)S
- (Scan)168 1236 A
- (super)210 1446 A
- (block)210 1698 A
- (table)210 1950 A
- 2202(to)S
- (see)126 2328 A
- 2496(if)S
- (dev)126 2622 A
- (already)294 2790 A
- (mounted)294 3126 A
- 3462(&)S
- (find)168 3546 A
- 3756(a)S
- (free)168 3840 A
- (slot.*/)294 4050 A
- 4050 V
- (25145)210 648 A
- 1110(sp)S
- 1236(=)S
- (NIL_SUPER;)420 1320 A
- 4140 V
- (25146)210 648 A
- (found)210 1110 A
- 1362(=)S
- (FALSE;)252 1446 A
- 4230 V
- (25147)210 648 A
- (for)126 1110 A
- ((xp)126 1278 A
- 1446(=)S
- (&super_block[0];)672 1530 A
- 2244(xp)S
- 2370(<)S
- (&super_block[NR_SUPERS];)1008 2454 A
- (xp++))210 3504 A
- 3756({)S
- 4320 V
- (25148)210 648 A
- 1362(if)S
- ((xp->s_dev)420 1488 A
- 1950(==)S
- (dev))168 2076 A
- (found)210 2286 A
- 2538(=)S
- (TRUE;)210 2622 A
- 3042(/*)S
- 3168(is)S
- 3294(it)S
- (mounted)294 3420 A
- (already?)336 3756 A
- 4134(*/)S
- 4410 V
- (25149)210 648 A
- 1362(if)S
- ((xp->s_dev)420 1488 A
- 1950(==)S
- (NO_DEV))294 2076 A
- 2412(sp)S
- 2538(=)S
- (xp;)126 2622 A
- 3042(/*)S
- (record)252 3168 A
- (free)168 3462 A
- (slot)168 3672 A
- 3882(*/)S
- 4500 V
- (25150)210 648 A
- 1110(})S
- 4590 V
- (25151)210 648 A
- 1110(if)S
- ((found))294 1236 A
- (return(EBUSY);)588 1572 A
- 2370(/*)S
- (already)294 2496 A
- (mounted)294 2832 A
- 3168(*/)S
- 4680 V
- (25152)210 648 A
- 1110(if)S
- ((sp)126 1236 A
- 1404(==)S
- (NIL_SUPER))420 1530 A
- (return(ENFILE);)630 1992 A
- 2706(/*)S
- 2832(no)S
- (super)210 2958 A
- (block)210 3210 A
- (available)378 3462 A
- 3882(*/)S
- 4770 V
- (25153)210 648 A
- 4860 V
- (25154)210 648 A
- (dev_mess.m_type)630 1110 A
- 1782(=)S
- (DEV_OPEN;)378 1866 A
- 2706(/*)S
- (distinguish)462 2832 A
- (from)168 3336 A
- (close)210 3546 A
- 3798(*/)S
- 4950 V
- (25155)210 648 A
- (dev_mess.DEVICE)630 1110 A
- 1782(=)S
- (dev;)168 1866 A
- 2706(/*)S
- (Touch)210 2832 A
- (the)126 3084 A
- (device.)294 3252 A
- 3588(*/)S
- 5040 V
- (25156)210 648 A
- 1110(if)S
- ((rd_only))378 1236 A
- (dev_mess.COUNT)588 1656 A
- 2286(=)S
- (R_BIT;)252 2370 A
- 5130 V
- (25157)210 648 A
- (else)168 1110 A
- (dev_mess.COUNT)588 1362 A
- 1992(=)S
- (R_BIT|W_BIT;)504 2076 A
- 5220 V
- (25158)210 648 A
- 5310 V
- (25159)210 648 A
- (major)210 1110 A
- 1362(=)S
- ((dev)168 1446 A
- 1656(>>)S
- (MAJOR))252 1782 A
- 2076(&)S
- (BYTE;)210 2160 A
- 5400 V
- (25160)210 648 A
- 1110(if)S
- ((major)252 1236 A
- 1530(<=)S
- 1656(0)S
- 1740(||)S
- (major)210 1866 A
- 2118(>=)S
- (max_major))420 2244 A
- (return(ENODEV);)630 2706 A
- 5490 V
- (25161)210 648 A
- (task)168 1110 A
- 1320(=)S
- (dmap[major].dmap_task;)924 1404 A
- 2706(/*)S
- (device)252 2832 A
- (task)168 3126 A
- 3336(nr)S
- 3462(*/)S
- 5580 V
- (25162)210 648 A
- ((*dmap[major].dmap_open)(task,)1260 1110 A
- (&dev_mess);)462 2412 A
- 5670 V
- (25163)210 648 A
- 1110(if)S
- ((dev_mess.REP_STATUS)840 1236 A
- 2118(!=)S
- (OK))126 2244 A
- (return(EINVAL);)630 2412 A
- 5760 V
- (25164)210 648 A
- 5850 V
- (25165)210 648 A
- 1110(/*)S
- (Fill)168 1236 A
- 1446(in)S
- (the)126 1572 A
- (super)210 1740 A
- (block.)252 1992 A
- 2286(*/)S
- 5940 V
- (25166)210 648 A
- (sp->s_dev)378 1110 A
- 1530(=)S
- (dev;)168 1614 A
- 2370(/*)S
- (read_super())504 2496 A
- (needs)210 3042 A
- 3294(to)S
- (know)168 3420 A
- (which)210 3630 A
- (dev)126 3882 A
- 4050(*/)S
- 6030 V
- (25167)210 648 A
- 1110(r)S
- 1194(=)S
- (read_super(sp);)630 1278 A
- 6120 V
- (25168)210 648 A
- 6210 V
- (25169)210 648 A
- 1110(/*)S
- 1236(Is)S
- 1362(it)S
- (recognized)420 1488 A
- 1950(as)S
- 2076(a)S
- (Minix)210 2160 A
- (filesystem?)462 2412 A
- 2916(*/)S
- 8418 V
- EP
- %%Page: 347 347
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 10 R
- 648(MINIX)S
- 976(SOURCE)S
- 1399(CODE)S
- 11 R
- 2105(File:)S
- (src/fs/mount.c)632 2338 A
- 12 B
- (347)180 4248 A
- 900 V
- 7 LST
- (25170)210 648 A
- 1110(if)S
- 1236((r)S
- 1362(!=)S
- (OK))126 1488 A
- 1656({)S
- 990 V
- (25171)210 648 A
- (dev_mess.m_type)630 1362 A
- 2034(=)S
- (DEV_CLOSE;)420 2118 A
- 1080 V
- (25172)210 648 A
- (dev_mess.DEVICE)630 1362 A
- 2034(=)S
- (dev;)168 2118 A
- 1170 V
- (25173)210 648 A
- ((*dmap[major].dmap_close)(task,)1302 1362 A
- (&dev_mess);)462 2706 A
- 1260 V
- (25174)210 648 A
- (return(r);)420 1362 A
- 1350 V
- (25175)210 648 A
- 1110(})S
- 1440 V
- (25176)210 648 A
- 1530 V
- (25177)210 648 A
- 1110(/*)S
- (Now)126 1236 A
- (get)126 1404 A
- (the)126 1572 A
- (inode)210 1740 A
- 1992(of)S
- (the)126 2118 A
- (file)168 2286 A
- 2496(to)S
- 2622(be)S
- (mounted)294 2748 A
- (on.)126 3084 A
- 3252(*/)S
- 1620 V
- (25178)210 648 A
- 1110(if)S
- ((fetch_name(name2,)756 1236 A
- (name2_length,)546 2034 A
- (M1))126 2622 A
- 2790(!=)S
- (OK))126 2916 A
- 3084({)S
- 1710 V
- (25179)210 648 A
- (sp->s_dev)378 1362 A
- 1782(=)S
- (NO_DEV;)294 1866 A
- 1800 V
- (25180)210 648 A
- (dev_mess.m_type)630 1362 A
- 2034(=)S
- (DEV_CLOSE;)420 2118 A
- 1890 V
- (25181)210 648 A
- (dev_mess.DEVICE)630 1362 A
- 2034(=)S
- (dev;)168 2118 A
- 1980 V
- (25182)210 648 A
- ((*dmap[major].dmap_close)(task,)1302 1362 A
- (&dev_mess);)462 2706 A
- 2070 V
- (25183)210 648 A
- (return(err_code);)714 1362 A
- 2160 V
- (25184)210 648 A
- 1110(})S
- 2250 V
- (25185)210 648 A
- 1110(if)S
- 1236(()S
- ((rip)168 1320 A
- 1530(=)S
- (eat_path(user_path)))840 1614 A
- 2496(==)S
- (NIL_INODE))420 2622 A
- 3084({)S
- 2340 V
- (25186)210 648 A
- (sp->s_dev)378 1362 A
- 1782(=)S
- (NO_DEV;)294 1866 A
- 2430 V
- (25187)210 648 A
- (dev_mess.m_type)630 1362 A
- 2034(=)S
- (DEV_CLOSE;)420 2118 A
- 2520 V
- (25188)210 648 A
- (dev_mess.DEVICE)630 1362 A
- 2034(=)S
- (dev;)168 2118 A
- 2610 V
- (25189)210 648 A
- ((*dmap[major].dmap_close)(task,)1302 1362 A
- (&dev_mess);)462 2706 A
- 2700 V
- (25190)210 648 A
- (return(err_code);)714 1362 A
- 2790 V
- (25191)210 648 A
- 1110(})S
- 2880 V
- (25192)210 648 A
- 2970 V
- (25193)210 648 A
- 1110(/*)S
- 1236(It)S
- (may)126 1362 A
- (not)126 1530 A
- 1698(be)S
- (busy.)210 1824 A
- 2076(*/)S
- 3060 V
- (25194)210 648 A
- 1110(r)S
- 1194(=)S
- (OK;)126 1278 A
- 3150 V
- (25195)210 648 A
- 1110(if)S
- ((rip->i_count)546 1236 A
- 1824(>)S
- 1908(1))S
- 2034(r)S
- 2118(=)S
- (EBUSY;)252 2202 A
- 3240 V
- (25196)210 648 A
- 3330 V
- (25197)210 648 A
- 1110(/*)S
- 1236(It)S
- (may)126 1362 A
- (not)126 1530 A
- 1698(be)S
- (special.)336 1824 A
- 2202(*/)S
- 3420 V
- (25198)210 648 A
- (bits)168 1110 A
- 1320(=)S
- (rip->i_mode)462 1404 A
- 1908(&)S
- (I_TYPE;)294 1992 A
- 3510 V
- (25199)210 648 A
- 1110(if)S
- ((bits)210 1236 A
- 1488(==)S
- (I_BLOCK_SPECIAL)630 1614 A
- 2286(||)S
- (bits)168 2412 A
- 2622(==)S
- (I_CHAR_SPECIAL))630 2748 A
- 3420(r)S
- 3504(=)S
- (ENOTDIR;)336 3588 A
- 3600 V
- (25200)210 648 A
- 3690 V
- (25201)210 648 A
- 1110(/*)S
- (Get)126 1236 A
- (the)126 1404 A
- (root)168 1572 A
- (inode)210 1782 A
- 2034(of)S
- (the)126 2160 A
- (mounted)294 2328 A
- (file)168 2664 A
- (system.)294 2874 A
- 3210(*/)S
- 3780 V
- (25202)210 648 A
- (root_ip)294 1110 A
- 1446(=)S
- (NIL_INODE;)420 1530 A
- 2370(/*)S
- 2496(if)S
- ('r')126 2622 A
- (not)126 2790 A
- (OK,)126 2958 A
- (make)168 3126 A
- (sure)168 3336 A
- (this)168 3546 A
- 3756(is)S
- (defined)294 3882 A
- 4218(*/)S
- 3870 V
- (25203)210 648 A
- 1110(if)S
- 1236((r)S
- 1362(==)S
- (OK))126 1488 A
- 1656({)S
- 3960 V
- (25204)210 648 A
- 1362(if)S
- 1488(()S
- ((root_ip)336 1572 A
- 1950(=)S
- (get_inode(dev,)588 2034 A
- (ROOT_INODE)))504 2664 A
- 3210(==)S
- (NIL_INODE))420 3336 A
- 3798(r)S
- 3882(=)S
- (err_code;)378 3966 A
- 4050 V
- (25205)210 648 A
- 1110(})S
- 4140 V
- (25206)210 648 A
- 1110(if)S
- ((root_ip)336 1236 A
- 1614(!=)S
- (NIL_INODE)378 1740 A
- 2160(&&)S
- (root_ip->i_mode)630 2286 A
- 2958(==)S
- 3084(0))S
- 3210(r)S
- 3294(=)S
- (EINVAL;)294 3378 A
- 4230 V
- (25207)210 648 A
- 4320 V
- (25208)210 648 A
- 1110(/*)S
- (File)168 1236 A
- (types)210 1446 A
- 1698(of)S
- ('rip')210 1824 A
- (and)126 2076 A
- ('root_ip')378 2244 A
- (may)126 2664 A
- (not)126 2832 A
- (conflict.)378 3000 A
- 3420(*/)S
- 4410 V
- (25209)210 648 A
- 1110(if)S
- 1236((r)S
- 1362(==)S
- (OK))126 1488 A
- 1656({)S
- 4500 V
- (25210)210 648 A
- (mdir)168 1362 A
- 1572(=)S
- (((rip->i_mode)546 1656 A
- 2244(&)S
- (I_TYPE))294 2328 A
- 2664(==)S
- (I_DIRECTORY);)546 2790 A
- 3420(/*)S
- (TRUE)168 3546 A
- (iff)126 3756 A
- (dir)126 3924 A
- 4092(*/)S
- 4590 V
- (25211)210 648 A
- (rdir)168 1362 A
- 1572(=)S
- (((root_ip->i_mode)714 1656 A
- 2412(&)S
- (I_TYPE))294 2496 A
- 2832(==)S
- (I_DIRECTORY);)546 2958 A
- 4680 V
- (25212)210 648 A
- 1362(if)S
- ((!mdir)252 1488 A
- 1782(&&)S
- (rdir))210 1908 A
- 2160(r)S
- 2244(=)S
- (EISDIR;)294 2328 A
- 4770 V
- (25213)210 648 A
- 1110(})S
- 4860 V
- (25214)210 648 A
- 4950 V
- (25215)210 648 A
- 1110(/*)S
- 1236(If)S
- (error,)252 1362 A
- (return)252 1656 A
- (the)126 1950 A
- (super)210 2118 A
- (block)210 2370 A
- (and)126 2622 A
- (both)168 2790 A
- (inodes;)294 3000 A
- (release)294 3336 A
- (the)126 3672 A
- (maps.)210 3840 A
- 4092(*/)S
- 5040 V
- (25216)210 648 A
- 1110(if)S
- 1236((r)S
- 1362(!=)S
- (OK))126 1488 A
- 1656({)S
- 5130 V
- (25217)210 648 A
- (put_inode(rip);)630 1362 A
- 5220 V
- (25218)210 648 A
- (put_inode(root_ip);)798 1362 A
- 5310 V
- (25219)210 648 A
- ((void))252 1362 A
- (do_sync();)420 1656 A
- 5400 V
- (25220)210 648 A
- (invalidate(dev);)672 1362 A
- 5490 V
- (25221)210 648 A
- 5580 V
- (25222)210 648 A
- (sp->s_dev)378 1362 A
- 1782(=)S
- (NO_DEV;)294 1866 A
- 5670 V
- (25223)210 648 A
- (dev_mess.m_type)630 1362 A
- 2034(=)S
- (DEV_CLOSE;)420 2118 A
- 5760 V
- (25224)210 648 A
- (dev_mess.DEVICE)630 1362 A
- 2034(=)S
- (dev;)168 2118 A
- 5850 V
- (25225)210 648 A
- ((*dmap[major].dmap_close)(task,)1302 1362 A
- (&dev_mess);)462 2706 A
- 5940 V
- (25226)210 648 A
- (return(r);)420 1362 A
- 6030 V
- (25227)210 648 A
- 1110(})S
- 6120 V
- (25228)210 648 A
- 6210 V
- (25229)210 648 A
- 1110(/*)S
- (Nothing)294 1236 A
- (else)168 1572 A
- (can)126 1782 A
- 1950(go)S
- (wrong.)252 2076 A
- (Perform)294 2412 A
- (the)126 2748 A
- (mount.)252 2916 A
- 3210(*/)S
- 8418 V
- EP
- %%Page: 348 348
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 12 B
- (348)180 648 A
- 11 R
- 2105(File:)S
- (src/fs/mount.c)632 2338 A
- 10 R
- 3402(MINIX)S
- 3730(SOURCE)S
- 4153(CODE)S
- 900 V
- 7 LST
- (25230)210 648 A
- (rip->i_mount)504 1110 A
- 1656(=)S
- (I_MOUNT;)336 1740 A
- 2370(/*)S
- (this)168 2496 A
- (bit)126 2706 A
- (says)168 2874 A
- (the)126 3084 A
- (inode)210 3252 A
- 3504(is)S
- (mounted)294 3630 A
- 3966(on)S
- 4092(*/)S
- 990 V
- (25231)210 648 A
- (sp->s_imount)504 1110 A
- 1656(=)S
- (rip;)168 1740 A
- 1080 V
- (25232)210 648 A
- (sp->s_isup)420 1110 A
- 1572(=)S
- (root_ip;)336 1656 A
- 1170 V
- (25233)210 648 A
- (sp->s_rd_only)546 1110 A
- 1698(=)S
- (rd_only;)336 1782 A
- 1260 V
- (25234)210 648 A
- (return(OK);)462 1110 A
- 1350 V
- (25235)210 648 A
- 1026(})S
- 1620 V
- (25238)210 648 A
- (/*===========================================================================*)3276 1026 A
- 1710 V
- (25239)210 648 A
- 1068(*)S
- (do_umount)378 2370 A
- 4260(*)S
- 1800 V
- (25240)210 648 A
- (*===========================================================================*/)3276 1068 A
- 1890 V
- (25241)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (do_umount())462 1488 A
- 1980 V
- (25242)210 648 A
- 1026({)S
- 2070 V
- (25243)210 648 A
- 1026(/*)S
- (Perform)294 1152 A
- (the)126 1488 A
- (umount(name))504 1656 A
- (system)252 2202 A
- (call.)210 2496 A
- 2748(*/)S
- 2160 V
- (25244)210 648 A
- 2250 V
- (25245)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (inode)210 1782 A
- (*rip;)210 2034 A
- 2340 V
- (25246)210 648 A
- (struct)252 1110 A
- (super_block)462 1404 A
- (*sp,)168 1908 A
- (*sp1;)210 2118 A
- 2430 V
- (25247)210 648 A
- (dev_t)210 1110 A
- (dev;)168 1362 A
- 2520 V
- (25248)210 648 A
- (int)126 1110 A
- (count;)252 1278 A
- 2610 V
- (25249)210 648 A
- (int)126 1110 A
- (major,)252 1278 A
- (task;)210 1572 A
- 2700 V
- (25250)210 648 A
- 2790 V
- (25251)210 648 A
- 1110(/*)S
- (Only)168 1236 A
- (the)126 1446 A
- (super-user)420 1614 A
- (may)126 2076 A
- 2244(do)S
- (UMOUNT.)294 2370 A
- 2706(*/)S
- 2880 V
- (25252)210 648 A
- 1110(if)S
- ((!super_user))546 1236 A
- (return(EPERM);)588 1824 A
- 2970 V
- (25253)210 648 A
- 3060 V
- (25254)210 648 A
- 1110(/*)S
- 1236(If)S
- ('name')252 1362 A
- 1656(is)S
- (not)126 1782 A
- (for)126 1950 A
- 2118(a)S
- (block)210 2202 A
- (special)294 2454 A
- (file,)210 2790 A
- (return)252 3042 A
- (error.)252 3336 A
- 3630(*/)S
- 3150 V
- (25255)210 648 A
- 1110(if)S
- ((fetch_name(name,)714 1236 A
- (name_length,)504 1992 A
- (M3))126 2538 A
- 2706(!=)S
- (OK))126 2832 A
- (return(err_code);)714 3000 A
- 3240 V
- (25256)210 648 A
- 1110(if)S
- 1236(()S
- ((dev)168 1320 A
- 1530(=)S
- (name_to_dev(user_path)))966 1614 A
- 2622(==)S
- (NO_DEV))294 2748 A
- (return(err_code);)714 3084 A
- 3330 V
- (25257)210 648 A
- 3420 V
- (25258)210 648 A
- 1110(/*)S
- (See)126 1236 A
- 1404(if)S
- (the)126 1530 A
- (mounted)294 1698 A
- (device)252 2034 A
- 2328(is)S
- (busy.)210 2454 A
- (Only)168 2748 A
- 2958(1)S
- (inode)210 3042 A
- (using)210 3294 A
- 3546(it)S
- (should)252 3672 A
- 3966(be)S
- 3510 V
- (25259)210 648 A
- 1152(*)S
- (open)168 1236 A
- 1446(--)S
- (the)126 1572 A
- (root)168 1740 A
- (inode)210 1950 A
- 2202(--)S
- (and)126 2328 A
- (that)168 2496 A
- (inode)210 2706 A
- (only)168 2958 A
- 3168(1)S
- (time.)210 3252 A
- 3600 V
- (25260)210 648 A
- 1152(*/)S
- 3690 V
- (25261)210 648 A
- (count)210 1110 A
- 1362(=)S
- 1446(0;)S
- 3780 V
- (25262)210 648 A
- (for)126 1110 A
- ((rip)168 1278 A
- 1488(=)S
- (&inode[0];)420 1572 A
- (rip<)168 2034 A
- (&inode[NR_INODES];)756 2244 A
- (rip++))252 3042 A
- 3870 V
- (25263)210 648 A
- 1362(if)S
- ((rip->i_count)546 1488 A
- 2076(>)S
- 2160(0)S
- 2244(&&)S
- (rip->i_dev)420 2370 A
- 2832(==)S
- (dev))168 2958 A
- (count)210 3168 A
- 3420(+=)S
- (rip->i_count;)546 3546 A
- 3960 V
- (25264)210 648 A
- 1110(if)S
- ((count)252 1236 A
- 1530(>)S
- 1614(1))S
- (return(EBUSY);)588 1740 A
- 2370(/*)S
- (can't)210 2496 A
- (umount)252 2748 A
- 3042(a)S
- (busy)168 3126 A
- (file)168 3336 A
- (system)252 3546 A
- 3840(*/)S
- 4050 V
- (25265)210 648 A
- 4140 V
- (25266)210 648 A
- 1110(/*)S
- (Find)168 1236 A
- (the)126 1446 A
- (super)210 1614 A
- (block.)252 1866 A
- 2160(*/)S
- 4230 V
- (25267)210 648 A
- 1110(sp)S
- 1236(=)S
- (NIL_SUPER;)420 1320 A
- 4320 V
- (25268)210 648 A
- (for)126 1110 A
- ((sp1)168 1278 A
- 1488(=)S
- (&super_block[0];)672 1572 A
- (sp1)126 2286 A
- 2454(<)S
- (&super_block[NR_SUPERS];)1008 2538 A
- (sp1++))252 3588 A
- 3882({)S
- 4410 V
- (25269)210 648 A
- 1362(if)S
- ((sp1->s_dev)462 1488 A
- 1992(==)S
- (dev))168 2118 A
- 2328({)S
- 4500 V
- (25270)210 648 A
- 1698(sp)S
- 1824(=)S
- (sp1;)168 1908 A
- 4590 V
- (25271)210 648 A
- (break;)252 1698 A
- 4680 V
- (25272)210 648 A
- 1362(})S
- 4770 V
- (25273)210 648 A
- 1110(})S
- 4860 V
- (25274)210 648 A
- 4950 V
- (25275)210 648 A
- 1110(/*)S
- (Sync)168 1236 A
- (the)126 1446 A
- (disk,)210 1614 A
- (and)126 1866 A
- (invalidate)420 2034 A
- (cache.)252 2496 A
- 2790(*/)S
- 5040 V
- (25276)210 648 A
- ((void))252 1110 A
- (do_sync();)420 1404 A
- 2370(/*)S
- (force)210 2496 A
- (any)126 2748 A
- (cached)252 2916 A
- (blocks)252 3210 A
- (out)126 3504 A
- 3672(of)S
- (memory)252 3798 A
- 4092(*/)S
- 5130 V
- (25277)210 648 A
- (invalidate(dev);)672 1110 A
- 2370(/*)S
- (invalidate)420 2496 A
- (cache)210 2958 A
- (entries)294 3210 A
- (for)126 3546 A
- (this)168 3714 A
- (dev)126 3924 A
- 4092(*/)S
- 5220 V
- (25278)210 648 A
- 1110(if)S
- ((sp)126 1236 A
- 1404(==)S
- (NIL_SUPER))420 1530 A
- (return(EINVAL);)630 1992 A
- 5310 V
- (25279)210 648 A
- 5400 V
- (25280)210 648 A
- (major)210 1110 A
- 1362(=)S
- ((dev)168 1446 A
- 1656(>>)S
- (MAJOR))252 1782 A
- 2076(&)S
- (BYTE;)210 2160 A
- 2706(/*)S
- (major)210 2832 A
- (device)252 3084 A
- 3378(nr)S
- 3504(*/)S
- 5490 V
- (25281)210 648 A
- (task)168 1110 A
- 1320(=)S
- (dmap[major].dmap_task;)924 1404 A
- 2370(/*)S
- (device)252 2496 A
- (task)168 2790 A
- 3000(nr)S
- 3126(*/)S
- 5580 V
- (25282)210 648 A
- (dev_mess.m_type)630 1110 A
- 1782(=)S
- (DEV_CLOSE;)420 1866 A
- 2706(/*)S
- (distinguish)462 2832 A
- (from)168 3336 A
- (open)168 3546 A
- 3756(*/)S
- 5670 V
- (25283)210 648 A
- (dev_mess.DEVICE)630 1110 A
- 1782(=)S
- (dev;)168 1866 A
- 5760 V
- (25284)210 648 A
- ((*dmap[major].dmap_close)(task,)1302 1110 A
- (&dev_mess);)462 2454 A
- 5850 V
- (25285)210 648 A
- 5940 V
- (25286)210 648 A
- 1110(/*)S
- (Finish)252 1236 A
- (off)126 1530 A
- (the)126 1698 A
- (unmount.)336 1866 A
- 2244(*/)S
- 6030 V
- (25287)210 648 A
- (sp->s_imount->i_mount)882 1110 A
- 2034(=)S
- (NO_MOUNT;)378 2118 A
- 2706(/*)S
- (inode)210 2832 A
- (returns)294 3084 A
- 3420(to)S
- (normal)252 3546 A
- 3840(*/)S
- 6120 V
- (25288)210 648 A
- (put_inode(sp->s_imount);)1008 1110 A
- 2370(/*)S
- (release)294 2496 A
- (the)126 2832 A
- (inode)210 3000 A
- (mounted)294 3252 A
- 3588(on)S
- 3714(*/)S
- 6210 V
- (25289)210 648 A
- (put_inode(sp->s_isup);)924 1110 A
- 2370(/*)S
- (release)294 2496 A
- (the)126 2832 A
- (root)168 3000 A
- (inode)210 3210 A
- 3462(of)S
- (the)126 3588 A
- (mounted)294 3756 A
- 4092(fs)S
- 4218(*/)S
- 8418 V
- EP
- %%Page: 349 349
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 10 R
- 648(MINIX)S
- 976(SOURCE)S
- 1399(CODE)S
- 11 R
- 2105(File:)S
- (src/fs/mount.c)632 2338 A
- 12 B
- (349)180 4248 A
- 900 V
- 7 LST
- (25290)210 648 A
- (sp->s_imount)504 1110 A
- 1656(=)S
- (NIL_INODE;)420 1740 A
- 990 V
- (25291)210 648 A
- (sp->s_dev)378 1110 A
- 1530(=)S
- (NO_DEV;)294 1614 A
- 1080 V
- (25292)210 648 A
- (return(OK);)462 1110 A
- 1170 V
- (25293)210 648 A
- 1026(})S
- 1440 V
- (25296)210 648 A
- (/*===========================================================================*)3276 1026 A
- 1530 V
- (25297)210 648 A
- 1068(*)S
- (name_to_dev)462 2370 A
- 4260(*)S
- 1620 V
- (25298)210 648 A
- (*===========================================================================*/)3276 1068 A
- 1710 V
- (25299)210 648 A
- (PRIVATE)294 1026 A
- (dev_t)210 1362 A
- (name_to_dev(path))714 1614 A
- 1800 V
- (25300)210 648 A
- (char)168 1026 A
- (*path;)252 1236 A
- 2370(/*)S
- (pointer)294 2496 A
- 2832(to)S
- (path)168 2958 A
- (name)168 3168 A
- 3378(*/)S
- 1890 V
- (25301)210 648 A
- 1026({)S
- 1980 V
- (25302)210 648 A
- 1026(/*)S
- (Convert)294 1152 A
- (the)126 1488 A
- (block)210 1656 A
- (special)294 1908 A
- (file)168 2244 A
- ('path')252 2454 A
- 2748(to)S
- 2874(a)S
- (device)252 2958 A
- (number.)294 3252 A
- 3630(If)S
- ('path')252 3756 A
- 2070 V
- (25303)210 648 A
- 1068(*)S
- 1152(is)S
- (not)126 1278 A
- 1446(a)S
- (block)210 1530 A
- (special)294 1782 A
- (file,)210 2118 A
- (return)252 2370 A
- (error)210 2664 A
- (code)168 2916 A
- 3126(in)S
- ('err_code'.)462 3252 A
- 2160 V
- (25304)210 648 A
- 1068(*/)S
- 2250 V
- (25305)210 648 A
- 2340 V
- (25306)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (inode)210 1782 A
- (*rip;)210 2034 A
- 2430 V
- (25307)210 648 A
- (register)336 1110 A
- (dev_t)210 1488 A
- (dev;)168 1740 A
- 2520 V
- (25308)210 648 A
- 2610 V
- (25309)210 648 A
- 1110(/*)S
- 1236(If)S
- ('path')252 1362 A
- (can't)210 1656 A
- 1908(be)S
- (opened,)294 2034 A
- (give)168 2370 A
- 2580(up)S
- (immediately.)504 2706 A
- 3252(*/)S
- 2700 V
- (25310)210 648 A
- 1110(if)S
- 1236(()S
- ((rip)168 1320 A
- 1530(=)S
- (eat_path(path)))630 1614 A
- 2286(==)S
- (NIL_INODE))420 2412 A
- (return(NO_DEV);)630 2874 A
- 2790 V
- (25311)210 648 A
- 2880 V
- (25312)210 648 A
- 1110(/*)S
- 1236(If)S
- ('path')252 1362 A
- 1656(is)S
- (not)126 1782 A
- 1950(a)S
- (block)210 2034 A
- (special)294 2286 A
- (file,)210 2622 A
- (return)252 2874 A
- (error.)252 3168 A
- 3462(*/)S
- 2970 V
- (25313)210 648 A
- 1110(if)S
- 1236(()S
- ((rip->i_mode)504 1320 A
- 1866(&)S
- (I_TYPE))294 1950 A
- 2286(!=)S
- (I_BLOCK_SPECIAL))672 2412 A
- 3126({)S
- 3060 V
- (25314)210 648 A
- (err_code)336 1362 A
- 1740(=)S
- (ENOTBLK;)336 1824 A
- 3150 V
- (25315)210 648 A
- (put_inode(rip);)630 1362 A
- 3240 V
- (25316)210 648 A
- (return(NO_DEV);)630 1362 A
- 3330 V
- (25317)210 648 A
- 1110(})S
- 3420 V
- (25318)210 648 A
- 3510 V
- (25319)210 648 A
- 1110(/*)S
- (Extract)294 1236 A
- (the)126 1572 A
- (device)252 1740 A
- (number.)294 2034 A
- 2370(*/)S
- 3600 V
- (25320)210 648 A
- (dev)126 1110 A
- 1278(=)S
- ((dev_t))294 1362 A
- (rip->i_zone[0];)630 1698 A
- 3690 V
- (25321)210 648 A
- (put_inode(rip);)630 1110 A
- 3780 V
- (25322)210 648 A
- (return(dev);)504 1110 A
- 3870 V
- (25323)210 648 A
- 1026(})S
- 4140 V
- (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
- 4230 V
- (src/fs/link.c)546 2034 A
- 4320 V
- (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
- 4500 V
- (25400)210 648 A
- 1026(/*)S
- (This)168 1152 A
- (file)168 1362 A
- (handles)294 1572 A
- (the)126 1908 A
- (LINK)168 2076 A
- (and)126 2286 A
- (UNLINK)252 2454 A
- (system)252 2748 A
- (calls.)252 3042 A
- 3378(It)S
- (also)168 3504 A
- (deals)210 3714 A
- (with)168 3966 A
- 4590 V
- (25401)210 648 A
- 1068(*)S
- (deallocating)504 1152 A
- (the)126 1698 A
- (storage)294 1866 A
- (used)168 2202 A
- 2412(by)S
- 2538(a)S
- (file)168 2622 A
- (when)168 2832 A
- (the)126 3042 A
- (last)168 3210 A
- (UNLINK)252 3420 A
- 3714(is)S
- (done)168 3840 A
- 4050(to)S
- 4176(a)S
- 4680 V
- (25402)210 648 A
- 1068(*)S
- (file)168 1152 A
- (and)126 1362 A
- (the)126 1530 A
- (blocks)252 1698 A
- (must)168 1992 A
- 2202(be)S
- (returned)336 2328 A
- 2706(to)S
- (the)126 2832 A
- (free)168 3000 A
- (block)210 3210 A
- (pool.)210 3462 A
- 4770 V
- (25403)210 648 A
- 1068(*)S
- 4860 V
- (25404)210 648 A
- 1068(*)S
- (The)126 1152 A
- (entry)210 1320 A
- (points)252 1572 A
- (into)168 1866 A
- (this)168 2076 A
- (file)168 2286 A
- (are)126 2496 A
- 4950 V
- (25405)210 648 A
- 1068(*)S
- (do_link:)336 1236 A
- (perform)294 1698 A
- (the)126 2034 A
- (LINK)168 2202 A
- (system)252 2412 A
- (call)168 2706 A
- 5040 V
- (25406)210 648 A
- 1068(*)S
- (do_unlink:)420 1236 A
- (perform)294 1698 A
- (the)126 2034 A
- (UNLINK)252 2202 A
- (and)126 2496 A
- (RMDIR)210 2664 A
- (system)252 2916 A
- (calls)210 3210 A
- 5130 V
- (25407)210 648 A
- 1068(*)S
- (do_rename:)420 1236 A
- (perform)294 1698 A
- (the)126 2034 A
- (RENAME)252 2202 A
- (system)252 2496 A
- (call)168 2790 A
- 5220 V
- (25408)210 648 A
- 1068(*)S
- (truncate:)378 1236 A
- (release)294 1698 A
- (all)126 2034 A
- (the)126 2202 A
- (blocks)252 2370 A
- (associated)420 2664 A
- (with)168 3126 A
- 3336(an)S
- (inode)210 3462 A
- 5310 V
- (25409)210 648 A
- 1068(*/)S
- 5400 V
- (25410)210 648 A
- 5490 V
- (25411)210 648 A
- (#include)336 1026 A
- ("fs.h")252 1404 A
- 5580 V
- (25412)210 648 A
- (#include)336 1026 A
- (<sys/stat.h>)504 1404 A
- 5670 V
- (25413)210 648 A
- (#include)336 1026 A
- (<string.h>)420 1404 A
- 5760 V
- (25414)210 648 A
- (#include)336 1026 A
- (<minix/callnr.h>)672 1404 A
- 5850 V
- (25415)210 648 A
- (#include)336 1026 A
- ("buf.h")294 1404 A
- 5940 V
- (25416)210 648 A
- (#include)336 1026 A
- ("file.h")336 1404 A
- 6030 V
- (25417)210 648 A
- (#include)336 1026 A
- ("fproc.h")378 1404 A
- 6120 V
- (25418)210 648 A
- (#include)336 1026 A
- ("inode.h")378 1404 A
- 6210 V
- (25419)210 648 A
- (#include)336 1026 A
- ("param.h")378 1404 A
- 8418 V
- EP
- %%Page: 350 350
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 12 B
- (350)180 648 A
- 11 R
- 2160(File:)S
- (src/fs/link.c)522 2393 A
- 10 R
- 3402(MINIX)S
- 3730(SOURCE)S
- 4153(CODE)S
- 900 V
- 7 LST
- (25420)210 648 A
- (#include)336 1026 A
- ("super.h")378 1404 A
- 990 V
- (25421)210 648 A
- 1080 V
- (25422)210 648 A
- (#define)294 1026 A
- (SAME)168 1362 A
- (1000)168 1572 A
- 1170 V
- (25423)210 648 A
- 1260 V
- (25424)210 648 A
- (FORWARD)294 1026 A
- (_PROTOTYPE()462 1362 A
- (int)126 1866 A
- (remove_dir,)462 2034 A
- ((struct)294 2538 A
- (inode)210 2874 A
- (*rldirp,)336 3126 A
- (struct)252 3504 A
- (inode)210 3798 A
- (*rip,)210 4050 A
- 1350 V
- (25425)210 648 A
- (char)168 2034 A
- (dir_name[NAME_MAX]))798 2244 A
- 4050();)S
- 1440 V
- (25426)210 648 A
- 1530 V
- (25427)210 648 A
- (FORWARD)294 1026 A
- (_PROTOTYPE()462 1362 A
- (int)126 1866 A
- (unlink_file,)504 2034 A
- ((struct)294 2580 A
- (inode)210 2916 A
- (*dirp,)252 3168 A
- (struct)252 3462 A
- (inode)210 3756 A
- (*rip,)210 4008 A
- 1620 V
- (25428)210 648 A
- (char)168 2034 A
- (file_name[NAME_MAX]))840 2244 A
- 4050();)S
- 1710 V
- (25429)210 648 A
- 1800 V
- (25430)210 648 A
- 1890 V
- (25431)210 648 A
- (/*===========================================================================*)3276 1026 A
- 1980 V
- (25432)210 648 A
- 1068(*)S
- (do_link)294 2370 A
- 4260(*)S
- 2070 V
- (25433)210 648 A
- (*===========================================================================*/)3276 1068 A
- 2160 V
- (25434)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (do_link())378 1488 A
- 2250 V
- (25435)210 648 A
- 1026({)S
- 2340 V
- (25436)210 648 A
- 1026(/*)S
- (Perform)294 1152 A
- (the)126 1488 A
- (link(name1,)462 1656 A
- (name2))252 2160 A
- (system)252 2454 A
- (call.)210 2748 A
- 3000(*/)S
- 2430 V
- (25437)210 648 A
- 2520 V
- (25438)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (inode)210 1782 A
- (*ip,)168 2034 A
- (*rip;)210 2244 A
- 2610 V
- (25439)210 648 A
- (register)336 1110 A
- (int)126 1488 A
- 1656(r;)S
- 2700 V
- (25440)210 648 A
- (char)168 1110 A
- (string[NAME_MAX];)714 1320 A
- 2790 V
- (25441)210 648 A
- (struct)252 1110 A
- (inode)210 1404 A
- (*new_ip;)336 1656 A
- 2880 V
- (25442)210 648 A
- 2970 V
- (25443)210 648 A
- 1110(/*)S
- (See)126 1236 A
- 1404(if)S
- ('name')252 1530 A
- ((file)210 1824 A
- 2076(to)S
- 2202(be)S
- (linked))294 2328 A
- (exists.)294 2664 A
- 3000(*/)S
- 3060 V
- (25444)210 648 A
- 1110(if)S
- ((fetch_name(name1,)756 1236 A
- (name1_length,)546 2034 A
- (M1))126 2622 A
- 2790(!=)S
- (OK))126 2916 A
- (return(err_code);)714 3084 A
- 3150 V
- (25445)210 648 A
- 1110(if)S
- 1236(()S
- ((rip)168 1320 A
- 1530(=)S
- (eat_path(user_path)))840 1614 A
- 2496(==)S
- (NIL_INODE))420 2622 A
- (return(err_code);)714 3084 A
- 3240 V
- (25446)210 648 A
- 3330 V
- (25447)210 648 A
- 1110(/*)S
- (Check)210 1236 A
- 1488(to)S
- (see)126 1614 A
- 1782(if)S
- (the)126 1908 A
- (file)168 2076 A
- (has)126 2286 A
- (maximum)294 2454 A
- (number)252 2790 A
- 3084(of)S
- (links)210 3210 A
- (already.)336 3462 A
- 3840(*/)S
- 3420 V
- (25448)210 648 A
- 1110(r)S
- 1194(=)S
- (OK;)126 1278 A
- 3510 V
- (25449)210 648 A
- 1110(if)S
- 1236(()S
- ((rip->i_nlinks)588 1320 A
- 1950(&)S
- (BYTE))210 2034 A
- 2286(>=)S
- (LINK_MAX))378 2412 A
- 2832(r)S
- 2916(=)S
- (EMLINK;)294 3000 A
- 3600 V
- (25450)210 648 A
- 3690 V
- (25451)210 648 A
- 1110(/*)S
- (Only)168 1236 A
- (super_user)420 1446 A
- (may)126 1908 A
- (link)168 2076 A
- 2286(to)S
- (directories.)504 2412 A
- 2958(*/)S
- 3780 V
- (25452)210 648 A
- 1110(if)S
- 1236((r)S
- 1362(==)S
- (OK))126 1488 A
- 3870 V
- (25453)210 648 A
- 1362(if)S
- 1488(()S
- ((rip->i_mode)504 1572 A
- 2118(&)S
- (I_TYPE))294 2202 A
- 2538(==)S
- (I_DIRECTORY)462 2664 A
- 3168(&&)S
- (!super_user))504 3294 A
- 3840(r)S
- 3924(=)S
- (EPERM;)252 4008 A
- 3960 V
- (25454)210 648 A
- 4050 V
- (25455)210 648 A
- 1110(/*)S
- 1236(If)S
- (error)210 1362 A
- (with)168 1614 A
- ('name',)294 1824 A
- (return)252 2160 A
- (the)126 2454 A
- (inode.)252 2622 A
- 2916(*/)S
- 4140 V
- (25456)210 648 A
- 1110(if)S
- 1236((r)S
- 1362(!=)S
- (OK))126 1488 A
- 1656({)S
- 4230 V
- (25457)210 648 A
- (put_inode(rip);)630 1362 A
- 4320 V
- (25458)210 648 A
- (return(r);)420 1362 A
- 4410 V
- (25459)210 648 A
- 1110(})S
- 4500 V
- (25460)210 648 A
- 4590 V
- (25461)210 648 A
- 1110(/*)S
- (Does)168 1236 A
- (the)126 1446 A
- (final)210 1614 A
- (directory)378 1866 A
- 2286(of)S
- ('name2')294 2412 A
- (exist?)252 2748 A
- 3042(*/)S
- 4680 V
- (25462)210 648 A
- 1110(if)S
- ((fetch_name(name2,)756 1236 A
- (name2_length,)546 2034 A
- (M1))126 2622 A
- 2790(!=)S
- (OK))126 2916 A
- 3084({)S
- 4770 V
- (25463)210 648 A
- (put_inode(rip);)630 1362 A
- 4860 V
- (25464)210 648 A
- (return(err_code);)714 1362 A
- 4950 V
- (25465)210 648 A
- 1110(})S
- 5040 V
- (25466)210 648 A
- 1110(if)S
- 1236(()S
- ((ip)126 1320 A
- 1488(=)S
- (last_dir(user_path,)798 1572 A
- (string)))336 2412 A
- 2790(==)S
- (NIL_INODE))420 2916 A
- 3378(r)S
- 3462(=)S
- (err_code;)378 3546 A
- 5130 V
- (25467)210 648 A
- 5220 V
- (25468)210 648 A
- 1110(/*)S
- 1236(If)S
- ('name2')294 1362 A
- (exists)252 1698 A
- 1992(in)S
- (full)168 2118 A
- ((even)210 2328 A
- 2580(if)S
- 2706(no)S
- (space))252 2832 A
- (set)126 3126 A
- ('r')126 3294 A
- 3462(to)S
- (error.)252 3588 A
- 3882(*/)S
- 5310 V
- (25469)210 648 A
- 1110(if)S
- 1236((r)S
- 1362(==)S
- (OK))126 1488 A
- 1656({)S
- 5400 V
- (25470)210 648 A
- 1362(if)S
- 1488(()S
- ((new_ip)294 1572 A
- 1908(=)S
- (advance(ip,)462 1992 A
- (string)))336 2496 A
- 2874(==)S
- (NIL_INODE))420 3000 A
- 3462({)S
- 5490 V
- (25471)210 648 A
- 1698(r)S
- 1782(=)S
- (err_code;)378 1866 A
- 5580 V
- (25472)210 648 A
- 1698(if)S
- 1824((r)S
- 1950(==)S
- (ENOENT))294 2076 A
- 2412(r)S
- 2496(=)S
- (OK;)126 2580 A
- 5670 V
- (25473)210 648 A
- 1362(})S
- (else)168 1446 A
- 1656({)S
- 5760 V
- (25474)210 648 A
- (put_inode(new_ip);)756 1698 A
- 5850 V
- (25475)210 648 A
- 1698(r)S
- 1782(=)S
- (EEXIST;)294 1866 A
- 5940 V
- (25476)210 648 A
- 1362(})S
- 6030 V
- (25477)210 648 A
- 1110(})S
- 6120 V
- (25478)210 648 A
- 6210 V
- (25479)210 648 A
- 1110(/*)S
- (Check)210 1236 A
- (for)126 1488 A
- (links)210 1656 A
- (across)252 1908 A
- (devices.)336 2202 A
- 2580(*/)S
- 8418 V
- EP
- %%Page: 351 351
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 10 R
- 648(MINIX)S
- 976(SOURCE)S
- 1399(CODE)S
- 11 R
- 2160(File:)S
- (src/fs/link.c)522 2393 A
- 12 B
- (351)180 4248 A
- 900 V
- 7 LST
- (25480)210 648 A
- 1110(if)S
- 1236((r)S
- 1362(==)S
- (OK))126 1488 A
- 990 V
- (25481)210 648 A
- 1362(if)S
- ((rip->i_dev)462 1488 A
- 1992(!=)S
- (ip->i_dev))420 2118 A
- 2580(r)S
- 2664(=)S
- (EXDEV;)252 2748 A
- 1080 V
- (25482)210 648 A
- 1170 V
- (25483)210 648 A
- 1110(/*)S
- (Try)126 1236 A
- 1404(to)S
- (link.)210 1530 A
- 1782(*/)S
- 1260 V
- (25484)210 648 A
- 1110(if)S
- 1236((r)S
- 1362(==)S
- (OK))126 1488 A
- 1350 V
- (25485)210 648 A
- 1362(r)S
- 1446(=)S
- (search_dir(ip,)588 1530 A
- (string,)294 2160 A
- (&rip->i_num,)504 2496 A
- (ENTER);)294 3042 A
- 1440 V
- (25486)210 648 A
- 1530 V
- (25487)210 648 A
- 1110(/*)S
- 1236(If)S
- (success,)336 1362 A
- (register)336 1740 A
- (the)126 2118 A
- (linking.)336 2286 A
- 2664(*/)S
- 1620 V
- (25488)210 648 A
- 1110(if)S
- 1236((r)S
- 1362(==)S
- (OK))126 1488 A
- 1656({)S
- 1710 V
- (25489)210 648 A
- (rip->i_nlinks++;)672 1362 A
- 1800 V
- (25490)210 648 A
- (rip->i_update)546 1362 A
- 1950(|=)S
- (CTIME;)252 2076 A
- 1890 V
- (25491)210 648 A
- (rip->i_dirt)462 1362 A
- 1866(=)S
- (DIRTY;)252 1950 A
- 1980 V
- (25492)210 648 A
- 1110(})S
- 2070 V
- (25493)210 648 A
- 2160 V
- (25494)210 648 A
- 1110(/*)S
- (Done.)210 1236 A
- (Release)294 1530 A
- (both)168 1866 A
- (inodes.)294 2076 A
- 2412(*/)S
- 2250 V
- (25495)210 648 A
- (put_inode(rip);)630 1110 A
- 2340 V
- (25496)210 648 A
- (put_inode(ip);)588 1110 A
- 2430 V
- (25497)210 648 A
- (return(r);)420 1110 A
- 2520 V
- (25498)210 648 A
- 1026(})S
- 2790 V
- (25501)210 648 A
- (/*===========================================================================*)3276 1026 A
- 2880 V
- (25502)210 648 A
- 1068(*)S
- (do_unlink)378 2370 A
- 4260(*)S
- 2970 V
- (25503)210 648 A
- (*===========================================================================*/)3276 1068 A
- 3060 V
- (25504)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (do_unlink())462 1488 A
- 3150 V
- (25505)210 648 A
- 1026({)S
- 3240 V
- (25506)210 648 A
- 1026(/*)S
- (Perform)294 1152 A
- (the)126 1488 A
- (unlink(name))504 1656 A
- 2202(or)S
- (rmdir(name))462 2328 A
- (system)252 2832 A
- (call.)210 3126 A
- (The)126 3378 A
- (code)168 3546 A
- (for)126 3756 A
- (these)210 3924 A
- (two)126 4176 A
- 3330 V
- (25507)210 648 A
- 1068(*)S
- 1152(is)S
- (almost)252 1278 A
- (the)126 1572 A
- (same.)210 1740 A
- (They)168 2034 A
- (differ)252 2244 A
- (only)168 2538 A
- 2748(in)S
- (some)168 2874 A
- (condition)378 3084 A
- (testing.)336 3504 A
- (Unlink())336 3924 A
- 3420 V
- (25508)210 648 A
- 1068(*)S
- (may)126 1152 A
- 1320(be)S
- (used)168 1446 A
- 1656(by)S
- (the)126 1782 A
- (superuser)378 1950 A
- 2370(to)S
- 2496(do)S
- (dangerous)378 2622 A
- (things;)294 3042 A
- (rmdir())294 3378 A
- (may)126 3714 A
- (not.)168 3882 A
- 3510 V
- (25509)210 648 A
- 1068(*/)S
- 3600 V
- (25510)210 648 A
- 3690 V
- (25511)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (inode)210 1782 A
- (*rip;)210 2034 A
- 3780 V
- (25512)210 648 A
- (struct)252 1110 A
- (inode)210 1404 A
- (*rldirp;)336 1656 A
- 3870 V
- (25513)210 648 A
- (int)126 1110 A
- 1278(r;)S
- 3960 V
- (25514)210 648 A
- (char)168 1110 A
- (string[NAME_MAX];)714 1320 A
- 4050 V
- (25515)210 648 A
- 4140 V
- (25516)210 648 A
- 1110(/*)S
- (Get)126 1236 A
- (the)126 1404 A
- (last)168 1572 A
- (directory)378 1782 A
- 2202(in)S
- (the)126 2328 A
- (path.)210 2496 A
- 2748(*/)S
- 4230 V
- (25517)210 648 A
- 1110(if)S
- ((fetch_name(name,)714 1236 A
- (name_length,)504 1992 A
- (M3))126 2538 A
- 2706(!=)S
- (OK))126 2832 A
- (return(err_code);)714 3000 A
- 4320 V
- (25518)210 648 A
- 1110(if)S
- 1236(()S
- ((rldirp)294 1320 A
- 1656(=)S
- (last_dir(user_path,)798 1740 A
- (string)))336 2580 A
- 2958(==)S
- (NIL_INODE))420 3084 A
- 4410 V
- (25519)210 648 A
- (return(err_code);)714 1362 A
- 4500 V
- (25520)210 648 A
- 4590 V
- (25521)210 648 A
- 1110(/*)S
- (The)126 1236 A
- (last)168 1404 A
- (directory)378 1614 A
- (exists.)294 2034 A
- (Does)168 2412 A
- (the)126 2622 A
- (file)168 2790 A
- (also)168 3000 A
- (exist?)252 3210 A
- 3504(*/)S
- 4680 V
- (25522)210 648 A
- 1110(r)S
- 1194(=)S
- (OK;)126 1278 A
- 4770 V
- (25523)210 648 A
- 1110(if)S
- 1236(()S
- ((rip)168 1320 A
- 1530(=)S
- (advance(rldirp,)630 1614 A
- (string)))336 2286 A
- 2664(==)S
- (NIL_INODE))420 2790 A
- 3252(r)S
- 3336(=)S
- (err_code;)378 3420 A
- 4860 V
- (25524)210 648 A
- 4950 V
- (25525)210 648 A
- 1110(/*)S
- 1236(If)S
- (error,)252 1362 A
- (return)252 1656 A
- (inode.)252 1950 A
- 2244(*/)S
- 5040 V
- (25526)210 648 A
- 1110(if)S
- 1236((r)S
- 1362(!=)S
- (OK))126 1488 A
- 1656({)S
- 5130 V
- (25527)210 648 A
- (put_inode(rldirp);)756 1362 A
- 5220 V
- (25528)210 648 A
- (return(r);)420 1362 A
- 5310 V
- (25529)210 648 A
- 1110(})S
- 5400 V
- (25530)210 648 A
- 5490 V
- (25531)210 648 A
- 1110(/*)S
- 1236(Do)S
- (not)126 1362 A
- (remove)252 1530 A
- 1824(a)S
- (mount)210 1908 A
- (point.)252 2160 A
- 2454(*/)S
- 5580 V
- (25532)210 648 A
- 1110(if)S
- ((rip->i_num)462 1236 A
- 1740(==)S
- (ROOT_INODE))462 1866 A
- 2370({)S
- 5670 V
- (25533)210 648 A
- (put_inode(rldirp);)756 1362 A
- 5760 V
- (25534)210 648 A
- (put_inode(rip);)630 1362 A
- 5850 V
- (25535)210 648 A
- (return(EBUSY);)588 1362 A
- 5940 V
- (25536)210 648 A
- 1110(})S
- 6030 V
- (25537)210 648 A
- 6120 V
- (25538)210 648 A
- 1110(/*)S
- (Now)126 1236 A
- (test)168 1404 A
- 1614(if)S
- (the)126 1740 A
- (call)168 1908 A
- 2118(is)S
- (allowed,)336 2244 A
- (separately)420 2622 A
- (for)126 3084 A
- (unlink())336 3252 A
- (and)126 3630 A
- (rmdir().)336 3798 A
- 4176(*/)S
- 6210 V
- (25539)210 648 A
- 1110(if)S
- ((fs_call)336 1236 A
- 1614(==)S
- (UNLINK))294 1740 A
- 2076({)S
- 8418 V
- EP
- %%Page: 352 352
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 12 B
- (352)180 648 A
- 11 R
- 2160(File:)S
- (src/fs/link.c)522 2393 A
- 10 R
- 3402(MINIX)S
- 3730(SOURCE)S
- 4153(CODE)S
- 900 V
- 7 LST
- (25540)210 648 A
- 1362(/*)S
- (Only)168 1488 A
- (the)126 1698 A
- 1866(su)S
- (may)126 1992 A
- (unlink)252 2160 A
- (directories,)504 2454 A
- (but)126 3000 A
- (the)126 3168 A
- 3336(su)S
- (can)126 3462 A
- (unlink)252 3630 A
- (any)126 3924 A
- (dir.*/)252 4092 A
- 990 V
- (25541)210 648 A
- 1362(if)S
- 1488(()S
- ((rip->i_mode)504 1572 A
- 2118(&)S
- (I_TYPE))294 2202 A
- 2538(==)S
- (I_DIRECTORY)462 2664 A
- 3168(&&)S
- (!super_user))504 3294 A
- 3840(r)S
- 3924(=)S
- (EPERM;)252 4008 A
- 1080 V
- (25542)210 648 A
- 1170 V
- (25543)210 648 A
- 1362(/*)S
- (Don't)210 1488 A
- (unlink)252 1740 A
- 2034(a)S
- (file)168 2118 A
- 2328(if)S
- 2454(it)S
- 2580(is)S
- (the)126 2706 A
- (root)168 2874 A
- 3084(of)S
- 3210(a)S
- (mounted)294 3294 A
- (file)168 3630 A
- (system.)294 3840 A
- 4176(*/)S
- 1260 V
- (25544)210 648 A
- 1362(if)S
- ((rip->i_num)462 1488 A
- 1992(==)S
- (ROOT_INODE))462 2118 A
- 2622(r)S
- 2706(=)S
- (EBUSY;)252 2790 A
- 1350 V
- (25545)210 648 A
- 1440 V
- (25546)210 648 A
- 1362(/*)S
- (Actually)336 1488 A
- (try)126 1866 A
- 2034(to)S
- (unlink)252 2160 A
- (the)126 2454 A
- (file;)210 2622 A
- (fails)210 2874 A
- 3126(if)S
- (parent)252 3252 A
- 3546(is)S
- (mode)168 3672 A
- 3882(0)S
- (etc.)168 3966 A
- 4176(*/)S
- 1530 V
- (25547)210 648 A
- 1362(if)S
- 1488((r)S
- 1614(==)S
- (OK))126 1740 A
- 1908(r)S
- 1992(=)S
- (unlink_file(rldirp,)798 2076 A
- (rip,)168 2916 A
- (string);)336 3126 A
- 1620 V
- (25548)210 648 A
- 1710 V
- (25549)210 648 A
- 1110(})S
- (else)168 1194 A
- 1404({)S
- 1800 V
- (25550)210 648 A
- 1362(r)S
- 1446(=)S
- (remove_dir(rldirp,)756 1530 A
- (rip,)168 2328 A
- (string);)336 2538 A
- 2916(/*)S
- (call)168 3042 A
- 3252(is)S
- (RMDIR)210 3378 A
- 3630(*/)S
- 1890 V
- (25551)210 648 A
- 1110(})S
- 1980 V
- (25552)210 648 A
- 2070 V
- (25553)210 648 A
- 1110(/*)S
- 1236(If)S
- (unlink)252 1362 A
- (was)126 1656 A
- (possible,)378 1824 A
- 2244(it)S
- (has)126 2370 A
- (been)168 2538 A
- (done,)210 2748 A
- (otherwise)378 3000 A
- 3420(it)S
- (has)126 3546 A
- (not.)168 3714 A
- 3924(*/)S
- 2160 V
- (25554)210 648 A
- (put_inode(rip);)630 1110 A
- 2250 V
- (25555)210 648 A
- (put_inode(rldirp);)756 1110 A
- 2340 V
- (25556)210 648 A
- (return(r);)420 1110 A
- 2430 V
- (25557)210 648 A
- 1026(})S
- 2700 V
- (25560)210 648 A
- (/*===========================================================================*)3276 1026 A
- 2790 V
- (25561)210 648 A
- 1068(*)S
- (do_rename)378 2370 A
- 4260(*)S
- 2880 V
- (25562)210 648 A
- (*===========================================================================*/)3276 1068 A
- 2970 V
- (25563)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (do_rename())462 1488 A
- 3060 V
- (25564)210 648 A
- 1026({)S
- 3150 V
- (25565)210 648 A
- 1026(/*)S
- (Perform)294 1152 A
- (the)126 1488 A
- (rename(name1,)546 1656 A
- (name2))252 2244 A
- (system)252 2538 A
- (call.)210 2832 A
- 3084(*/)S
- 3240 V
- (25566)210 648 A
- 3330 V
- (25567)210 648 A
- (struct)252 1110 A
- (inode)210 1404 A
- (*old_dirp,)420 1656 A
- (*old_ip;)336 2118 A
- 2706(/*)S
- (ptrs)168 2832 A
- 3042(to)S
- (old)126 3168 A
- (dir,)168 3336 A
- (file)168 3546 A
- (inodes)252 3756 A
- 4050(*/)S
- 3420 V
- (25568)210 648 A
- (struct)252 1110 A
- (inode)210 1404 A
- (*new_dirp,)420 1656 A
- (*new_ip;)336 2118 A
- 2706(/*)S
- (ptrs)168 2832 A
- 3042(to)S
- (new)126 3168 A
- (dir,)168 3336 A
- (file)168 3546 A
- (inodes)252 3756 A
- 4050(*/)S
- 3510 V
- (25569)210 648 A
- (struct)252 1110 A
- (inode)210 1404 A
- (*new_superdirp,)630 1656 A
- (*next_new_superdirp;)840 2328 A
- 3600 V
- (25570)210 648 A
- (int)126 1110 A
- 1278(r)S
- 1362(=)S
- (OK;)126 1446 A
- 2706(/*)S
- (error)210 2832 A
- (flag;)210 3084 A
- (initially)378 3336 A
- 3756(no)S
- (error)210 3882 A
- 4134(*/)S
- 3690 V
- (25571)210 648 A
- (int)126 1110 A
- (odir,)210 1278 A
- (ndir;)210 1530 A
- 2706(/*)S
- (TRUE)168 2832 A
- (iff)126 3042 A
- ({old|new})378 3210 A
- (file)168 3630 A
- 3840(is)S
- (dir)126 3966 A
- 4134(*/)S
- 3780 V
- (25572)210 648 A
- (int)126 1110 A
- (same_pdir;)420 1278 A
- 2706(/*)S
- (TRUE)168 2832 A
- (iff)126 3042 A
- (parent)252 3210 A
- (dirs)168 3504 A
- (are)126 3714 A
- (the)126 3882 A
- (same)168 4050 A
- 4260(*/)S
- 3870 V
- (25573)210 648 A
- (char)168 1110 A
- (old_name[NAME_MAX],)798 1320 A
- (new_name[NAME_MAX];)798 2160 A
- 3960 V
- (25574)210 648 A
- (ino_t)210 1110 A
- (numb;)210 1362 A
- 4050 V
- (25575)210 648 A
- (int)126 1110 A
- (r1;)126 1278 A
- 4140 V
- (25576)210 648 A
- 4230 V
- (25577)210 648 A
- 1110(/*)S
- (See)126 1236 A
- 1404(if)S
- ('name1')294 1530 A
- ((existing)378 1866 A
- (file))210 2286 A
- (exists.)294 2538 A
- (Get)126 2916 A
- (dir)126 3084 A
- (and)126 3252 A
- (file)168 3420 A
- (inodes.)294 3630 A
- 3966(*/)S
- 4320 V
- (25578)210 648 A
- 1110(if)S
- ((fetch_name(name1,)756 1236 A
- (name1_length,)546 2034 A
- (M1))126 2622 A
- 2790(!=)S
- (OK))126 2916 A
- (return(err_code);)714 3084 A
- 4410 V
- (25579)210 648 A
- 1110(if)S
- 1236(()S
- ((old_dirp)378 1320 A
- 1740(=)S
- (last_dir(user_path,)798 1824 A
- (old_name))==NIL_INODE))924 2664 A
- (return(err_code);)714 3630 A
- 4500 V
- (25580)210 648 A
- 4590 V
- (25581)210 648 A
- 1110(if)S
- 1236(()S
- ((old_ip)294 1320 A
- 1656(=)S
- (advance(old_dirp,)714 1740 A
- (old_name)))420 2496 A
- 2958(==)S
- (NIL_INODE))420 3084 A
- 3546(r)S
- 3630(=)S
- (err_code;)378 3714 A
- 4680 V
- (25582)210 648 A
- 4770 V
- (25583)210 648 A
- 1110(/*)S
- (See)126 1236 A
- 1404(if)S
- ('name2')294 1530 A
- ((new)168 1866 A
- (name))210 2076 A
- (exists.)294 2328 A
- (Get)126 2706 A
- (dir)126 2874 A
- (and)126 3042 A
- (file)168 3210 A
- (inodes.)294 3420 A
- 3756(*/)S
- 4860 V
- (25584)210 648 A
- 1110(if)S
- ((fetch_name(name2,)756 1236 A
- (name2_length,)546 2034 A
- (M1))126 2622 A
- 2790(!=)S
- (OK))126 2916 A
- 3084(r)S
- 3168(=)S
- (err_code;)378 3252 A
- 4950 V
- (25585)210 648 A
- 1110(if)S
- 1236(()S
- ((new_dirp)378 1320 A
- 1740(=)S
- (last_dir(user_path,)798 1824 A
- (new_name)))420 2664 A
- 3126(==)S
- (NIL_INODE))420 3252 A
- 3714(r)S
- 3798(=)S
- (err_code;)378 3882 A
- 5040 V
- (25586)210 648 A
- (new_ip)252 1110 A
- 1404(=)S
- (advance(new_dirp,)714 1488 A
- (new_name);)420 2244 A
- 2706(/*)S
- (not)126 2832 A
- (required)336 3000 A
- 3378(to)S
- (exist)210 3504 A
- 3756(*/)S
- 5130 V
- (25587)210 648 A
- 5220 V
- (25588)210 648 A
- 1110(if)S
- ((old_ip)294 1236 A
- 1572(!=)S
- (NIL_INODE))420 1698 A
- 5310 V
- (25589)210 648 A
- (odir)168 1362 A
- 1572(=)S
- (((old_ip->i_mode)672 1656 A
- 2370(&)S
- (I_TYPE))294 2454 A
- 2790(==)S
- (I_DIRECTORY);)546 2916 A
- 3546(/*)S
- (TRUE)168 3672 A
- (iff)126 3882 A
- (dir)126 4050 A
- 4218(*/)S
- 5400 V
- (25590)210 648 A
- 5490 V
- (25591)210 648 A
- 1110(/*)S
- 1236(If)S
- 1362(it)S
- 1488(is)S
- (ok,)126 1614 A
- (check)210 1782 A
- (for)126 2034 A
- 2202(a)S
- (variety)294 2286 A
- 2622(of)S
- (possible)336 2748 A
- (errors.)294 3126 A
- 3462(*/)S
- 5580 V
- (25592)210 648 A
- 1110(if)S
- 1236((r)S
- 1362(==)S
- (OK))126 1488 A
- 1656({)S
- 5670 V
- (25593)210 648 A
- (same_pdir)378 1362 A
- 1782(=)S
- ((old_dirp)378 1866 A
- 2286(==)S
- (new_dirp);)420 2412 A
- 5760 V
- (25594)210 648 A
- 5850 V
- (25595)210 648 A
- 1362(/*)S
- (The)126 1488 A
- (old)126 1656 A
- (inode)210 1824 A
- (must)168 2076 A
- (not)126 2286 A
- 2454(be)S
- 2580(a)S
- (superdirectory)588 2664 A
- 3294(of)S
- (the)126 3420 A
- (new)126 3588 A
- (last)168 3756 A
- (dir.)168 3966 A
- 4176(*/)S
- 5940 V
- (25596)210 648 A
- 1362(if)S
- ((odir)210 1488 A
- 1740(&&)S
- (!same_pdir))462 1866 A
- 2370({)S
- 6030 V
- (25597)210 648 A
- (dup_inode(new_superdirp)966 1698 A
- 2706(=)S
- (new_dirp);)420 2790 A
- 6120 V
- (25598)210 648 A
- (while)210 1698 A
- ((TRUE))252 1950 A
- 2244({)S
- 2706(/*)S
- (may)126 2832 A
- (hang)168 3000 A
- 3210(in)S
- 3336(a)S
- (file)168 3420 A
- (system)252 3630 A
- (loop)168 3924 A
- 4134(*/)S
- 6210 V
- (25599)210 648 A
- 2034(if)S
- ((new_superdirp)588 2160 A
- 2790(==)S
- (old_ip))294 2916 A
- 3252({)S
- 8418 V
- EP
- %%Page: 353 353
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 10 R
- 648(MINIX)S
- 976(SOURCE)S
- 1399(CODE)S
- 11 R
- 2160(File:)S
- (src/fs/link.c)522 2393 A
- 12 B
- (353)180 4248 A
- 900 V
- 7 LST
- (25600)210 648 A
- 2370(r)S
- 2454(=)S
- (EINVAL;)294 2538 A
- 990 V
- (25601)210 648 A
- (break;)252 2370 A
- 1080 V
- (25602)210 648 A
- 2034(})S
- 1170 V
- (25603)210 648 A
- (next_new_superdirp)756 2034 A
- 2832(=)S
- (advance(new_superdirp,)924 2916 A
- (dot2);)252 3882 A
- 1260 V
- (25604)210 648 A
- (put_inode(new_superdirp);)1050 2034 A
- 1350 V
- (25605)210 648 A
- 2034(if)S
- ((next_new_superdirp)798 2160 A
- 3000(==)S
- (new_superdirp))588 3126 A
- 1440 V
- (25606)210 648 A
- (break;)252 2370 A
- 2706(/*)S
- (back)168 2832 A
- 3042(at)S
- (system)252 3168 A
- (root)168 3462 A
- (directory)378 3672 A
- 4092(*/)S
- 1530 V
- (25607)210 648 A
- (new_superdirp)546 2034 A
- 2622(=)S
- (next_new_superdirp;)798 2706 A
- 1620 V
- (25608)210 648 A
- 2034(if)S
- ((new_superdirp)588 2160 A
- 2790(==)S
- (NIL_INODE))420 2916 A
- 3378({)S
- 1710 V
- (25609)210 648 A
- 2370(/*)S
- (Missing)294 2496 A
- ("..")168 2832 A
- (entry.)252 3042 A
- (Assume)252 3378 A
- (the)126 3672 A
- (worst.)252 3840 A
- 4134(*/)S
- 1800 V
- (25610)210 648 A
- 2370(r)S
- 2454(=)S
- (EINVAL;)294 2538 A
- 1890 V
- (25611)210 648 A
- (break;)252 2370 A
- 1980 V
- (25612)210 648 A
- 2034(})S
- 2070 V
- (25613)210 648 A
- 1698(})S
- 2160 V
- (25614)210 648 A
- (put_inode(new_superdirp);)1050 1698 A
- 2250 V
- (25615)210 648 A
- 1362(})S
- 2340 V
- (25616)210 648 A
- 2430 V
- (25617)210 648 A
- 1362(/*)S
- (The)126 1488 A
- (old)126 1656 A
- 1824(or)S
- (new)126 1950 A
- (name)168 2118 A
- (must)168 2328 A
- (not)126 2538 A
- 2706(be)S
- 2832(.)S
- 2916(or)S
- 3042(..)S
- 3168(*/)S
- 2520 V
- (25618)210 648 A
- 1362(if)S
- ((strcmp(old_name,)714 1488 A
- (".")==0)294 2244 A
- 2580(||)S
- (strcmp(old_name,)672 2706 A
- ("..")==0)336 3420 A
- 3798(||)S
- 2610 V
- (25619)210 648 A
- (strcmp(new_name,)672 1530 A
- (".")==0)294 2244 A
- 2580(||)S
- (strcmp(new_name,)672 2706 A
- ("..")==0))378 3420 A
- 3840(r)S
- 3924(=)S
- (EINVAL;)294 4008 A
- 2700 V
- (25620)210 648 A
- 2790 V
- (25621)210 648 A
- 1362(/*)S
- (Both)168 1488 A
- (parent)252 1698 A
- (directories)462 1992 A
- (must)168 2496 A
- 2706(be)S
- 2832(on)S
- (the)126 2958 A
- (same)168 3126 A
- (device.)294 3336 A
- 3672(*/)S
- 2880 V
- (25622)210 648 A
- 1362(if)S
- ((old_dirp->i_dev)672 1488 A
- 2202(!=)S
- (new_dirp->i_dev))672 2328 A
- 3042(r)S
- 3126(=)S
- (EXDEV;)252 3210 A
- 2970 V
- (25623)210 648 A
- 3060 V
- (25624)210 648 A
- 1362(/*)S
- (Parent)252 1488 A
- (dirs)168 1782 A
- (must)168 1992 A
- 2202(be)S
- (writable,)378 2328 A
- (searchable)420 2748 A
- (and)126 3210 A
- 3378(on)S
- 3504(a)S
- (writable)336 3588 A
- (device)252 3966 A
- 4260(*/)S
- 3150 V
- (25625)210 648 A
- 1362(if)S
- (((r1)168 1488 A
- 1698(=)S
- (forbidden(old_dirp,)798 1782 A
- (W_BIT)210 2622 A
- 2874(|)S
- (X_BIT)))294 2958 A
- 3294(!=)S
- 3420(OK)S
- 3546(||)S
- 3240 V
- (25626)210 648 A
- ((r1)126 1530 A
- 1698(=)S
- (forbidden(new_dirp,)798 1782 A
- (W_BIT)210 2622 A
- 2874(|)S
- (X_BIT)))294 2958 A
- 3294(!=)S
- (OK))126 3420 A
- 3588(r)S
- 3672(=)S
- (r1;)126 3756 A
- 3330 V
- (25627)210 648 A
- 3420 V
- (25628)210 648 A
- 1362(/*)S
- (Some)168 1488 A
- (tests)210 1698 A
- (apply)210 1950 A
- (only)168 2202 A
- 2412(if)S
- (the)126 2538 A
- (new)126 2706 A
- (path)168 2874 A
- (exists.)294 3084 A
- 3420(*/)S
- 3510 V
- (25629)210 648 A
- 1362(if)S
- ((new_ip)294 1488 A
- 1824(==)S
- (NIL_INODE))420 1950 A
- 2412({)S
- 3600 V
- (25630)210 648 A
- 1698(/*)S
- (don't)210 1824 A
- (rename)252 2076 A
- 2370(a)S
- (file)168 2454 A
- (with)168 2664 A
- 2874(a)S
- (file)168 2958 A
- (system)252 3168 A
- (mounted)294 3462 A
- 3798(on)S
- (it.)126 3924 A
- 4092(*/)S
- 3690 V
- (25631)210 648 A
- 1698(if)S
- ((old_ip->i_dev)588 1824 A
- 2454(!=)S
- (old_dirp->i_dev))672 2580 A
- 3294(r)S
- 3378(=)S
- (EXDEV;)252 3462 A
- 3780 V
- (25632)210 648 A
- 1698(if)S
- ((odir)210 1824 A
- 2076(&&)S
- ((new_dirp->i_nlinks)798 2202 A
- 3042(&)S
- (BYTE))210 3126 A
- 3378(>=)S
- (LINK_MAX)336 3504 A
- 3882(&&)S
- 3870 V
- (25633)210 648 A
- (!same_pdir)420 1866 A
- 2328(&&)S
- 2454(r)S
- 2538(==)S
- (OK))126 2664 A
- 2832(r)S
- 2916(=)S
- (EMLINK;)294 3000 A
- 3960 V
- (25634)210 648 A
- 1362(})S
- (else)168 1446 A
- 1656({)S
- 4050 V
- (25635)210 648 A
- 1698(if)S
- ((old_ip)294 1824 A
- 2160(==)S
- (new_ip))294 2286 A
- 2622(r)S
- 2706(=)S
- (SAME;)210 2790 A
- 3042(/*)S
- (old=new)294 3168 A
- 3504(*/)S
- 4140 V
- (25636)210 648 A
- 4230 V
- (25637)210 648 A
- 1698(/*)S
- (has)126 1824 A
- (the)126 1992 A
- (old)126 2160 A
- (file)168 2328 A
- 2538(or)S
- (new)126 2664 A
- (file)168 2832 A
- 3042(a)S
- (file)168 3126 A
- (system)252 3336 A
- (mounted)294 3630 A
- 3966(on)S
- (it?)126 4092 A
- 4260(*/)S
- 4320 V
- (25638)210 648 A
- 1698(if)S
- ((old_ip->i_dev)588 1824 A
- 2454(!=)S
- (new_ip->i_dev))588 2580 A
- 3210(r)S
- 3294(=)S
- (EXDEV;)252 3378 A
- 4410 V
- (25639)210 648 A
- 4500 V
- (25640)210 648 A
- (ndir)168 1698 A
- 1908(=)S
- (((new_ip->i_mode)672 1992 A
- 2706(&)S
- (I_TYPE))294 2790 A
- 3126(==)S
- (I_DIRECTORY);)546 3252 A
- 3840(/*)S
- (dir)126 3966 A
- 4134(?)S
- 4218(*/)S
- 4590 V
- (25641)210 648 A
- 1698(if)S
- ((odir)210 1824 A
- 2076(==)S
- (TRUE)168 2202 A
- 2412(&&)S
- (ndir)168 2538 A
- 2748(==)S
- (FALSE))252 2874 A
- 3168(r)S
- 3252(=)S
- (ENOTDIR;)336 3336 A
- 4680 V
- (25642)210 648 A
- 1698(if)S
- ((odir)210 1824 A
- 2076(==)S
- (FALSE)210 2202 A
- 2454(&&)S
- (ndir)168 2580 A
- 2790(==)S
- (TRUE))210 2916 A
- 3168(r)S
- 3252(=)S
- (EISDIR;)294 3336 A
- 4770 V
- (25643)210 648 A
- 1362(})S
- 4860 V
- (25644)210 648 A
- 1110(})S
- 4950 V
- (25645)210 648 A
- 5040 V
- (25646)210 648 A
- 1110(/*)S
- 1236(If)S
- 1362(a)S
- (process)294 1446 A
- (has)126 1782 A
- (another)294 1950 A
- (root)168 2286 A
- (directory)378 2496 A
- (than)168 2916 A
- (the)126 3126 A
- (system)252 3294 A
- (root,)210 3588 A
- 3840(we)S
- (might)210 3966 A
- 5130 V
- (25647)210 648 A
- 1152(*)S
- ("accidently")504 1236 A
- 1782(be)S
- (moving)252 1908 A
- (it's)168 2202 A
- (working)294 2412 A
- (directory)378 2748 A
- 3168(to)S
- 3294(a)S
- (place)210 3378 A
- (where)210 3630 A
- (it's)168 3882 A
- 5220 V
- (25648)210 648 A
- 1152(*)S
- (root)168 1236 A
- (directory)378 1446 A
- (isn't)210 1866 A
- 2118(a)S
- (super)210 2202 A
- (directory)378 2454 A
- 2874(of)S
- 3000(it)S
- (anymore.)336 3126 A
- (This)168 3504 A
- (can)126 3714 A
- (make)168 3882 A
- 5310 V
- (25649)210 648 A
- 1152(*)S
- (the)126 1236 A
- (function)336 1404 A
- (chroot)252 1782 A
- (useless.)336 2076 A
- 2454(If)S
- (chroot)252 2580 A
- (will)168 2874 A
- 3084(be)S
- (used)168 3210 A
- (often)210 3420 A
- 3672(we)S
- (should)252 3798 A
- 5400 V
- (25650)210 648 A
- 1152(*)S
- (probably)336 1236 A
- (check)210 1614 A
- (for)126 1866 A
- 2034(it)S
- (here.)210 2160 A
- 5490 V
- (25651)210 648 A
- 1152(*/)S
- 5580 V
- (25652)210 648 A
- 5670 V
- (25653)210 648 A
- 1110(/*)S
- (The)126 1236 A
- (rename)252 1404 A
- (will)168 1698 A
- (probably)336 1908 A
- (work.)210 2286 A
- (Only)168 2538 A
- (two)126 2748 A
- (things)252 2916 A
- (can)126 3210 A
- 3378(go)S
- (wrong)210 3504 A
- (now:)168 3756 A
- 5760 V
- (25654)210 648 A
- 1152(*)S
- 1236(1.)S
- (being)210 1362 A
- (unable)252 1614 A
- 1908(to)S
- (remove)252 2034 A
- (the)126 2328 A
- (new)126 2496 A
- (file.)210 2664 A
- ((when)210 2916 A
- (new)126 3168 A
- (file)168 3336 A
- (already)294 3546 A
- (exists))294 3882 A
- 5850 V
- (25655)210 648 A
- 1152(*)S
- 1236(2.)S
- (being)210 1362 A
- (unable)252 1614 A
- 1908(to)S
- (make)168 2034 A
- (the)126 2244 A
- (new)126 2412 A
- (directory)378 2580 A
- (entry.)252 3000 A
- ((new)168 3294 A
- (file)168 3504 A
- (doesn't)294 3714 A
- (exists))294 4050 A
- 5940 V
- (25656)210 648 A
- 1152(*)S
- ([directory)420 1404 A
- (has)126 1866 A
- 2034(to)S
- (grow)168 2160 A
- 2370(by)S
- (one)126 2496 A
- (block)210 2664 A
- (and)126 2916 A
- (cannot)252 3084 A
- (because)294 3378 A
- (the)126 3714 A
- (disk)168 3882 A
- 6030 V
- (25657)210 648 A
- 1152(*)S
- 1446(is)S
- (completely)420 1572 A
- (full].)252 2034 A
- 6120 V
- (25658)210 648 A
- 1152(*/)S
- 6210 V
- (25659)210 648 A
- 1110(if)S
- 1236((r)S
- 1362(==)S
- (OK))126 1488 A
- 1656({)S
- 8418 V
- EP
- %%Page: 354 354
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 12 B
- (354)180 648 A
- 11 R
- 2160(File:)S
- (src/fs/link.c)522 2393 A
- 10 R
- 3402(MINIX)S
- 3730(SOURCE)S
- 4153(CODE)S
- 900 V
- 7 LST
- (25660)210 648 A
- 1362(if)S
- ((new_ip)294 1488 A
- 1824(!=)S
- (NIL_INODE))420 1950 A
- 2412({)S
- 990 V
- (25661)210 648 A
- 1782(/*)S
- (There)210 1908 A
- 2160(is)S
- (already)294 2286 A
- 2622(an)S
- (entry)210 2748 A
- (for)126 3000 A
- ('new'.)252 3168 A
- (Try)126 3462 A
- 3630(to)S
- (remove)252 3756 A
- (it.)126 4050 A
- 4218(*/)S
- 1080 V
- (25662)210 648 A
- 1698(if)S
- ((odir))252 1824 A
- 1170 V
- (25663)210 648 A
- 2034(r)S
- 2118(=)S
- (remove_dir(new_dirp,)840 2202 A
- (new_ip,)294 3084 A
- (new_name);)420 3420 A
- 1260 V
- (25664)210 648 A
- (else)168 1698 A
- 1350 V
- (25665)210 648 A
- 2034(r)S
- 2118(=)S
- (unlink_file(new_dirp,)882 2202 A
- (new_ip,)294 3126 A
- (new_name);)420 3462 A
- 1440 V
- (25666)210 648 A
- 1362(})S
- 1530 V
- (25667)210 648 A
- 1362(/*)S
- 1488(if)S
- 1614(r)S
- 1698(is)S
- (OK,)126 1824 A
- (the)126 1992 A
- (rename)252 2160 A
- (will)168 2454 A
- (succeed,)336 2664 A
- (while)210 3042 A
- (there)210 3294 A
- 3546(is)S
- (now)126 3672 A
- 3840(an)S
- 1620 V
- (25668)210 648 A
- 1404(*)S
- (unused)252 1488 A
- (entry)210 1782 A
- 2034(in)S
- (the)126 2160 A
- (new)126 2328 A
- (parent)252 2496 A
- (directory.)420 2790 A
- 1710 V
- (25669)210 648 A
- 1404(*/)S
- 1800 V
- (25670)210 648 A
- 1110(})S
- 1890 V
- (25671)210 648 A
- 1980 V
- (25672)210 648 A
- 1110(if)S
- 1236((r)S
- 1362(==)S
- (OK))126 1488 A
- 1656({)S
- 2070 V
- (25673)210 648 A
- 1362(/*)S
- 1488(If)S
- (the)126 1614 A
- (new)126 1782 A
- (name)168 1950 A
- (will)168 2160 A
- 2370(be)S
- 2496(in)S
- (the)126 2622 A
- (same)168 2790 A
- (parent)252 3000 A
- (directory)378 3294 A
- 3714(as)S
- (the)126 3840 A
- (old)126 4008 A
- (one,)168 4176 A
- 2160 V
- (25674)210 648 A
- 1404(*)S
- (first)210 1488 A
- (remove)252 1740 A
- (the)126 2034 A
- (old)126 2202 A
- (name)168 2370 A
- 2580(to)S
- (free)168 2706 A
- 2916(an)S
- (entry)210 3042 A
- (for)126 3294 A
- (the)126 3462 A
- (new)126 3630 A
- (name,)210 3798 A
- 2250 V
- (25675)210 648 A
- 1404(*)S
- (otherwise)378 1488 A
- (first)210 1908 A
- (try)126 2160 A
- 2328(to)S
- (create)252 2454 A
- (the)126 2748 A
- (new)126 2916 A
- (name)168 3084 A
- (entry)210 3294 A
- 3546(to)S
- (make)168 3672 A
- (sure)168 3882 A
- 2340 V
- (25676)210 648 A
- 1404(*)S
- (the)126 1488 A
- (rename)252 1656 A
- (will)168 1950 A
- (succeed.)336 2160 A
- 2430 V
- (25677)210 648 A
- 1404(*/)S
- 2520 V
- (25678)210 648 A
- (numb)168 1362 A
- 1572(=)S
- (old_ip->i_num;)588 1656 A
- 2706(/*)S
- (inode)210 2832 A
- (number)252 3084 A
- 3378(of)S
- (old)126 3504 A
- (file)168 3672 A
- 3882(*/)S
- 2610 V
- (25679)210 648 A
- 2700 V
- (25680)210 648 A
- 1362(if)S
- ((same_pdir))462 1488 A
- 1992({)S
- 2790 V
- (25681)210 648 A
- 1698(r)S
- 1782(=)S
- (search_dir(old_dirp,)840 1866 A
- (old_name,)378 2748 A
- ((ino_t)252 3168 A
- 3462(*))S
- 3588(0,)S
- (DELETE);)336 3714 A
- 2880 V
- (25682)210 648 A
- 3042(/*)S
- (shouldn't)378 3168 A
- 3588(go)S
- (wrong.)252 3714 A
- 4008(*/)S
- 2970 V
- (25683)210 648 A
- 1698(if)S
- ((r==OK))294 1824 A
- ((void))252 2160 A
- (search_dir(old_dirp,)840 2454 A
- (new_name,)378 3336 A
- (&numb,)252 3756 A
- (ENTER);)294 4050 A
- 3060 V
- (25684)210 648 A
- 1362(})S
- (else)168 1446 A
- 1656({)S
- 3150 V
- (25685)210 648 A
- 1698(r)S
- 1782(=)S
- (search_dir(new_dirp,)840 1866 A
- (new_name,)378 2748 A
- (&numb,)252 3168 A
- (ENTER);)294 3462 A
- 3240 V
- (25686)210 648 A
- 1698(if)S
- 1824((r)S
- 1950(==)S
- (OK))126 2076 A
- 3330 V
- (25687)210 648 A
- ((void))252 1866 A
- (search_dir(old_dirp,)840 2160 A
- (old_name,)378 3042 A
- ((ino_t)252 3462 A
- 3756(*))S
- 3882(0,)S
- (DELETE);)336 4008 A
- 3420 V
- (25688)210 648 A
- 1362(})S
- 3510 V
- (25689)210 648 A
- 1110(})S
- 3600 V
- (25690)210 648 A
- 1110(/*)S
- 1236(If)S
- 1362(r)S
- 1446(is)S
- (OK,)126 1572 A
- (the)126 1740 A
- (ctime)210 1908 A
- (and)126 2160 A
- (mtime)210 2328 A
- 2580(of)S
- (old_dirp)336 2706 A
- (and)126 3084 A
- (new_dirp)336 3252 A
- (have)168 3630 A
- (been)168 3840 A
- (marked)252 4050 A
- 3690 V
- (25691)210 648 A
- 1152(*)S
- (for)126 1236 A
- (update)252 1404 A
- 1698(in)S
- (search_dir.)462 1824 A
- 3780 V
- (25692)210 648 A
- 1152(*/)S
- 3870 V
- (25693)210 648 A
- 3960 V
- (25694)210 648 A
- 1110(if)S
- 1236((r)S
- 1362(==)S
- 1488(OK)S
- 1614(&&)S
- (odir)168 1740 A
- 1950(&&)S
- (!same_pdir))462 2076 A
- 2580({)S
- 4050 V
- (25695)210 648 A
- 1362(/*)S
- (Update)252 1488 A
- (the)126 1782 A
- 1950(..)S
- (entry)210 2076 A
- 2328(in)S
- (the)126 2454 A
- (directory)378 2622 A
- ((still)252 3042 A
- (points)252 3336 A
- 3630(to)S
- (old_dirp).)420 3756 A
- 4218(*/)S
- 4140 V
- (25696)210 648 A
- (numb)168 1362 A
- 1572(=)S
- (new_dirp->i_num;)672 1656 A
- 4230 V
- (25697)210 648 A
- ((void))252 1362 A
- (unlink_file(old_ip,)798 1656 A
- (NIL_INODE,)420 2496 A
- (dot2);)252 2958 A
- 4320 V
- (25698)210 648 A
- 1362(if)S
- ((search_dir(old_ip,)798 1488 A
- (dot2,)210 2328 A
- (&numb,)252 2580 A
- (ENTER))252 2874 A
- 3168(==)S
- (OK))126 3294 A
- 3462({)S
- 4410 V
- (25699)210 648 A
- 1698(/*)S
- (New)126 1824 A
- (link)168 1992 A
- (created.)336 2202 A
- 2580(*/)S
- 4500 V
- (25700)210 648 A
- (new_dirp->i_nlinks++;)882 1698 A
- 4590 V
- (25701)210 648 A
- (new_dirp->i_dirt)672 1698 A
- 2412(=)S
- (DIRTY;)252 2496 A
- 4680 V
- (25702)210 648 A
- 1362(})S
- 4770 V
- (25703)210 648 A
- 1110(})S
- 4860 V
- (25704)210 648 A
- 4950 V
- (25705)210 648 A
- 1110(/*)S
- (Release)294 1236 A
- (the)126 1572 A
- (inodes.)294 1740 A
- 2076(*/)S
- 5040 V
- (25706)210 648 A
- (put_inode(old_dirp);)840 1110 A
- 5130 V
- (25707)210 648 A
- (put_inode(old_ip);)756 1110 A
- 5220 V
- (25708)210 648 A
- (put_inode(new_dirp);)840 1110 A
- 5310 V
- (25709)210 648 A
- (put_inode(new_ip);)756 1110 A
- 5400 V
- (25710)210 648 A
- (return(r)336 1110 A
- 1488(==)S
- (SAME)168 1614 A
- 1824(?)S
- 1908(OK)S
- 2034(:)S
- (r);)126 2118 A
- 5490 V
- (25711)210 648 A
- 1026(})S
- 5760 V
- (25714)210 648 A
- (/*===========================================================================*)3276 1026 A
- 5850 V
- (25715)210 648 A
- 1068(*)S
- (truncate)336 2370 A
- 4260(*)S
- 5940 V
- (25716)210 648 A
- (*===========================================================================*/)3276 1068 A
- 6030 V
- (25717)210 648 A
- (PUBLIC)252 1026 A
- (void)168 1320 A
- (truncate(rip))546 1530 A
- 6120 V
- (25718)210 648 A
- (register)336 1026 A
- (struct)252 1404 A
- (inode)210 1698 A
- (*rip;)210 1950 A
- 2370(/*)S
- (pointer)294 2496 A
- 2832(to)S
- (inode)210 2958 A
- 3210(to)S
- 3336(be)S
- (truncated)378 3462 A
- 3882(*/)S
- 6210 V
- (25719)210 648 A
- 1026({)S
- 8418 V
- EP
- %%Page: 355 355
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 10 R
- 648(MINIX)S
- 976(SOURCE)S
- 1399(CODE)S
- 11 R
- 2160(File:)S
- (src/fs/link.c)522 2393 A
- 12 B
- (355)180 4248 A
- 900 V
- 7 LST
- (25720)210 648 A
- 1026(/*)S
- (Remove)252 1152 A
- (all)126 1446 A
- (the)126 1614 A
- (zones)210 1782 A
- (from)168 2034 A
- (the)126 2244 A
- (inode)210 2412 A
- ('rip')210 2664 A
- (and)126 2916 A
- (mark)168 3084 A
- 3294(it)S
- (dirty.)252 3420 A
- 3714(*/)S
- 990 V
- (25721)210 648 A
- 1080 V
- (25722)210 648 A
- (register)336 1110 A
- (block_t)294 1488 A
- 1824(b;)S
- 1170 V
- (25723)210 648 A
- (zone_t)252 1110 A
- 1404(z,)S
- (zone_size,)420 1530 A
- (z1;)126 1992 A
- 1260 V
- (25724)210 648 A
- (off_t)210 1110 A
- (position;)378 1362 A
- 1350 V
- (25725)210 648 A
- (int)126 1110 A
- 1278(i,)S
- (scale,)252 1404 A
- (file_type,)420 1698 A
- (waspipe,)336 2160 A
- (single,)294 2538 A
- (nr_indirects;)546 2874 A
- 1440 V
- (25726)210 648 A
- (struct)252 1110 A
- (buf)126 1404 A
- (*bp;)168 1572 A
- 1530 V
- (25727)210 648 A
- (dev_t)210 1110 A
- (dev;)168 1362 A
- 1620 V
- (25728)210 648 A
- 1710 V
- (25729)210 648 A
- (file_type)378 1110 A
- 1530(=)S
- (rip->i_mode)462 1614 A
- 2118(&)S
- (I_TYPE;)294 2202 A
- 2706(/*)S
- (check)210 2832 A
- 3084(to)S
- (see)126 3210 A
- 3378(if)S
- (file)168 3504 A
- 3714(is)S
- (special)294 3840 A
- 4176(*/)S
- 1800 V
- (25730)210 648 A
- 1110(if)S
- ((file_type)420 1236 A
- 1698(==)S
- (I_CHAR_SPECIAL)588 1824 A
- 2454(||)S
- (file_type)378 2580 A
- 3000(==)S
- (I_BLOCK_SPECIAL))672 3126 A
- (return;)294 3840 A
- 1890 V
- (25731)210 648 A
- (dev)126 1110 A
- 1278(=)S
- (rip->i_dev;)462 1362 A
- 2370(/*)S
- (device)252 2496 A
- 2790(on)S
- (which)210 2916 A
- (inode)210 3168 A
- (resides)294 3420 A
- 3756(*/)S
- 1980 V
- (25732)210 648 A
- (scale)210 1110 A
- 1362(=)S
- (rip->i_sp->s_log_zone_size;)1134 1446 A
- 2070 V
- (25733)210 648 A
- (zone_size)378 1110 A
- 1530(=)S
- ((zone_t))336 1614 A
- (BLOCK_SIZE)420 1992 A
- 2454(<<)S
- (scale;)252 2580 A
- 2160 V
- (25734)210 648 A
- (nr_indirects)504 1110 A
- 1656(=)S
- (rip->i_nindirs;)630 1740 A
- 2250 V
- (25735)210 648 A
- 2340 V
- (25736)210 648 A
- 1110(/*)S
- (Pipes)210 1236 A
- (can)126 1488 A
- (shrink,)294 1656 A
- 1992(so)S
- (adjust)252 2118 A
- (size)168 2412 A
- 2622(to)S
- (make)168 2748 A
- (sure)168 2958 A
- (all)126 3168 A
- (zones)210 3336 A
- (are)126 3588 A
- (removed.)336 3756 A
- 4134(*/)S
- 2430 V
- (25737)210 648 A
- (waspipe)294 1110 A
- 1446(=)S
- (rip->i_pipe)462 1530 A
- 2034(==)S
- (I_PIPE;)294 2160 A
- 2706(/*)S
- (TRUE)168 2832 A
- 3042(is)S
- (this)168 3168 A
- (was)126 3378 A
- 3546(a)S
- (pipe)168 3630 A
- 3840(*/)S
- 2520 V
- (25738)210 648 A
- 1110(if)S
- ((waspipe))378 1236 A
- (rip->i_size)462 1656 A
- 2160(=)S
- (PIPE_SIZE;)420 2244 A
- 2610 V
- (25739)210 648 A
- 2700 V
- (25740)210 648 A
- 1110(/*)S
- (Step)168 1236 A
- (through)294 1446 A
- (the)126 1782 A
- (file)168 1950 A
- 2160(a)S
- (zone)168 2244 A
- 2454(at)S
- 2580(a)S
- (time,)210 2664 A
- (finding)294 2916 A
- (and)126 3252 A
- (freeing)294 3420 A
- (the)126 3756 A
- (zones.)252 3924 A
- 4218(*/)S
- 2790 V
- (25741)210 648 A
- (for)126 1110 A
- ((position)378 1278 A
- 1698(=)S
- 1782(0;)S
- (position)336 1908 A
- 2286(<)S
- (rip->i_size;)504 2370 A
- (position)336 2916 A
- 3294(+=)S
- (zone_size))420 3420 A
- 3882({)S
- 2880 V
- (25742)210 648 A
- 1362(if)S
- 1488(()S
- 1572((b)S
- 1698(=)S
- (read_map(rip,)546 1782 A
- (position)))420 2370 A
- 2832(!=)S
- (NO_BLOCK))378 2958 A
- 3378({)S
- 2970 V
- (25743)210 648 A
- 1698(z)S
- 1782(=)S
- ((zone_t))336 1866 A
- 2244(b)S
- 2328(>>)S
- (scale;)252 2454 A
- 3060 V
- (25744)210 648 A
- (free_zone(dev,)588 1698 A
- (z);)126 2328 A
- 3150 V
- (25745)210 648 A
- 1362(})S
- 3240 V
- (25746)210 648 A
- 1110(})S
- 3330 V
- (25747)210 648 A
- 3420 V
- (25748)210 648 A
- 1110(/*)S
- (All)126 1236 A
- (the)126 1404 A
- (data)168 1572 A
- (zones)210 1782 A
- (have)168 2034 A
- (been)168 2244 A
- (freed.)252 2454 A
- (Now)126 2790 A
- (free)168 2958 A
- (the)126 3168 A
- (indirect)336 3336 A
- (zones.)252 3714 A
- 4008(*/)S
- 3510 V
- (25749)210 648 A
- (rip->i_dirt)462 1110 A
- 1614(=)S
- (DIRTY;)252 1698 A
- 3600 V
- (25750)210 648 A
- 1110(if)S
- ((waspipe))378 1236 A
- 1656({)S
- 3690 V
- (25751)210 648 A
- (wipe_inode(rip);)672 1362 A
- 2370(/*)S
- (clear)210 2496 A
- (out)126 2748 A
- (inode)210 2916 A
- (for)126 3168 A
- (pipes)210 3336 A
- 3588(*/)S
- 3780 V
- (25752)210 648 A
- (return;)294 1362 A
- 2370(/*)S
- (indirect)336 2496 A
- (slots)210 2874 A
- (contain)294 3126 A
- (file)168 3462 A
- (positions)378 3672 A
- 4092(*/)S
- 3870 V
- (25753)210 648 A
- 1110(})S
- 3960 V
- (25754)210 648 A
- (single)252 1110 A
- 1404(=)S
- (rip->i_ndzones;)630 1488 A
- 4050 V
- (25755)210 648 A
- (free_zone(dev,)588 1110 A
- (rip->i_zone[single]);)882 1740 A
- 2706(/*)S
- (single)252 2832 A
- (indirect)336 3126 A
- (zone)168 3504 A
- 3714(*/)S
- 4140 V
- (25756)210 648 A
- 1110(if)S
- 1236(()S
- 1320((z)S
- 1446(=)S
- (rip->i_zone[single+1]))924 1530 A
- 2496(!=)S
- (NO_ZONE))336 2622 A
- 3000({)S
- 4230 V
- (25757)210 648 A
- 1362(/*)S
- (Free)168 1488 A
- (all)126 1698 A
- (the)126 1866 A
- (single)252 2034 A
- (indirect)336 2328 A
- (zones)210 2706 A
- (pointed)294 2958 A
- 3294(to)S
- 3420(by)S
- (the)126 3546 A
- (double.)294 3714 A
- 4050(*/)S
- 4320 V
- (25758)210 648 A
- 1362(b)S
- 1446(=)S
- ((block_t))378 1530 A
- 1950(z)S
- 2034(<<)S
- (scale;)252 2160 A
- 4410 V
- (25759)210 648 A
- 1362(bp)S
- 1488(=)S
- (get_block(dev,)588 1572 A
- 2202(b,)S
- (NORMAL);)336 2328 A
- 2706(/*)S
- (get)126 2832 A
- (double)252 3000 A
- (indirect)336 3294 A
- (zone)168 3672 A
- 3882(*/)S
- 4500 V
- (25760)210 648 A
- (for)126 1362 A
- 1530((i)S
- 1656(=)S
- 1740(0;)S
- 1866(i)S
- 1950(<)S
- (nr_indirects;)546 2034 A
- (i++))168 2622 A
- 2832({)S
- 4590 V
- (25761)210 648 A
- 1698(z1)S
- 1824(=)S
- (rd_indir(bp,)504 1908 A
- (i);)126 2454 A
- 4680 V
- (25762)210 648 A
- (free_zone(dev,)588 1698 A
- (z1);)168 2328 A
- 4770 V
- (25763)210 648 A
- 1362(})S
- 4860 V
- (25764)210 648 A
- 4950 V
- (25765)210 648 A
- 1362(/*)S
- (Now)126 1488 A
- (free)168 1656 A
- (the)126 1866 A
- (double)252 2034 A
- (indirect)336 2328 A
- (zone)168 2706 A
- (itself.)294 2916 A
- 3252(*/)S
- 5040 V
- (25766)210 648 A
- (put_block(bp,)546 1362 A
- (INDIRECT_BLOCK);)672 1950 A
- 5130 V
- (25767)210 648 A
- (free_zone(dev,)588 1362 A
- (z);)126 1992 A
- 5220 V
- (25768)210 648 A
- 1110(})S
- 5310 V
- (25769)210 648 A
- 5400 V
- (25770)210 648 A
- 1110(/*)S
- (Leave)210 1236 A
- (zone)168 1488 A
- (numbers)294 1698 A
- (for)126 2034 A
- (de(1))210 2202 A
- 2454(to)S
- (recover)294 2580 A
- (file)168 2916 A
- (after)210 3126 A
- 3378(an)S
- (unlink(2).)420 3504 A
- 4008(*/)S
- 5490 V
- (25771)210 648 A
- 1026(})S
- 5760 V
- (25774)210 648 A
- (/*===========================================================================*)3276 1026 A
- 5850 V
- (25775)210 648 A
- 1068(*)S
- (remove_dir)420 2370 A
- 4260(*)S
- 5940 V
- (25776)210 648 A
- (*===========================================================================*/)3276 1068 A
- 6030 V
- (25777)210 648 A
- (PRIVATE)294 1026 A
- (int)126 1362 A
- (remove_dir(rldirp,)756 1530 A
- (rip,)168 2328 A
- (dir_name))378 2538 A
- 6120 V
- (25778)210 648 A
- (struct)252 1026 A
- (inode)210 1320 A
- (*rldirp;)336 1572 A
- 2706(/*)S
- (parent)252 2832 A
- (directory)378 3126 A
- 3546(*/)S
- 6210 V
- (25779)210 648 A
- (struct)252 1026 A
- (inode)210 1320 A
- (*rip;)210 1572 A
- 2706(/*)S
- (directory)378 2832 A
- 3252(to)S
- 3378(be)S
- (removed)294 3504 A
- 3840(*/)S
- 8418 V
- EP
- %%Page: 356 356
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 12 B
- (356)180 648 A
- 11 R
- 2160(File:)S
- (src/fs/link.c)522 2393 A
- 10 R
- 3402(MINIX)S
- 3730(SOURCE)S
- 4153(CODE)S
- 900 V
- 7 LST
- (25780)210 648 A
- (char)168 1026 A
- (dir_name[NAME_MAX];)798 1236 A
- 2706(/*)S
- (name)168 2832 A
- 3042(of)S
- (directory)378 3168 A
- 3588(to)S
- 3714(be)S
- (removed)294 3840 A
- 4176(*/)S
- 990 V
- (25781)210 648 A
- 1026({)S
- 1080 V
- (25782)210 648 A
- 1110(/*)S
- 1236(A)S
- (directory)378 1320 A
- (file)168 1740 A
- (has)126 1950 A
- 2118(to)S
- 2244(be)S
- (removed.)336 2370 A
- (Five)168 2748 A
- (conditions)420 2958 A
- (have)168 3420 A
- 3630(to)S
- (met:)168 3756 A
- 1170 V
- (25783)210 648 A
- 1152(*)S
- 1362(-)S
- (The)126 1446 A
- (file)168 1614 A
- (must)168 1824 A
- 2034(be)S
- 2160(a)S
- (directory)378 2244 A
- 1260 V
- (25784)210 648 A
- 1152(*)S
- 1362(-)S
- (The)126 1446 A
- (directory)378 1614 A
- (must)168 2034 A
- 2244(be)S
- (empty)210 2370 A
- ((except)294 2622 A
- (for)126 2958 A
- 3126(.)S
- (and)126 3210 A
- (..))126 3378 A
- 1350 V
- (25785)210 648 A
- 1152(*)S
- 1362(-)S
- (The)126 1446 A
- (final)210 1614 A
- (component)378 1866 A
- 2286(of)S
- (the)126 2412 A
- (path)168 2580 A
- (must)168 2790 A
- (not)126 3000 A
- 3168(be)S
- 3294(.)S
- 3378(or)S
- 3504(..)S
- 1440 V
- (25786)210 648 A
- 1152(*)S
- 1362(-)S
- (The)126 1446 A
- (directory)378 1614 A
- (must)168 2034 A
- (not)126 2244 A
- 2412(be)S
- (the)126 2538 A
- (root)168 2706 A
- 2916(of)S
- 3042(a)S
- (mounted)294 3126 A
- (file)168 3462 A
- (system)252 3672 A
- 1530 V
- (25787)210 648 A
- 1152(*)S
- 1362(-)S
- (The)126 1446 A
- (directory)378 1614 A
- (must)168 2034 A
- (not)126 2244 A
- 2412(be)S
- (anybody's)378 2538 A
- (root/working)504 2958 A
- (directory)378 3504 A
- 1620 V
- (25788)210 648 A
- 1152(*/)S
- 1710 V
- (25789)210 648 A
- 1800 V
- (25790)210 648 A
- (int)126 1110 A
- 1278(r;)S
- 1890 V
- (25791)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (fproc)210 1782 A
- (*rfp;)210 2034 A
- 1980 V
- (25792)210 648 A
- 2070 V
- (25793)210 648 A
- 1110(/*)S
- (search_dir)420 1236 A
- (checks)252 1698 A
- (that)168 1992 A
- (rip)126 2202 A
- 2370(is)S
- 2496(a)S
- (directory)378 2580 A
- (too.)168 3000 A
- 3210(*/)S
- 2160 V
- (25794)210 648 A
- 1110(if)S
- (((r)126 1236 A
- 1404(=)S
- (search_dir(rip,)630 1488 A
- ("",)126 2160 A
- ((ino_t)252 2328 A
- 2622(*))S
- 2748(0,)S
- (IS_EMPTY)))420 2874 A
- 3336(!=)S
- (OK))126 3462 A
- (return)252 3630 A
- 3924(r;)S
- 2250 V
- (25795)210 648 A
- 2340 V
- (25796)210 648 A
- 1110(if)S
- ((strcmp(dir_name,)714 1236 A
- ("."))168 1992 A
- 2202(==)S
- 2328(0)S
- 2412(||)S
- (strcmp(dir_name,)672 2538 A
- (".."))210 3252 A
- 3504(==)S
- (0)return(EINVAL);)714 3630 A
- 2430 V
- (25797)210 648 A
- 1110(if)S
- ((rip->i_num)462 1236 A
- 1740(==)S
- (ROOT_INODE))462 1866 A
- (return(EBUSY);)588 2370 A
- 3000(/*)S
- (can't)210 3126 A
- (remove)252 3378 A
- ('root')252 3672 A
- 3966(*/)S
- 2520 V
- (25798)210 648 A
- 2610 V
- (25799)210 648 A
- (for)126 1110 A
- ((rfp)168 1278 A
- 1488(=)S
- (&fproc[INIT_PROC_NR)798 1572 A
- 2412(+)S
- (1];)126 2496 A
- (rfp)126 2664 A
- 2832(<)S
- (&fproc[NR_PROCS];)714 2916 A
- (rfp++))252 3672 A
- 2700 V
- (25800)210 648 A
- 1362(if)S
- ((rfp->fp_workdir)672 1488 A
- 2202(==)S
- (rip)126 2328 A
- 2496(||)S
- (rfp->fp_rootdir)630 2622 A
- 3294(==)S
- (rip))168 3420 A
- (return(EBUSY);)588 3630 A
- 2790 V
- (25801)210 648 A
- 2370(/*)S
- (can't)210 2496 A
- (remove)252 2748 A
- (anybody's)378 3042 A
- (working)294 3462 A
- (dir)126 3798 A
- 3966(*/)S
- 2880 V
- (25802)210 648 A
- 2970 V
- (25803)210 648 A
- 1110(/*)S
- (Actually)336 1236 A
- (try)126 1614 A
- 1782(to)S
- (unlink)252 1908 A
- (the)126 2202 A
- (file;)210 2370 A
- (fails)210 2622 A
- 2874(if)S
- (parent)252 3000 A
- 3294(is)S
- (mode)168 3420 A
- 3630(0)S
- (etc.)168 3714 A
- 3924(*/)S
- 3060 V
- (25804)210 648 A
- 1110(if)S
- (((r)126 1236 A
- 1404(=)S
- (unlink_file(rldirp,)798 1488 A
- (rip,)168 2328 A
- (dir_name)))420 2538 A
- 3000(!=)S
- (OK))126 3126 A
- (return)252 3294 A
- 3588(r;)S
- 3150 V
- (25805)210 648 A
- 3240 V
- (25806)210 648 A
- 1110(/*)S
- (Unlink)252 1236 A
- 1530(.)S
- (and)126 1614 A
- 1782(..)S
- (from)168 1908 A
- (the)126 2118 A
- (dir.)168 2286 A
- (The)126 2496 A
- (super)210 2664 A
- (user)168 2916 A
- (can)126 3126 A
- (link)168 3294 A
- (and)126 3504 A
- (unlink)252 3672 A
- (any)126 3966 A
- (dir,)168 4134 A
- 3330 V
- (25807)210 648 A
- 1152(*)S
- 1236(so)S
- (don't)210 1362 A
- (make)168 1614 A
- (too)126 1824 A
- (many)168 1992 A
- (assumptions)462 2202 A
- (about)210 2706 A
- (them.)210 2958 A
- 3420 V
- (25808)210 648 A
- 1152(*/)S
- 3510 V
- (25809)210 648 A
- ((void))252 1110 A
- (unlink_file(rip,)672 1404 A
- (NIL_INODE,)420 2118 A
- (dot1);)252 2580 A
- 3600 V
- (25810)210 648 A
- ((void))252 1110 A
- (unlink_file(rip,)672 1404 A
- (NIL_INODE,)420 2118 A
- (dot2);)252 2580 A
- 3690 V
- (25811)210 648 A
- (return(OK);)462 1110 A
- 3780 V
- (25812)210 648 A
- 1026(})S
- 4050 V
- (25815)210 648 A
- (/*===========================================================================*)3276 1026 A
- 4140 V
- (25816)210 648 A
- 1068(*)S
- (unlink_file)462 2370 A
- 4260(*)S
- 4230 V
- (25817)210 648 A
- (*===========================================================================*/)3276 1068 A
- 4320 V
- (25818)210 648 A
- (PRIVATE)294 1026 A
- (int)126 1362 A
- (unlink_file(dirp,)714 1530 A
- (rip,)168 2286 A
- (file_name))420 2496 A
- 4410 V
- (25819)210 648 A
- (struct)252 1026 A
- (inode)210 1320 A
- (*dirp;)252 1572 A
- 2370(/*)S
- (parent)252 2496 A
- (directory)378 2790 A
- 3210(of)S
- (file)168 3336 A
- 3546(*/)S
- 4500 V
- (25820)210 648 A
- (struct)252 1026 A
- (inode)210 1320 A
- (*rip;)210 1572 A
- 2370(/*)S
- (inode)210 2496 A
- 2748(of)S
- (file,)210 2874 A
- (may)126 3126 A
- 3294(be)S
- (NIL_INODE)378 3420 A
- (too.)168 3840 A
- 4050(*/)S
- 4590 V
- (25821)210 648 A
- (char)168 1026 A
- (file_name[NAME_MAX];)840 1236 A
- 2370(/*)S
- (name)168 2496 A
- 2706(of)S
- (file)168 2832 A
- 3042(to)S
- 3168(be)S
- (removed)294 3294 A
- 3630(*/)S
- 4680 V
- (25822)210 648 A
- 1026({)S
- 4770 V
- (25823)210 648 A
- 1026(/*)S
- (Unlink)252 1152 A
- ('file_name';)504 1446 A
- (rip)126 1992 A
- (must)168 2160 A
- 2370(be)S
- (the)126 2496 A
- (inode)210 2664 A
- 2916(of)S
- ('file_name')462 3042 A
- 3546(or)S
- (NIL_INODE.)420 3672 A
- 4134(*/)S
- 4860 V
- (25824)210 648 A
- 4950 V
- (25825)210 648 A
- (ino_t)210 1110 A
- (numb;)210 1362 A
- 2370(/*)S
- (inode)210 2496 A
- (number)252 2748 A
- 3042(*/)S
- 5040 V
- (25826)210 648 A
- (int)126 1110 A
- 1362(r;)S
- 5130 V
- (25827)210 648 A
- 5220 V
- (25828)210 648 A
- 1110(/*)S
- 1236(If)S
- (rip)126 1362 A
- 1530(is)S
- (not)126 1656 A
- (NIL_INODE,)420 1824 A
- 2286(it)S
- 2412(is)S
- (used)168 2538 A
- 2748(to)S
- (get)126 2874 A
- (faster)252 3042 A
- (access)252 3336 A
- 3630(to)S
- (the)126 3756 A
- (inode.)252 3924 A
- 4218(*/)S
- 5310 V
- (25829)210 648 A
- 1110(if)S
- ((rip)168 1236 A
- 1446(==)S
- (NIL_INODE))420 1572 A
- 2034({)S
- 5400 V
- (25830)210 648 A
- 1362(/*)S
- (Search)252 1488 A
- (for)126 1782 A
- (file)168 1950 A
- 2160(in)S
- (directory)378 2286 A
- (and)126 2706 A
- (try)126 2874 A
- 3042(to)S
- (get)126 3168 A
- (its)126 3336 A
- (inode.)252 3504 A
- 3798(*/)S
- 5490 V
- (25831)210 648 A
- (err_code)336 1362 A
- 1740(=)S
- (search_dir(dirp,)672 1824 A
- (file_name,)420 2538 A
- (&numb,)252 3000 A
- (LOOK_UP);)378 3294 A
- 5580 V
- (25832)210 648 A
- 1362(if)S
- ((err_code)378 1488 A
- 1908(==)S
- (OK))126 2034 A
- (rip)126 2202 A
- 2370(=)S
- (get_inode(dirp->i_dev,)924 2454 A
- ((int))210 3420 A
- (numb);)252 3672 A
- 5670 V
- (25833)210 648 A
- 1362(if)S
- ((err_code)378 1488 A
- 1908(!=)S
- 2034(OK)S
- 2160(||)S
- (rip)126 2286 A
- 2454(==)S
- (NIL_INODE))420 2580 A
- (return(err_code);)714 3042 A
- 5760 V
- (25834)210 648 A
- 1110(})S
- (else)168 1194 A
- 1404({)S
- 5850 V
- (25835)210 648 A
- (dup_inode(rip);)630 1362 A
- 2370(/*)S
- (inode)210 2496 A
- (will)168 2748 A
- 2958(be)S
- (returned)336 3084 A
- (with)168 3462 A
- (put_inode)378 3672 A
- 4092(*/)S
- 5940 V
- (25836)210 648 A
- 1110(})S
- 6030 V
- (25837)210 648 A
- 6120 V
- (25838)210 648 A
- 1110(r)S
- 1194(=)S
- (search_dir(dirp,)672 1278 A
- (file_name,)420 1992 A
- ((ino_t)252 2454 A
- 2748(*))S
- 2874(0,)S
- (DELETE);)336 3000 A
- 6210 V
- (25839)210 648 A
- 8418 V
- EP
- %%Page: 357 357
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 10 R
- 648(MINIX)S
- 976(SOURCE)S
- 1399(CODE)S
- 11 R
- 2160(File:)S
- (src/fs/link.c)522 2393 A
- 12 B
- (357)180 4248 A
- 900 V
- 7 LST
- (25840)210 648 A
- 1110(if)S
- 1236((r)S
- 1362(==)S
- (OK))126 1488 A
- 1656({)S
- 990 V
- (25841)210 648 A
- (rip->i_nlinks--;)672 1362 A
- 2370(/*)S
- (entry)210 2496 A
- (deleted)294 2748 A
- (from)168 3084 A
- (parent's)336 3294 A
- (dir)126 3672 A
- 3840(*/)S
- 1080 V
- (25842)210 648 A
- (rip->i_update)546 1362 A
- 1950(|=)S
- (CTIME;)252 2076 A
- 1170 V
- (25843)210 648 A
- (rip->i_dirt)462 1362 A
- 1866(=)S
- (DIRTY;)252 1950 A
- 1260 V
- (25844)210 648 A
- 1110(})S
- 1350 V
- (25845)210 648 A
- 1440 V
- (25846)210 648 A
- (put_inode(rip);)630 1110 A
- 1530 V
- (25847)210 648 A
- (return(r);)420 1110 A
- 1620 V
- (25848)210 648 A
- 1026(})S
- 1890 V
- (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
- 1980 V
- (src/fs/stadir.c)630 2034 A
- 2070 V
- (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
- 2250 V
- (25900)210 648 A
- 1026(/*)S
- (This)168 1152 A
- (file)168 1362 A
- (contains)336 1572 A
- (the)126 1950 A
- (code)168 2118 A
- (for)126 2328 A
- (performing)420 2496 A
- (four)168 2958 A
- (system)252 3168 A
- (calls)210 3462 A
- (relating)336 3714 A
- 4092(to)S
- 2340 V
- (25901)210 648 A
- 1068(*)S
- (status)252 1152 A
- (and)126 1446 A
- (directories.)504 1614 A
- 2430 V
- (25902)210 648 A
- 1068(*)S
- 2520 V
- (25903)210 648 A
- 1068(*)S
- (The)126 1152 A
- (entry)210 1320 A
- (points)252 1572 A
- (into)168 1866 A
- (this)168 2076 A
- (file)168 2286 A
- (are)126 2496 A
- 2610 V
- (25904)210 648 A
- 1068(*)S
- (do_chdir:)378 1236 A
- (perform)294 1698 A
- (the)126 2034 A
- (CHDIR)210 2202 A
- (system)252 2454 A
- (call)168 2748 A
- 2700 V
- (25905)210 648 A
- 1068(*)S
- (do_chroot:)420 1236 A
- (perform)294 1698 A
- (the)126 2034 A
- (CHROOT)252 2202 A
- (system)252 2496 A
- (call)168 2790 A
- 2790 V
- (25906)210 648 A
- 1068(*)S
- (do_stat:)336 1236 A
- (perform)294 1698 A
- (the)126 2034 A
- (STAT)168 2202 A
- (system)252 2412 A
- (call)168 2706 A
- 2880 V
- (25907)210 648 A
- 1068(*)S
- (do_fstat:)378 1236 A
- (perform)294 1698 A
- (the)126 2034 A
- (FSTAT)210 2202 A
- (system)252 2454 A
- (call)168 2748 A
- 2970 V
- (25908)210 648 A
- 1068(*/)S
- 3060 V
- (25909)210 648 A
- 3150 V
- (25910)210 648 A
- (#include)336 1026 A
- ("fs.h")252 1404 A
- 3240 V
- (25911)210 648 A
- (#include)336 1026 A
- (<sys/stat.h>)504 1404 A
- 3330 V
- (25912)210 648 A
- (#include)336 1026 A
- ("file.h")336 1404 A
- 3420 V
- (25913)210 648 A
- (#include)336 1026 A
- ("fproc.h")378 1404 A
- 3510 V
- (25914)210 648 A
- (#include)336 1026 A
- ("inode.h")378 1404 A
- 3600 V
- (25915)210 648 A
- (#include)336 1026 A
- ("param.h")378 1404 A
- 3690 V
- (25916)210 648 A
- 3780 V
- (25917)210 648 A
- (FORWARD)294 1026 A
- (_PROTOTYPE()462 1362 A
- (int)126 1866 A
- (change,)294 2034 A
- ((struct)294 2370 A
- (inode)210 2706 A
- (**iip,)252 2958 A
- (char)168 3252 A
- (*name_ptr,)420 3462 A
- (int)126 3924 A
- (len));)252 4092 A
- 3870 V
- (25918)210 648 A
- (FORWARD)294 1026 A
- (_PROTOTYPE()462 1362 A
- (int)126 1866 A
- (stat_inode,)462 2034 A
- ((struct)294 2538 A
- (inode)210 2874 A
- (*rip,)210 3126 A
- (struct)252 3378 A
- (filp)168 3672 A
- (*fil_ptr,)378 3882 A
- 3960 V
- (25919)210 648 A
- (char)168 2034 A
- (*user_addr))462 2244 A
- 4050();)S
- 4050 V
- (25920)210 648 A
- 4140 V
- (25921)210 648 A
- (/*===========================================================================*)3276 1026 A
- 4230 V
- (25922)210 648 A
- 1068(*)S
- (do_chdir)336 2370 A
- 4260(*)S
- 4320 V
- (25923)210 648 A
- (*===========================================================================*/)3276 1068 A
- 4410 V
- (25924)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (do_chdir())420 1488 A
- 4500 V
- (25925)210 648 A
- 1026({)S
- 4590 V
- (25926)210 648 A
- 1026(/*)S
- (Change)252 1152 A
- (directory.)420 1446 A
- (This)168 1950 A
- (function)336 2160 A
- 2538(is)S
- (also)168 2706 A
- (called)252 2916 A
- 3210(by)S
- 3336(MM)S
- 3462(to)S
- (simulate)336 3588 A
- 3966(a)S
- (chdir)210 4050 A
- 4680 V
- (25927)210 648 A
- 1068(*)S
- 1152(in)S
- (order)210 1278 A
- 1530(to)S
- 1656(do)S
- (EXEC,)210 1782 A
- (etc.)168 2034 A
- 2286(It)S
- (also)168 2412 A
- (changes)294 2622 A
- (the)126 2958 A
- (root)168 3126 A
- (directory,)420 3336 A
- (the)126 3798 A
- (uids)168 3966 A
- (and)126 4176 A
- 4770 V
- (25928)210 648 A
- 1068(*)S
- (gids,)210 1152 A
- (and)126 1404 A
- (the)126 1572 A
- (umask.)252 1740 A
- 4860 V
- (25929)210 648 A
- 1068(*/)S
- 4950 V
- (25930)210 648 A
- 5040 V
- (25931)210 648 A
- (int)126 1110 A
- 1278(r;)S
- 5130 V
- (25932)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (fproc)210 1782 A
- (*rfp;)210 2034 A
- 5220 V
- (25933)210 648 A
- 5310 V
- (25934)210 648 A
- 1110(if)S
- ((who)168 1236 A
- 1446(==)S
- (MM_PROC_NR))462 1572 A
- 2076({)S
- 5400 V
- (25935)210 648 A
- (rfp)126 1362 A
- 1530(=)S
- (&fproc[slot1];)588 1614 A
- 5490 V
- (25936)210 648 A
- (put_inode(fp->fp_rootdir);)1092 1362 A
- 5580 V
- (25937)210 648 A
- (dup_inode(fp->fp_rootdir)1008 1362 A
- 2412(=)S
- (rfp->fp_rootdir);)714 2496 A
- 5670 V
- (25938)210 648 A
- (put_inode(fp->fp_workdir);)1092 1362 A
- 5760 V
- (25939)210 648 A
- (dup_inode(fp->fp_workdir)1008 1362 A
- 2412(=)S
- (rfp->fp_workdir);)714 2496 A
- 5850 V
- (25940)210 648 A
- 5940 V
- (25941)210 648 A
- 1362(/*)S
- 1488(MM)S
- (uses)168 1614 A
- (access())336 1824 A
- 2202(to)S
- (check)210 2328 A
- (permissions.)504 2580 A
- 3168(To)S
- (make)168 3294 A
- (this)168 3504 A
- (work,)210 3714 A
- (pretend)294 3966 A
- 6030 V
- (25942)210 648 A
- 1404(*)S
- (that)168 1488 A
- (the)126 1698 A
- (user's)252 1866 A
- (real)168 2160 A
- (ids)126 2370 A
- (are)126 2538 A
- (the)126 2706 A
- (same)168 2874 A
- 3084(as)S
- (the)126 3210 A
- (user's)252 3378 A
- (effective)378 3672 A
- (ids.)168 4092 A
- 6120 V
- (25943)210 648 A
- 1404(*)S
- 1488(FS)S
- (calls)210 1614 A
- (other)210 1866 A
- (than)168 2118 A
- (access())336 2328 A
- 2706(do)S
- (not)126 2832 A
- (use)126 3000 A
- (the)126 3168 A
- (real)168 3336 A
- (ids,)168 3546 A
- 3756(so)S
- (are)126 3882 A
- (not)126 4050 A
- 6210 V
- (25944)210 648 A
- 1404(*)S
- (affected.)378 1488 A
- 8418 V
- EP
- %%Page: 358 358
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 12 B
- (358)180 648 A
- 11 R
- 2123(File:)S
- 2356(src/fs/stadir.c)S
- 10 R
- 3402(MINIX)S
- 3730(SOURCE)S
- 4153(CODE)S
- 900 V
- 7 LST
- (25945)210 648 A
- 1404(*/)S
- 990 V
- (25946)210 648 A
- (fp->fp_realuid)588 1362 A
- 1992(=)S
- 1080 V
- (25947)210 648 A
- (fp->fp_effuid)546 1362 A
- 1950(=)S
- (rfp->fp_effuid;)630 2034 A
- 1170 V
- (25948)210 648 A
- (fp->fp_realgid)588 1362 A
- 1992(=)S
- 1260 V
- (25949)210 648 A
- (fp->fp_effgid)546 1362 A
- 1950(=)S
- (rfp->fp_effgid;)630 2034 A
- 1350 V
- (25950)210 648 A
- (fp->fp_umask)504 1362 A
- 1908(=)S
- (rfp->fp_umask;)588 1992 A
- 1440 V
- (25951)210 648 A
- (return(OK);)462 1362 A
- 1530 V
- (25952)210 648 A
- 1110(})S
- 1620 V
- (25953)210 648 A
- 1710 V
- (25954)210 648 A
- 1110(/*)S
- (Perform)294 1236 A
- (the)126 1572 A
- (chdir(name))462 1740 A
- (system)252 2244 A
- (call.)210 2538 A
- 2790(*/)S
- 1800 V
- (25955)210 648 A
- 1110(r)S
- 1194(=)S
- (change(&fp->fp_workdir,)966 1278 A
- (name,)210 2286 A
- (name_length);)546 2538 A
- 1890 V
- (25956)210 648 A
- (return(r);)420 1110 A
- 1980 V
- (25957)210 648 A
- 1026(})S
- 2250 V
- (25960)210 648 A
- (/*===========================================================================*)3276 1026 A
- 2340 V
- (25961)210 648 A
- 1068(*)S
- (do_chroot)378 2370 A
- 4260(*)S
- 2430 V
- (25962)210 648 A
- (*===========================================================================*/)3276 1068 A
- 2520 V
- (25963)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (do_chroot())462 1488 A
- 2610 V
- (25964)210 648 A
- 1026({)S
- 2700 V
- (25965)210 648 A
- 1026(/*)S
- (Perform)294 1152 A
- (the)126 1488 A
- (chroot(name))504 1656 A
- (system)252 2202 A
- (call.)210 2496 A
- 2748(*/)S
- 2790 V
- (25966)210 648 A
- 2880 V
- (25967)210 648 A
- (register)336 1110 A
- (int)126 1488 A
- 1656(r;)S
- 2970 V
- (25968)210 648 A
- 3060 V
- (25969)210 648 A
- 1110(if)S
- ((!super_user))546 1236 A
- (return(EPERM);)588 1824 A
- 2706(/*)S
- (only)168 2832 A
- 3042(su)S
- (may)126 3168 A
- (chroot())336 3336 A
- 3714(*/)S
- 3150 V
- (25970)210 648 A
- 1110(r)S
- 1194(=)S
- (change(&fp->fp_rootdir,)966 1278 A
- (name,)210 2286 A
- (name_length);)546 2538 A
- 3240 V
- (25971)210 648 A
- (return(r);)420 1110 A
- 3330 V
- (25972)210 648 A
- 1026(})S
- 3600 V
- (25975)210 648 A
- (/*===========================================================================*)3276 1026 A
- 3690 V
- (25976)210 648 A
- 1068(*)S
- (change)252 2370 A
- 4260(*)S
- 3780 V
- (25977)210 648 A
- (*===========================================================================*/)3276 1068 A
- 3870 V
- (25978)210 648 A
- (PRIVATE)294 1026 A
- (int)126 1362 A
- (change(iip,)462 1530 A
- (name_ptr,)378 2034 A
- (len))168 2454 A
- 3960 V
- (25979)210 648 A
- (struct)252 1026 A
- (inode)210 1320 A
- (**iip;)252 1572 A
- 2370(/*)S
- (pointer)294 2496 A
- 2832(to)S
- (the)126 2958 A
- (inode)210 3126 A
- (pointer)294 3378 A
- (for)126 3714 A
- (the)126 3882 A
- (dir)126 4050 A
- 4218(*/)S
- 4050 V
- (25980)210 648 A
- (char)168 1026 A
- (*name_ptr;)420 1236 A
- 2370(/*)S
- (pointer)294 2496 A
- 2832(to)S
- (the)126 2958 A
- (directory)378 3126 A
- (name)168 3546 A
- 3756(to)S
- (change)252 3882 A
- 4176(to)S
- 4302(*/)S
- 4140 V
- (25981)210 648 A
- (int)126 1026 A
- (len;)168 1194 A
- 2370(/*)S
- (length)252 2496 A
- 2790(of)S
- (the)126 2916 A
- (directory)378 3084 A
- (name)168 3504 A
- (string)252 3714 A
- 4008(*/)S
- 4230 V
- (25982)210 648 A
- 1026({)S
- 4320 V
- (25983)210 648 A
- 1026(/*)S
- 1152(Do)S
- (the)126 1278 A
- (actual)252 1446 A
- (work)168 1740 A
- (for)126 1950 A
- (chdir())294 2118 A
- (and)126 2454 A
- (chroot().)378 2622 A
- 3042(*/)S
- 4410 V
- (25984)210 648 A
- 4500 V
- (25985)210 648 A
- (struct)252 1110 A
- (inode)210 1404 A
- (*rip;)210 1656 A
- 4590 V
- (25986)210 648 A
- (register)336 1110 A
- (int)126 1488 A
- 1656(r;)S
- 4680 V
- (25987)210 648 A
- 4770 V
- (25988)210 648 A
- 1110(/*)S
- (Try)126 1236 A
- 1404(to)S
- (open)168 1530 A
- (the)126 1740 A
- (new)126 1908 A
- (directory.)420 2076 A
- 2538(*/)S
- 4860 V
- (25989)210 648 A
- 1110(if)S
- ((fetch_name(name_ptr,)882 1236 A
- (len,)168 2160 A
- (M3))126 2370 A
- 2538(!=)S
- (OK))126 2664 A
- (return(err_code);)714 2832 A
- 4950 V
- (25990)210 648 A
- 1110(if)S
- 1236(()S
- ((rip)168 1320 A
- 1530(=)S
- (eat_path(user_path)))840 1614 A
- 2496(==)S
- (NIL_INODE))420 2622 A
- (return(err_code);)714 3084 A
- 5040 V
- (25991)210 648 A
- 5130 V
- (25992)210 648 A
- 1110(/*)S
- 1236(It)S
- (must)168 1362 A
- 1572(be)S
- 1698(a)S
- (directory)378 1782 A
- (and)126 2202 A
- (also)168 2370 A
- 2580(be)S
- (searchable.)462 2706 A
- 3210(*/)S
- 5220 V
- (25993)210 648 A
- 1110(if)S
- 1236(()S
- ((rip->i_mode)504 1320 A
- 1866(&)S
- (I_TYPE))294 1950 A
- 2286(!=)S
- (I_DIRECTORY))504 2412 A
- 5310 V
- (25994)210 648 A
- 1362(r)S
- 1446(=)S
- (ENOTDIR;)336 1530 A
- 5400 V
- (25995)210 648 A
- (else)168 1110 A
- 5490 V
- (25996)210 648 A
- 1362(r)S
- 1446(=)S
- (forbidden(rip,)588 1530 A
- (X_BIT);)294 2160 A
- 2706(/*)S
- (check)210 2832 A
- 3084(if)S
- (dir)126 3210 A
- 3378(is)S
- (searchable)420 3504 A
- 3966(*/)S
- 5580 V
- (25997)210 648 A
- 5670 V
- (25998)210 648 A
- 1110(/*)S
- 1236(If)S
- (error,)252 1362 A
- (return)252 1656 A
- (inode.)252 1950 A
- 2244(*/)S
- 5760 V
- (25999)210 648 A
- 1110(if)S
- 1236((r)S
- 1362(!=)S
- (OK))126 1488 A
- 1656({)S
- 5850 V
- (26000)210 648 A
- (put_inode(rip);)630 1362 A
- 5940 V
- (26001)210 648 A
- (return(r);)420 1362 A
- 6030 V
- (26002)210 648 A
- 1110(})S
- 6120 V
- (26003)210 648 A
- 6210 V
- (26004)210 648 A
- 1110(/*)S
- (Everything)420 1236 A
- 1698(is)S
- (OK.)126 1824 A
- (Make)168 2034 A
- (the)126 2244 A
- (change.)294 2412 A
- 2748(*/)S
- 8418 V
- EP
- %%Page: 359 359
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 10 R
- 648(MINIX)S
- 976(SOURCE)S
- 1399(CODE)S
- 11 R
- 2123(File:)S
- 2356(src/fs/stadir.c)S
- 12 B
- (359)180 4248 A
- 900 V
- 7 LST
- (26005)210 648 A
- (put_inode(*iip);)672 1110 A
- 2370(/*)S
- (release)294 2496 A
- (the)126 2832 A
- (old)126 3000 A
- (directory)378 3168 A
- 3588(*/)S
- 990 V
- (26006)210 648 A
- (*iip)168 1110 A
- 1320(=)S
- (rip;)168 1404 A
- 2370(/*)S
- (acquire)294 2496 A
- (the)126 2832 A
- (new)126 3000 A
- (one)126 3168 A
- 3336(*/)S
- 1080 V
- (26007)210 648 A
- (return(OK);)462 1110 A
- 1170 V
- (26008)210 648 A
- 1026(})S
- 1440 V
- (26011)210 648 A
- (/*===========================================================================*)3276 1026 A
- 1530 V
- (26012)210 648 A
- 1068(*)S
- (do_stat)294 2370 A
- 4260(*)S
- 1620 V
- (26013)210 648 A
- (*===========================================================================*/)3276 1068 A
- 1710 V
- (26014)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (do_stat())378 1488 A
- 1800 V
- (26015)210 648 A
- 1026({)S
- 1890 V
- (26016)210 648 A
- 1026(/*)S
- (Perform)294 1152 A
- (the)126 1488 A
- (stat(name,)420 1656 A
- (buf))168 2118 A
- (system)252 2328 A
- (call.)210 2622 A
- 2874(*/)S
- 1980 V
- (26017)210 648 A
- 2070 V
- (26018)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (inode)210 1782 A
- (*rip;)210 2034 A
- 2160 V
- (26019)210 648 A
- (register)336 1110 A
- (int)126 1488 A
- 1656(r;)S
- 2250 V
- (26020)210 648 A
- 2340 V
- (26021)210 648 A
- 1110(/*)S
- (Both)168 1236 A
- (stat())252 1446 A
- (and)126 1740 A
- (fstat())294 1908 A
- (use)126 2244 A
- (the)126 2412 A
- (same)168 2580 A
- (routine)294 2790 A
- 3126(to)S
- 3252(do)S
- (the)126 3378 A
- (real)168 3546 A
- (work.)210 3756 A
- (That)168 4050 A
- 2430 V
- (26022)210 648 A
- 1152(*)S
- (routine)294 1236 A
- (expects)294 1572 A
- 1908(an)S
- (inode,)252 2034 A
- 2328(so)S
- (acquire)294 2454 A
- 2790(it)S
- (temporarily.)504 2916 A
- 2520 V
- (26023)210 648 A