Commit Graph

40 Commits

Author SHA1 Message Date
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
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
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 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
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 ad8b7c8c7d Remove some sanity checks that are too restrictive, as suggested by Leo. 1995-03-27 12:59:56 +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 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 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
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
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 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
mycroft b8cd510204 Canonicalize all #includes. 1993-12-18 00:50:51 +00:00
cgd bc0ee80f7b don't do the exflags thing. 1993-12-02 06:23:48 +00:00
cgd 4909e76819 update from Jeff Polk; better validation 1993-12-01 10:35:21 +00:00
cgd 76dbc1192b new specfs.h and fifo.h locations 1993-11-12 05:54:12 +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 54eb3b1f88 brought in fixed/renamed/matching MS-DOS FS code, from Jeff Polk
<polk@bsdi.com>.  His notes are as follows:
------------------------------------------------------------------------------

 July 22, 1993

 - Changed name of entire package from PCFS to MSDOSFS

 - Fixed bugs:
      root directory size in clusters instead of bytes
      growing directory didn't update in-core size
      link, symlink, mknod didn't free locked parent (deadlock)
      lookup returned real error on create and rename instead of EJUSTRETURN
      rename changed `.' entry in child instead of name entry in parent
      rename removed `.' entry in child instead of removing entry in
              parent when moving a directory from one dir to another
      createde() left new node locked when write of parent failed (deadlock)
      removede() decremented refcount even on error (rmdir's which failed
              due to write errors left in-core cache entries inconsistent)
      changed validation for filesystem to not check for the boot signature
              since some disks (e.g., mtools) aren't bootable
      directories are always show current time as modify time
              (needed for NFS export since DOS never updates dir mod times --
               ctime is true create time).

 - Added support for cookies changes to the readdir() vnode
      interface (#ifdef __bsdi__)

 - Punted on the whole problem of inode generation numbers.  This means
   that there's a chance of using a stale file handle to access a new
   file, but it doesn't appear to be the common case, and I don't see
   how to generate reasonable generation numbers without changing something
   on the disk (which is the way the SVR4 filesystem survival kit guys
   did it).  I don't think it would be very safe to change the on-disk
   format.

        Jeff Polk (polk@BSDI.COM)

------------------------------------------------------------------------------
1993-08-13 11:35:13 +00:00