Commit Graph

119 Commits

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