Commit Graph

80 Commits

Author SHA1 Message Date
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