Commit Graph

153 Commits

Author SHA1 Message Date
cgd 18ed614151 split iso.h into two parts: iso.h (which now contains _only_ definitions
about ISO9660 file system structure), and cd9660_extern.h (which now
contains the definitions and data structures used by the kernel).
There's lots of other stuff scattered around this code that should go
into cd9660_extern.h, but doesn't need to right now.  This changed patterned
on ffs, which has 'fs.h' which describes the FS structure, and ffs_extern.h
for kernel-internals gunk.  Now libsa can include iso.h without the nasty
hack that was there before.

Also, clean up the isonum_* definitions so that the #ifdefs aren't
impossibly spread apart.  (Now the #ifdefs are _in_ the functions.  This
leads to #ifdefs that are only a few lines long, rather than a few _pages_
long, as well as a reduction of duplication of function headers, etc.)
Note that isonum_7{21,22,31,32} are currently missing.
1997-01-24 00:26:31 +00:00
cgd c6b52a9608 split iso.h into two parts: iso.h (which now contains _only_ definitions
about ISO9660 file system structure), and cd9660_extern.h (which now
contains the definitions and data structures used by the kernel).
There's lots of other stuff scattered around this code that should go
into cd9660_extern.h, but doesn't need to right now.  This changed patterned
on ffs, which has 'fs.h' which describes the FS structure, and ffs_extern.h
for kernel-internals gunk.  Now libsa can include iso.h without the nasty
hack that was there before.
1997-01-24 00:24:53 +00:00
cgd 90688fce27 Change the second and third args to struct vfsops' (*vfs_mount)() to
'const char *', and 'void *', respectively.  The second arg is taken directly
from user arguments, and is const there, so must be const in the prototypes
and functions.  The third arg is also taken directly from user arguments.
It doesn't have to be changed, but since it's cleaner to keep the type
the same as the user arg's type, and I'm already making the 'const char *'
change...
1996-12-22 10:10:12 +00:00
cgd ce53653783 make the namei struct members ni_dirp and ni_next, and the componentname
struct member cn_nameptr 'const', since they should never be used to
modify the path name.  (Only the pathname buffer, cn_pnbuf, should be
modified.)  Propagate the const poisoning to code that uses the namei
and componentname structs.
1996-10-25 23:13:58 +00:00
christos e44c1d1f33 backout previous kprintf changes 1996-10-13 02:28:58 +00:00
christos c514106b9d printf -> kprintf, sprintf -> ksprintf 1996-10-10 22:39:39 +00:00
thorpej 9a4909e2e2 Prototype cd9660_setattr(). 1996-10-04 03:27:49 +00:00
thorpej f3a02a3e45 Prototype the inline functions before declaring them. Compiles again
on the SPARC.
1996-10-04 03:23:36 +00:00
ws f41078daf3 Extern inline functions to better support cross-compilation 1996-09-30 15:53:13 +00:00
ws 7299885617 Allow changing the length of devices and fifos on the readonly 9660 fs. 1996-09-30 15:52:00 +00:00
ws f3c7374317 Formatting police 1996-09-30 15:50:19 +00:00
mycroft 2bc736661a Implement poll(2). 1996-09-07 12:40:22 +00:00
mycroft c52352c819 Add a set of generic file system operations that most file systems use.
Also, fix some time stamp bogosities.
1996-09-01 23:47:48 +00:00
ws 17d0816194 Allow newer IEEE version of Rock Ridge CDs
Note that this should really handle the multiple ER/ES entries, sparse files
and probably the file serial number field in PX entries.
1996-07-12 13:15:29 +00:00
ws abee4409dd Correct evaluation of assoc introduced on ansification
Correct some function parameters (in #ifdef'ed out code)
Correct references to ufs in messages and comments
some formatting changes
1996-03-16 20:25:40 +00:00
scottr 6efb550cb2 DIRSIZ -> DIRENT_SIZE, to avoid a conflict with the ufs and <dir.h>
(compat) DIRSIZ macros.  Also closes PR 2184.
1996-03-08 18:13:05 +00:00
gwr 27db0deb1b Use <sys/dirent.h> instead of <sys/dir.h> which is depreciated. 1996-02-29 20:36:39 +00:00
christos 2f1e5a946a Another typo. 1996-02-10 00:33:53 +00:00
christos 245d8c1eb2 isofs prototypes 1996-02-09 21:31:50 +00:00
mycroft 53fccab940 Fix vop_link, vop_symlink, and vop_remove semantics in several ways:
* Change the argument names to vop_link so they actually make sense.
* Implement vop_link and vop_symlink for all file systems, so they do proper
  cleanup.
* Require the file system to decide whether or not linking and unlinking of
  directories is allowed, and disable it for all current file systems.
1996-02-09 14:45:36 +00:00
jtc e19bfae4f9 Rename struct timespec fields to conform to POSIX.1b 1996-02-01 00:18:04 +00:00
pk fe934606c7 NBPG may not be computable by the preprocessor. Make "do clustered io"
a run-time decision. Note: the compiler can optimize it away.
1995-12-01 00:47:33 +00:00
cgd 7a34e263d7 "goto start" after sleeping for locked iso_node in cd9660_lock, like
in ufs_lock.
1995-11-08 22:26:24 +00:00
cgd e9d17d38b5 avoid unnecessary aging of buffers. This used to make sense, when buffer
caches were much smaller, but makes little sense now, and will become more
useless as RAM (and buffer cache) sizes grow.  Suggested by Bob Baron.
1995-07-24 21:19:27 +00:00
cgd db0f3de337 replace an incorrect remque. 1995-06-28 05:10:45 +00:00
cgd 8f62c773e8 don't assume the f_fsnamelen is nul-truncated or longer than MFSNAMELEN 1995-06-18 14:45:14 +00:00
mycroft 2f805fa51b copy*str() should use size_t. 1995-03-09 12:05:21 +00:00
cgd aac6b08302 use u_long for copyin* 1995-03-08 01:33:20 +00:00
mycroft 4c34be6b52 Clean up deleted files. 1995-03-01 00:00:00 +00:00
mycroft f8bce247fa Fix typo in previous. 1995-01-18 09:26:18 +00:00
mycroft ac152cdeb3 Clean up the code to frob mnt_stat a bit. Eliminate im_fsmnt. 1995-01-18 09:23:18 +00:00
mycroft 6afe4059be Turn mountlist into a CIRCLEQ, and handle setting and checking of MNT_ROOTFS
differently.
1995-01-18 06:14:00 +00:00
mycroft 609063ce2b Format police. 1994-12-27 19:05:12 +00:00
ws 2f0fb8ee09 Implement and use a common access checking routine 1994-12-24 16:44:12 +00:00
cgd 55300e7b13 various cleanups suggested by James Jegers, some then fixed up by me. 1994-12-24 15:30:03 +00:00
mycroft b4aa6d3a28 Call foo_statfs() from a common place when mounting. 1994-12-15 19:46:08 +00:00
mycroft 7beacb354f This *doesn't* need dkbad.h. 1994-12-14 13:42:18 +00:00
mycroft 8c03c53858 Sync with CSRG. 1994-12-13 22:33:10 +00:00
mycroft ab509af8af Patches from Kirk Mckusick to fix the fifo and spec op tables, and speed up
symlink handling a little.
1994-12-06 06:56:40 +00:00
cgd 6ac2bbfc35 be more careful with types, also pull in headers where necessary. 1994-10-30 21:43:03 +00:00
cgd be8c7b9d80 light clean; make sure headers are properly included, types are OK, etc. 1994-10-29 07:58:24 +00:00
cgd 6b86130410 update for new syscall args description mechanism 1994-10-20 04:22:35 +00:00
mycroft 3d13acbea0 Make the tstamp functions take `u_char *', not `char *'. 1994-09-22 02:47:31 +00:00
mycroft ef22ebf733 Change timevals to timespecs. 1994-09-22 02:44:35 +00:00
mycroft 9283f4936d Change the remaining 731's to 733's. Redo the conversion functions to
allow unaligned access.  Don't use 0-length arrays.
1994-09-19 09:09:46 +00:00
mycroft c0cc31ee6f For symlinks, try actually reading the link to determine its size. 1994-08-19 11:36:56 +00:00
mycroft b6e5975c12 Fix off-by-one error translating names of associated files. 1994-08-19 11:31:50 +00:00
mycroft 0372e53d79 Mild nits. 1994-08-03 06:03:12 +00:00
mycroft 92183975ef Make sure we don't release the buffer too early. 1994-07-22 23:17:59 +00:00
mycroft dd628fd6d9 Fix potential infinite loop on empty directory blocks (not that this should
ever happen).
1994-07-20 06:09:38 +00:00
mycroft 988d22662a Implement pathconf(2). 1994-07-19 23:33:59 +00:00
mycroft 8e8b6c5b10 Not that it matters, but don't assume we're two's-complement. 1994-07-19 15:27:40 +00:00
mycroft fa062570f9 Fix two more typos (identical). 1994-07-19 15:14:07 +00:00
mycroft ffbc3c6a24 Fix typo. 1994-07-19 15:10:50 +00:00
mycroft f8fae0f555 More redux. 1994-07-19 15:07:36 +00:00
mycroft 1656a89476 Clean up a bit:
Implement cd9660_blkatoff() and use it.
Reduce lots of multiplies and divides to shifts.
Make some macros look more like UFS.
Make isodirino() return the inumber rather than poke it into the abyss.
1994-07-19 14:14:08 +00:00
mycroft e5fad6ece4 Remove things which are already done. 1994-07-19 11:34:48 +00:00
mycroft 0dd02c82cf Fix inode number generation in readdir(). 1994-07-18 13:13:46 +00:00
mycroft 258fcca13b For VOP_VGET(), pretend that relocated directories don't exist, for now. 1994-07-18 08:07:50 +00:00
mycroft da89cc4547 Remember to clear d_type. 1994-07-14 01:43:42 +00:00
mycroft 0c2e843ee1 Implement cd9660_vget(). Clean up a bit. 1994-07-13 22:30:07 +00:00
mycroft af65c82115 Style nits. 1994-07-03 09:51:58 +00:00
deraadt 0cb4bed2dd knf 1994-06-30 07:25:23 +00:00
cgd cf92afd66e New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD' 1994-06-29 06:29:24 +00:00
cgd 89e331dcad new standard, minimally intrusive ID format 1994-06-27 19:40:57 +00:00
mycroft 39f627ae40 b_un.b_addr -> b_data 1994-06-14 23:54:44 +00:00
mycroft 76da4f6f36 From 4.4-Lite, with local changes. 1994-06-08 11:22:45 +00:00
mycroft 1968713466 Clean up deleted files. 1994-06-08 11:22:09 +00:00
cgd ebcaebd335 MIN -> min, MAX -> max 1994-05-24 02:35:53 +00:00
cgd 13ce945491 don't break on dirent.h 1994-05-07 01:22:26 +00:00
cgd d071d1cf05 some prototype cleanup, eliminate/replace bogus types (e.g. quad and
u_quad) -> use better types (e.g. quad_t & u_quad_t in inodes),
some cleanup.
1994-04-25 03:49:27 +00:00
cgd 4917d8beec make fs types consistent over new kernels. also, some proto foo. 1994-04-23 07:54:38 +00:00
cgd 3dda0064a5 Convert mount, vnode, and buf structs to use <sys/queue.h>. Also,
some knf and structure frobbing to do along with it.
1994-04-21 07:47:31 +00:00
cgd 282afb6b5c fs types are names now 1994-04-14 04:05:14 +00:00
ws 24a233289e Do some access checks 1994-03-15 21:37:29 +00:00
ws e17a876370 Add plausibility check to prevent infinite loops 1994-03-13 17:24:23 +00:00
ws a21a74eddd Correct timezone handling 1994-03-10 17:03:40 +00:00
ws 442e944127 Correct handling of ST field (+some minor reformatting) 1994-03-02 19:05:20 +00:00
ws ae33a75671 Correct (de-)blocking in readlink 1994-03-02 19:04:29 +00:00
mycroft 94b2718bd1 PARANOID --> DIAGNOSTIC for inexpensive tests. 1994-02-14 21:43:33 +00:00
ws f0813df6f0 Fix off by one error 1994-02-06 20:38:42 +00:00
cgd 662ddfaad5 fix from: line 1994-01-12 23:20:15 +00:00
cgd a31e66148f isofs_print return type reverts to 'int' 1993-12-23 07:37:42 +00:00
mycroft 264d2b2740 Canonicalize all #includes. 1993-12-18 04:31:28 +00:00
ws 226a277da1 Bug fixes to ISOFS 1993-11-26 19:56:51 +00:00
cgd facd69a0ee do something better with lookup return values; suggested by BSDI's msdosfs mod 1993-11-20 09:40:32 +00:00
cgd 76dbc1192b new specfs.h and fifo.h locations 1993-11-12 05:54:12 +00:00
ws e9cc0abb40 Better handling of empty files (fix the symlink bug).
Let filenames alone, if mounted with -gen.
Change filename on associated files to start with `=' and not end in `@'.
1993-10-28 17:38:42 +00:00
cgd 20d926b4e9 change ni_rdir to ni_rootdir in #ifdef PARANOID. from rgrimes 1993-10-18 22:42:14 +00:00
ws 51a962e341 Bug fix in compare routine for correct sorting order.
But at the same time disable sorting optimization,
as there are a lot of CDs with incorrectly sorted directory records.
1993-09-16 16:54:09 +00:00
ws 053f138dae Changes to VFS readdir semantics
NFS changes for better cookie support
ISOFS changes for better Rockridge support and support for generation numbers
1993-09-07 15:40:14 +00:00
cgd fb0dffe28a new byte-order-independent isofs patches from mw 1993-09-03 04:37:52 +00:00
mycroft 681bf3f675 Add RCS identifier. 1993-08-07 09:32:14 +00:00
mycroft 6821c04ecc Make isofs_print have a return type of void. 1993-08-02 23:04:36 +00:00
mycroft 3837ce5a19 Make isofs_print have a return type of void. 1993-08-02 23:00:04 +00:00
mycroft 4862b84c92 Add RCS identifiers (this time on the correct side of the branch), and
incorporate recent changes in netbsd-0-9 branch.
1993-08-01 19:22:24 +00:00
cgd f1abcd53a4 Rockridge support added a la mods by Atsushi Murai. (amurai@spec.co.jp) 1993-07-19 13:40:00 +00:00
cgd 91016c92d6 give isofs mount structures their own malloc type 1993-06-07 18:12:52 +00:00
cgd c88530d318 give various filesystems their own vnode types 1993-06-07 05:25:16 +00:00
cgd 1ce79eb6ba add rcsids and header cleanup 1993-05-20 03:30:41 +00:00