Commit Graph

52 Commits

Author SHA1 Message Date
lukem
cd13721ca0 add RCSIDs 2001-11-10 13:22:20 +00:00
simonb
9b90ed2100 Remove some variables that are set but never used. 2001-11-06 07:18:14 +00:00
jdolecek
bd462d0988 fix one of debug printfs to print dosfilename correctly, and include
a newline
2000-08-11 19:41:58 +00:00
jdolecek
1d246008e0 Support async option by using delayed writes for metadata when mounted
with async. This increases the speed of my extract-archive test by about
20% on floppy, 10% on ZIP. "You've got the rope."
2000-03-27 09:44:45 +00:00
jdolecek
725f8327fd remove some debugging cruft accidentally left in 2000-03-24 14:37:46 +00:00
jdolecek
82d947ce4d createde(): if an error occurs, make sure to mark all modified directory
slots as deleted - otherwise we would leave bogus slots in
2000-03-22 14:56:56 +00:00
jdolecek
1892cb67c4 cosmetic changes - prettify debug printf's, reformat comments to fit 80 columns,
label:; --> label:
msdosfs_lookup(): in notfound case, update slot* only when it's needed
2000-03-22 14:49:32 +00:00
jdolecek
c4d3702f61 msdosfs_lookup(): reformat some debug printf slighly to make them more readable 2000-02-01 13:59:34 +00:00
jdolecek
f759642ae2 Fix a problem in previous: we can't blindly assume that we have
wincnt entries available at the offset the file has been found. If the dos
directory entry is not preceded by appropriate number of long name
entries (happens e.g. when the filesystem is corrupted, or when
the filename complies to DOS rules and doesn't use any long name entry),
we would overwrite random directory entries.

There are still some problems, the whole thing has to be revisited and solved
right.
1999-11-05 21:33:21 +00:00
jdolecek
ead528ba12 msdosfs_lookup(): initialize denode's de_fndcnt properly even for
"found" case. This information is important for msdosfs_rename(),
when the target filename is "long" and the file exists -
it gets unlinked and the entries are re-used, but if de_fndcnt was
left zero, createde() thinks there are no entries to store the
long filename of moved file and long filename is "lost".

Fixes PR #5468 by Dave Huang <khym@bga.com>.

Tested by: jdolecek
Reviewed by: Wolfgang Solfrank
1999-11-05 16:49:15 +00:00
jdolecek
7dfaa17700 Adapt to cache_lookup() changes.
Tested by: jdolecek
Rewieved by: wrstuden
1999-09-05 14:26:32 +00:00
wrstuden
169a5eda2d Pull in changes which parallel rev 1.22 -> 1.25 of ufs_lookup(). 1999-08-04 18:40:47 +00:00
wrstuden
379a26972f Modify file systems to deal with struct lock in struct vnode. All leaf
fs's other than nfs use genfs_lock() for locking.

Modify lookup routines to set PDIRUNLOCK when they unlock the parrent.
1999-07-08 01:05:58 +00:00
perry
4522c799a1 bzero->memset, bcopy->memcpy, bcmp->memcmp 1998-08-09 20:51:08 +00:00
fvdl
e5bc90f40c Merge with Lite2 + local changes 1998-03-01 02:20:01 +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
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
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
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
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
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
ws
32761b2385 Don't return from removede prematurely.
Fixes PR# 2185 and 2068
1996-03-07 13:30:46 +00:00
christos
01b73223a6 msdog prototype changes 1996-02-09 19:13:39 +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
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
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
mycroft
168de79d49 Ignore entries with ATTR_VOLUME set when checking if a directory is empty. 1994-12-27 21:53:31 +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
ws
133e05b464 Fix bug with writing back modified directory entries 1994-08-21 18:43:49 +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
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
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
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
mycroft
b8cd510204 Canonicalize all #includes. 1993-12-18 00:50: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
20d926b4e9 change ni_rdir to ni_rootdir in #ifdef PARANOID. from rgrimes 1993-10-18 22:42:14 +00:00