Commit Graph

101 Commits

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