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