Commit Graph

31 Commits

Author SHA1 Message Date
lukem cd13721ca0 add RCSIDs 2001-11-10 13:22:20 +00:00
jdolecek 787ee522f9 Ignore windows-style FAT directory entries if we don't expect any more
file name data and the entry starts with \0\0. Apparently this happens
occasionally, don't know if it's mtools (probably), MS Windows or
NetBSD msdosfs fault. When this happens, NetBSD msdosfs was not
able to open the file, where neither mtools nor MS Windows had any
problem with it. So, it's appropriate to add this fix in any case.
2001-11-03 14:53:37 +00:00
jdolecek 34c8ae80da constify 2001-01-18 20:28:15 +00:00
jdolecek d28bd11715 unix2dostime(), dos2unixtime(): use value of rtc_offset to shift the time value
accordingly

Patch sent by Naoki FUKAUMI in kern/9497.
2000-02-28 10:43:08 +00:00
tron 9020887854 Fix for handling of 8+3 filenames with blanks supplied by Bill Sommerfeld
in PR kern/7229.
1999-03-28 11:05:43 +00:00
leo 8581f9db0d Implement short-term solution for PR#6576 1999-01-07 15:03:36 +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
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
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 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 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
christos 01b73223a6 msdog prototype changes 1996-02-09 19:13:39 +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
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 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
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
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 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 c8899c8f8e Fix an off-by-one error reported by Mike Hartman. 1994-08-30 01:31:11 +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 e6a6d0ec1b fix from nnd@KremlSun.ussr.EU.net for lookup/conversion bug 1994-04-07 02:24:17 +00:00
paulus 7c687a255f msdos filesystem now works on big-endian machines. 1994-03-03 00:51:30 +00:00
mycroft 95b048b53a Canonicalize all #includes. 1993-12-18 00:40:47 +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