Commit Graph

248 Commits

Author SHA1 Message Date
matthias 574106c52b create miscfs/genfs/genfs_vnops.c:genfs_enoioctl and make all the other
filesystems use it instead of a private version.
1998-08-10 08:11:10 +00:00
perry 4522c799a1 bzero->memset, bcopy->memcpy, bcmp->memcmp 1998-08-09 20:51:08 +00:00
kleink 12a866151b Recognize _PC_SYNC_IO. 1998-08-03 14:19:57 +00:00
kleink 933111f98f Implement support for IEEE Std 1003.1b-1993 synchronous I/O:
* in the read vnode operator, check for IO_SYNC being set in the ioflag and
  synchronously update the file's meta-data if appropriate.
* in the write vnode operator, update the appropriate checks for IO_SYNC being
  set in the ioflag to reflect that IO_DSYNC is now inclusive-or'ed into
  IO_SYNC, and require all IO_SYNC bits to be set for operations defined by
  synchronized I/O file integrity completion but not by synchronized I/O data
  integrity completion.
1998-08-02 18:57:23 +00:00
jonathan d275e56dee * defopt COMPAT_{09,10,11,12,13} and COMPAT_NOMID.
TODO: revisit interaction between native compat and emul compat usage.
1998-07-05 08:49:30 +00:00
thorpej 0f66e53c03 Use genfs_lease_check() 1998-06-25 22:20:39 +00:00
cgd 651b44e211 Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install.  (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.)  The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change.  Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
1998-06-12 23:22:30 +00:00
scottr 7171cca4b8 Protect various config(8)-generated files from inclusion while
building LKMs.  Fixes PR 5557.
1998-06-09 07:46:31 +00:00
scottr d48f258f90 Use the newly-defined opt_quota.h. 1998-06-08 04:27:50 +00:00
kleink 382743ada3 Convert fsync vnode operator implementations and usage from the old `waitfor'
argument and MNT_WAIT/MNT_NOWAIT to `flags' and FSYNC_WAIT.
1998-06-05 19:53:00 +00:00
thorpej c4fe0d9f54 Name a simple lock consistently. 1998-05-20 01:45:15 +00:00
thorpej dc799409ce Fix missing variable increment, which caused writing FAT32 filesystems
to hang.  From Masaru Oki <oki@yk.rim.or.jp>.
1998-05-02 01:47:12 +00:00
fvdl ebe551c3b3 Guess the number of needed cookies in a better way, and check for
overflow of the cookie array. Pointed out by Wolfgang Solfrank.
1998-04-21 09:37:23 +00:00
ws 761ce530bb unlock the lock we previously locked, not another one! 1998-04-20 16:48:05 +00:00
fvdl e5bc90f40c Merge with Lite2 + local changes 1998-03-01 02:20:01 +00:00
thorpej b5bf2ed6d0 Place a pointer to an array of our vnodeopv_desc *'s in our vfsops
structure, for use by vfs_attach().
1998-02-18 07:05:47 +00:00
mrg dec29037df make these compile. 1998-02-12 10:12:55 +00:00
mrg d90485202c - add defopt's for UVM, UVMHIST and PMAP_NEW.
- remove unnecessary UVMHIST_DECL's.
1998-02-10 14:08:44 +00:00
chs f64abc7b4c add flags arg to hashinit(), to pass to malloc(). 1998-02-07 02:44:44 +00:00
mrg 1a8c7604f4 initial import of the new virtual memory system, UVM, into -current.
UVM was written by chuck cranor <chuck@maria.wustl.edu>, with some
minor portions derived from the old Mach code.  i provided some help
getting swap and paging working, and other bug fixes/ideas.  chuck
silvers <chuq@chuq.com> also provided some other fixes.

this is the rest of the MI portion changes.

this will be KNF'd shortly.  :-)
1998-02-05 07:59:28 +00:00
ws 4e4c231c15 PR4393: additional fixes of format strings for unsigned parameters
PR4394: be more consistent with other MSDOSFS_DEBUG messages
PR4395: fix generation numbers as in the PR, and fix short name for e.g. x.aaaa
PR4396: easier fix then given in the PR
All PRs by Rick Byers.  Thanks Rick for pointing these out
1997-11-17 15:36:17 +00:00
christos ceedd58536 PR/4394: Rick Byers: MSDOSFS_DEBUG kernel panics during mount. 1997-11-16 21:50:10 +00:00
christos 96a8d9af7b PR/4393: Rick Byers: MSDOSFS_DEBUG kernel does not compile. 1997-11-16 21:47:27 +00:00
ws f1be2b6fac Fix lossage with diroffset handling in root dir 1997-11-08 19:18:57 +00:00
ws f92f4e8ac3 Correct handling of empty files (fixes PR4285 by (and tested by) Dave Huang) 1997-10-18 22:12:27 +00:00
briggs aead314eea Use bcmp instead of memcmp since we haven't switched to using memcmp elsewhere
in the kernel.
1997-10-18 02:54:57 +00:00
ws 9c1b7cfa37 Add support for FAT32
Don't panic if renaming a file to itself
Don't try to keep access times, there is no place for them
While being here, fix some minor bugs with VFAT handling
1997-10-17 11:23:29 +00:00
christos 7a5c72bb88 Add missing cast to nlink_t 1997-10-16 23:58:05 +00:00
fvdl fd5433c6bc Bump last argument to VOP_READDIR to off_t (from u_long). 1997-10-10 01:57:31 +00:00
christos 7eaff8a411 Remove bogus `locking by process 0' diagnostic; from Charles. 1997-07-30 03:47:12 +00:00
christos 9c227f4705 Add msdosfs_mountroot; we still have a problem with locking by proc 0,
but it does not seem to affect things.
1997-07-28 23:41:04 +00:00
fvdl 3d85c0c28a Return EPERM for an attempt to remove a directory with VOP_REMOVE. 1997-06-30 20:20:31 +00:00
christos b59135a6fb Avoid panic triggered by rename("foo/", "bar/..") (From Mycroft) 1997-06-26 22:23:17 +00:00
pk 80bb266e0e NULL => 0 (Arne Juul; PR#3629) 1997-05-17 20:31:15 +00:00
mycroft f14deb8a73 Need stat.h. 1997-05-08 16:53:06 +00:00
mycroft 5bd3538a41 Fix typo. 1997-05-08 16:43:16 +00:00
mycroft e3f99a9397 Pass the vnode type to vaccess(), and use it when checking VEXEC. Make sure
that the mode bits passed to vaccess() and returned by foo_getattr() contain
only permission bits.
1997-05-08 16:19:43 +00:00
mycroft 837a72363d VEXEC -> VLOOKUP, as appropriate. 1997-05-08 10:57:17 +00:00
kleink 9c16cd8a46 Implement a POSIX compliant genfs VOP_SEEK() and use it in the appropriate
places; by Chris G. Demetriou and myself.
1997-04-11 21:52:00 +00:00
perry b89a3425b7 Eliminate obsolete TIMEZONE and DST options.
Eliminate obsolete global kernel variable "struct timezone tz"
Add RTC_OFFSET option
Add global kernel variable rtc_offset, which is initialized by
RTC_OFFSET at kernel compile time.
on i386, x68k, mac68k, pc532 and arm32, RTC_OFFSET indicates how many
minutes west (east) of GMT the hardware RTC runs. Defaults to 0.
Places where tz variable was used to indicate this in the past have
been replaced with rtc_offset.
Add sysctl interface to rtc_offset.
Kill obsolete DST_* macros in sys/time.h
gettimeofday now always returns zeroed timezone if zone is requested.
settimeofday now ignores and logs attempts to set non-existant kernel
timezone.
1997-01-15 01:28:28 +00:00
cgd 145233fa6e 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:31:41 +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
ws 976b43fd61 Fix panic on mkdir.
Thanks to Dave Huang for finding the bug.
1996-11-08 15:51:49 +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 17f5b2a175 backout previous kprintf changes 1996-10-13 04:10:34 +00:00
christos 60d201973e printf -> kprintf, sprintf -> ksprintf 1996-10-10 22:46:11 +00:00
ws 14993c9720 "'" and "^" are allowed in short fat filenames,
"," and ";" are not.
1996-09-20 16:45:45 +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
mycroft 3d7adb4768 sys/dir.h -> sys/dirent.h 1996-08-10 08:48:24 +00:00
ws 7d29fb5aaa Allow renaming when destination exists.
Fixes PR#2629
1996-07-15 19:12:13 +00:00
ws d1a21707db Free allocated space in directory after error
(While this wasn't technically speaking a bug, it unneccessarily wasted space)
1996-05-25 17:50:41 +00:00
thorpej c761c7d3ca Shut up whining compiler so this will build on a SPARC again (-Wall). 1996-03-20 00:45: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
ws 32761b2385 Don't return from removede prematurely.
Fixes PR# 2185 and 2068
1996-03-07 13:30:46 +00:00
ws f331e77b53 Deal correctly with boundary between 12 bit and 16 bit cluster numbers 1996-02-11 22:48:14 +00:00
christos 01b73223a6 msdog prototype changes 1996-02-09 19:13:39 +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
ws 144472e875 Deal (hopefully) better with uninitialized date fields 1996-02-03 16:04:09 +00:00
jtc 299e1fe9df Rename struct timespec fields to conform to POSIX.1b 1996-02-01 00:31:05 +00:00
mycroft 9836ea60d6 Remember to multiply the seconds field by 2. Pointer out by John Hayward. 1996-01-31 20:51:40 +00:00
fvdl e1829fbf01 Fix error in previous change: don't use the local FS mount data before
it's actually allocated. Pass mount arguments to msdosfs_mountfs instead,
and use them (as in iso_mountfs for example).
1996-01-21 16:35:29 +00:00
leo 85ea3b1702 Instead of using '#ifdef atari' to handle the differences of Gemdosfs and
Msdosfs, use a flag that can be set by mount_msdos. This is definitely
more flexible.
1996-01-19 14:28:05 +00:00
mycroft 3fbc1f7e9b Enable flock(2). 1995-12-01 07:26:58 +00:00
ws 10ebaa7036 Don't overwrite dirclust, it's needed later on 1995-11-30 19:00:57 +00:00
ws 9dd5549e5d Fix thinko with block boundaries in directories 1995-11-30 17:50:26 +00:00
ws f4d1bdb04f Fix thinko in last 1995-11-29 18:28:51 +00:00
ws debbf2f60e - Add support for Win'95 separate creation/modification/access timestamps
- Re-introduce lowercase filenames for non-Win'95-filesystems
1995-11-29 15:08:32 +00:00
ws 29fff9256a Don't forward credentials to bread, it makes nfs panic
(Of course, nfs shouldn't rely on the credentials not being referenced)
Don't give directory entry to deget, it could result in a deadlock
Use device blocks, not clusters for logical block numbers
1995-11-05 18:47:48 +00:00
ws 77daf1e361 Fix cookie handling 1995-11-03 19:36:41 +00:00
ws e0f9d74ef5 Really don't generate long names when mounted with -s 1995-11-03 17:29:53 +00:00
ws 9c20d7c675 Win95 ignores case on lookup 1995-10-30 19:06:15 +00:00
ws a96f4bc2fc Add support for Win'95 long filenames 1995-10-15 15:34:19 +00:00
ws 6820273c34 Don't allow setattr on msdos directories (fixes pr kern/1436)
Correct handling of rmdir'ing open directories
Correct implementation of rename (includes renaming of directories)
Handle root directories that are not multiple clusters in size
1995-09-09 19:38:00 +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
leo 891ce379fd Make the msdosfs driver understand Atari-gemdos filesystems. Although they
have much in common, there are some differences in the bpb/bootsector that
needed to be handled in the mounting code. The gemdos bpb/bootsector structs
are included for clarification.
1995-07-24 06:36:23 +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 6b8a5d7b8e Update a comment in deupdat() to reflect current reality. 1995-06-02 16:19:55 +00:00
mycroft 7aeec96289 Various changes:
* Update the `archive' bit any time the file's time stamp is updated.
* Don't set the `archive' bit automatically for directories, and don't
update the time stamp of directories automatically.  (There are the DOS
semantics.)
* Use DE_TIMES() to change the time stamp in deupdat().  Remove the extra
time stamp argument, as it's superfluous, and we may want to make changes
without touching the time stamp.
* Allow denode updates iff DE_MODIFIED is set after DE_TIMES() is called.
This allows us to make changes that are totally independent of the time
stamp, and to avoid rewriting the entry if the time stamp was ignored (e.g.
for directories).
* Make time stamp changes in setattr() asynchronous.
1995-06-02 15:33:22 +00:00
mycroft 320cd8e632 Fix typo. 1995-06-02 14:54:53 +00:00
mycroft dc4b7aaed2 Set the `archive' bit on created files. Copy some code from UFS to do better
permission checking in setattr().
1995-06-02 14:52:34 +00:00
mycroft 641dc38337 Require the denode to be locked before calling msdosfs_hashins(), rather than
inlining the rest of the code in reinsert().  (No functional changes.)  Also,
make sure that we don't print the (bogus) lock values when !DIAGNOSTIC.
Partly based on a patch from Mike Pritchard.
1995-04-07 17:37:08 +00:00
briggs 6efcd1b6d4 KERNEL -> _KERNEL 1995-03-29 21:57:43 +00:00
mycroft ad8b7c8c7d Remove some sanity checks that are too restrictive, as suggested by Leo. 1995-03-27 12:59:56 +00:00
ws 046d575708 Use the correct block number for updating the backup copy of the FAT when
deleting a file.  Deleting a large file used to scramble the backup copy.
Found in FreeBSD by bde.
1995-03-19 20:52:36 +00:00
ws 6239f691c1 Fix off-by-one error in root directory length calculation 1995-03-12 16:27:34 +00:00
mycroft 2f805fa51b copy*str() should use size_t. 1995-03-09 12:05:21 +00:00
cgd 0597756675 size for copyinstr should be u_long 1995-03-08 01:49:37 +00:00
mycroft b053bf36d7 Clean up the code to frob mnt_stat a bit. 1995-01-18 09:14:37 +00:00
mycroft 26c2193e75 Some trivial cleanup. 1995-01-04 06:32:19 +00:00
mycroft b67fe41d0a Nuke second arg to DE_TIMES(). 1995-01-04 06:03:11 +00:00
mycroft 168de79d49 Ignore entries with ATTR_VOLUME set when checking if a directory is empty. 1994-12-27 21:53:31 +00:00
mycroft cb513a3f6b Use vaccess(). 1994-12-27 18:49:09 +00:00
mycroft 7225b8231e Push more of the time conversion code into unix2dostime(). Maintain the
ATTR_ARCHIVE bit according to DOS semantics, and allow it to be changed by chflags(2).
1994-12-27 18:36:21 +00:00
mycroft a39590964b vput() the source vnode and return EOPNOTSUPP for (unsupported) link. 1994-12-27 18:00:26 +00:00
mycroft 6b1a9a5ff9 Call foo_statfs() from a common place when mounting. 1994-12-15 20:47:51 +00:00
mycroft 3e4078946b Update to match other fs code. 1994-12-14 16:33:18 +00:00
mycroft 527b796ff5 Turn lease_check() into a vnode op, per CSRG. 1994-12-13 20:14:30 +00:00
cgd 6ac2bbfc35 be more careful with types, also pull in headers where necessary. 1994-10-30 21:43:03 +00:00
cgd f704435aa1 light clean; make sure headers are properly included, types are OK, etc.
use UNALINGNED_ACCESS macro, to determine how to get at fields.
1994-10-29 07:59:27 +00:00
mycroft 429c7771d3 Correct padding in 3.3 boot sector structure, per Mike Hartman. 1994-10-28 22:40:46 +00:00
cgd 6b86130410 update for new syscall args description mechanism 1994-10-20 04:22:35 +00:00
mycroft 245f59a3c7 Fix typo in last change. 1994-09-28 15:00:31 +00:00
mycroft 4a01c33ac6 Return EINVAL on attempted flags change. 1994-09-28 11:51:36 +00:00
mycroft ae583dca34 Various changes:
* Make some of the code look more like UFS.
* Check permissions in lookup().
* Move the directory size special case into DE_EXTERNALIZE().
* Fix some conditions where lookup() might not release a buffer.
* Remove bogus flag handling in setattr().
* Pass timespec, not timeval, to deupdat().
* Check more error conditions.
* Fix possible panics in rename().
* Simplify readdir().
* General code cleanup; add prototypes, delete unused variables, etc.
1994-09-28 11:31:23 +00:00
mycroft 4b5f323219 Define VFSTOMSDOSFS(), and use it. 1994-09-22 02:34:49 +00:00
mycroft cb0453c424 Make some of this look like UFS again. 1994-09-19 19:28:07 +00:00
mycroft 7087c929e8 Use global `doforce' variable. 1994-09-19 19:17:54 +00:00
mycroft c8899c8f8e Fix an off-by-one error reported by Mike Hartman. 1994-08-30 01:31:11 +00:00
ws 133e05b464 Fix bug with writing back modified directory entries 1994-08-21 18:43:49 +00:00
ws 872b3e89e0 Fix rename bug found by vdlinden@fwi.uva.nl 1994-08-09 18:44:12 +00:00
ws 865d38c0e2 Fix one of these famous off-by-one errors. 1994-08-09 17:51:29 +00:00
ws 70b7bfcf94 Fix for endless loop on nearly full disk 1994-08-04 16:32:29 +00:00
ws 31484b8fb4 Fix for new dirent structure 1994-07-19 11:20:40 +00:00
mycroft 901f3bbe9f Give some flags longer and more mnemonic names. 1994-07-19 04:29:55 +00:00
cgd fb6819f643 finish updating to new vnode interface, from ws. 1994-07-18 21:38:08 +00:00
cgd 67f5c87f44 update from ws. make it work again 1994-07-16 21:32:06 +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 ebcaebd335 MIN -> min, MAX -> max 1994-05-24 02:35:53 +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 933495ac33 typo, pointed out by ws. 1994-04-20 17:10:59 +00:00
cgd 93159ea799 fs types are names now. 1994-04-14 04:05:45 +00:00
cgd dce8f4f821 add support for being user-mounted. add support for setting uid and
gid of files, as well as mask for file perms.  this code desperately needs
cleanup.
1994-04-07 07:30:23 +00:00
cgd e6a6d0ec1b fix from nnd@KremlSun.ussr.EU.net for lookup/conversion bug 1994-04-07 02:24:17 +00:00
cgd 304e374292 expand uid_t/gid_t/off_t 1994-03-27 09:08:02 +00:00
mycroft cf69754fa3 Fix minor bogon from last change. 1994-03-08 01:56:24 +00:00
paulus 7c687a255f msdos filesystem now works on big-endian machines. 1994-03-03 00:51:30 +00:00
mycroft a893329d3b Kill useless comment. 1994-02-14 21:47:57 +00:00
mycroft 94b2718bd1 PARANOID --> DIAGNOSTIC for inexpensive tests. 1994-02-14 21:43:33 +00:00
cgd 0b5ba5176a be sure to clear pm_fmod when mounting the FS, and be a bit more careful
when setting it.  The former allows one to unmount readonly-mounted file
systems, the latter is good style.
1994-02-07 23:14:16 +00:00
pk 9916da00fe Initialize variable in mountmsdosfs(). 1994-01-20 09:46:40 +00:00
cgd 0e116508d4 check cross-device renames 1994-01-12 03:33:33 +00:00
mycroft b8cd510204 Canonicalize all #includes. 1993-12-18 00:50:51 +00:00
mycroft 95b048b53a Canonicalize all #includes. 1993-12-18 00:40:47 +00:00
cgd bc0ee80f7b don't do the exflags thing. 1993-12-02 06:23:48 +00:00
cgd 755a93789b indent Id properly 1993-12-01 22:42:29 +00:00
cgd 4909e76819 update from Jeff Polk; better validation 1993-12-01 10:35:21 +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
cgd 20d926b4e9 change ni_rdir to ni_rootdir in #ifdef PARANOID. from rgrimes 1993-10-18 22:42:14 +00:00
cgd cf6729f6fe patch from ws via brezak, to fix the "don't panic, but can't see
anything in subdirs" problem.
1993-09-17 01:21:46 +00:00
ws 019b759766 Fix a bug in local (non-NFS) directory reading 1993-09-14 13:13:45 +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 90fe4cc799 make the EJUSTRETURN return in the lookup function be #ifdef __bsdi__,
because they did some strange hacks in vfs_lookup...
1993-09-03 04:36:25 +00:00
cgd 54eb3b1f88 brought in fixed/renamed/matching MS-DOS FS code, from Jeff Polk
<polk@bsdi.com>.  His notes are as follows:
------------------------------------------------------------------------------

 July 22, 1993

 - Changed name of entire package from PCFS to MSDOSFS

 - Fixed bugs:
      root directory size in clusters instead of bytes
      growing directory didn't update in-core size
      link, symlink, mknod didn't free locked parent (deadlock)
      lookup returned real error on create and rename instead of EJUSTRETURN
      rename changed `.' entry in child instead of name entry in parent
      rename removed `.' entry in child instead of removing entry in
              parent when moving a directory from one dir to another
      createde() left new node locked when write of parent failed (deadlock)
      removede() decremented refcount even on error (rmdir's which failed
              due to write errors left in-core cache entries inconsistent)
      changed validation for filesystem to not check for the boot signature
              since some disks (e.g., mtools) aren't bootable
      directories are always show current time as modify time
              (needed for NFS export since DOS never updates dir mod times --
               ctime is true create time).

 - Added support for cookies changes to the readdir() vnode
      interface (#ifdef __bsdi__)

 - Punted on the whole problem of inode generation numbers.  This means
   that there's a chance of using a stale file handle to access a new
   file, but it doesn't appear to be the common case, and I don't see
   how to generate reasonable generation numbers without changing something
   on the disk (which is the way the SVR4 filesystem survival kit guys
   did it).  I don't think it would be very safe to change the on-disk
   format.

        Jeff Polk (polk@BSDI.COM)

------------------------------------------------------------------------------
1993-08-13 11:35:13 +00:00