summaryrefslogtreecommitdiffstats
path: root/sys/msdosfs
Commit message (Collapse)AuthorAgeFilesLines
* Eliminated nested include of <sys/unistd.h> in <sys/file.h> in the kernel.bde1996-09-031-2/+2
| | | | | | | Include it directly in the few places where it is used. Reduced some #includes of <sys/file.h> to #includes of <sys/fcntl.h> or nothing.
* bzero reserved field into directory entry, junk here causeache1996-07-281-1/+2
| | | | scandisk error under Win95
* The Great PC98 Merge.asami1996-06-144-4/+97
| | | | | | | | All new code is "#ifdef PC98"ed so this should make no difference to PC/AT (and its clones) users. Ok'd by: core Submitted by: FreeBSD(98) development team
* Moved the fsnode MALLOC to before the call to getnewvnode() so that thedg1996-06-121-3/+9
| | | | | | | | process won't possibly block before filling in the fsnode pointer (v_data) which might be dereferenced during a sync since the vnode is put on the mnt_vnodelist by getnewvnode. Pointed out by Matt Day <mday@artisoft.com>
* Fix adjkerntz expression priority.ache1996-04-051-3/+3
| | | | Make filetimes the same as DOS times for UTC cmos clock.
* Don't adjust file times for UTC clock to have the same timestampsache1996-04-051-4/+6
| | | | for DOS/FreeBSD.
* add a `Warning:' to the message saying that the root directory is not agpalmer1996-04-031-2/+2
| | | | | multiple of the clustersize in length to try and reduce the number of questions we get on the subject.
* Fix a bunch of spelling errors in the comment fields ofmpp1996-01-302-5/+5
| | | | a bunch of system include files.
* Eliminated many redundant vm_map_lookup operations for vm_mmap.dyson1996-01-191-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | Speed up for vfs_bio -- addition of a routine bqrelse to greatly diminish overhead for merged cache. Efficiency improvement for vfs_cluster. It used to do alot of redundant calls to cluster_rbuild. Correct the ordering for vrele of .text and release of credentials. Use the selective tlb update for 486/586/P6. Numerous fixes to the size of objects allocated for files. Additionally, fixes in the various pagers. Fixes for proper positioning of vnode_pager_setsize in msdosfs and ext2fs. Fixes in the swap pager for exhausted resources. The pageout code will not as readily thrash. Change the page queue flags (PG_ACTIVE, PG_INACTIVE, PG_FREE, PG_CACHE) into page queue indices (PQ_ACTIVE, PQ_INACTIVE, PQ_FREE, PQ_CACHE), thereby improving efficiency of several routines. Eliminate even more unnecessary vm_page_protect operations. Significantly speed up process forks. Make vm_object_page_clean more efficient, thereby eliminating the pause that happens every 30seconds. Make sequential clustered writes B_ASYNC instead of B_DELWRI even in the case of filesystems mounted async. Fix a panic with busy pages when write clustering is done for non-VMIO buffers.
* Convert QUOTA to new-style option.wollman1996-01-051-16/+1
|
* Untangled the vm.h include file spaghetti.dg1995-12-072-2/+6
|
* Added prototypes.bde1995-12-034-5/+30
|
* Moved declarations for static functions to the correct place (not in abde1995-11-162-17/+23
| | | | header) and cleaned them up.
* Fixed getdirentries() on nfs mounted msdosfs's. No cookies were returnedbde1995-11-131-14/+3
| | | | | | | | for certain common combinations of directory sizes, cluster sizes, and i/o sizes (e.g., 4K, 4K, and 4K). The fix in rev. 1.21 was incomplete. Reviewed by: dfr Obtained from: party from NetBSD
* Introduced a type `vop_t' for vnode operation functions and usedbde1995-11-092-42/+44
| | | | | | | | | | | | | | | it 1138 times (:-() in casts and a few more times in declarations. This change is null for the i386. The type has to be `typedef int vop_t(void *)' and not `typedef int vop_t()' because `gcc -Wstrict-prototypes' warns about the latter. Since vnode op functions are called with args of different (struct pointer) types, neither of these function types is any use for type checking of the arg, so it would be preferable not to use the complete function type, especially since using the complete type requires adding 1138 casts to avoid compiler warnings and another 40+ casts to reverse the function pointer conversions before calling the functions.
* missed one static thingie.phk1995-11-071-2/+2
|
* staticize private parts.phk1995-11-076-35/+35
|
* Pad out MSDOS boot block to 512 bytes (bugfix only)pst1995-10-311-2/+2
| | | | Submitted by: Andreas Haakh, ah@alman.RoBIN.de
* Second batch of cleanup changes.phk1995-10-294-79/+80
| | | | | This time mostly making a lot of things static and some unused variables here and there.
* Moved the filesystem read-only check out of the syscalls and into thedg1995-10-221-101/+108
| | | | | | | | filesystem layer, as was done in lite-2. Merged in some other cosmetic changes while I was at it. Rewrote most of msdosfs_access() to be more like ufs_access() and to include the FS read-only check. Obtained from: partially from 4.4BSD-lite2
* Return EINVAL instead of panicing for rename("dir1", "dir2/..").bde1995-10-071-2/+3
| | | | | | Fixes part of PR 760. This bug seems to be very old.
* Added VOP_GETPAGES/VOP_PUTPAGES and also the "backwards" block countdyson1995-09-041-1/+5
| | | | for VOP_BMAP. Updated affected filesystems...
* Fix bogus arg (&p instead of p) in the call to VOP_ACCESS() frombde1995-08-251-2/+2
| | | | msdosfs_setattr(). The bug was benign because the arg isn't used.
* Make sure that a non-null cookie vector is returned even if there were nodfr1995-08-031-1/+9
| | | | valid entries in the block. Doing otherwise confuses the nfs server.
* Add support for the va_filerev attribute required by NFSv3.dfr1995-08-023-3/+24
|
* Removed my special-case hack for VOP_LINK and fixed the problem with thedg1995-08-011-2/+2
| | | | | | | wrong vp's ops vector being used by changing the VOP_LINK's argument order. The special-case hack doesn't go far enough and breaks the generic bypass routine used in some non-leaf filesystems. Pointed out by Kirk McKusick.
* Fixed VOP_LINK argument order botch.dg1995-06-281-3/+3
|
* Merge RELENG_2_0_5 into HEADrgrimes1995-06-111-16/+7
|
* Remove trailing whitespace.rgrimes1995-05-3012-141/+141
|
* Submitted by: Mike Pritchard <pritc003@maroon.tc.umn.edu>bde1995-05-092-2/+27
| | | | | | | | | msdosfs_lookup() did no validation to see if the caller was validated to delete/rename/create files. msdosfs_setattr() did no validation to see if the caller was allowed to change the file permissions (turn on/off the write bit) or update the file modification time (utimes). The routines were fixed to validate the calls just like ufs does.
* Fix link sys callache1995-04-111-2/+4
| | | | Submitted by: pritc003@maroon.tc.umn.edu
* Submitted by: Mike Pritchard <pritc003@maroon.tc.umn.edu>bde1995-04-111-8/+2
| | | | | | | | | | | | Fix PR 303: msdosfs: moving a file into another directory causes panic. " ... the code that does the rename already has the denode locked when msdosfs_hashins() gets called, resulting in the panic when the routine attempts to lock the denode again. ... The attached patch changes the msdosfs_hashins() routine to not lock the denode. The caller is now resposible for obtaining the lock instead of having msdosfs_hashins() do it for them."
* Submitted by: Wolfgang Solfrank <ws@tools.de>bde1995-04-111-2/+2
| | | | | Fix off-by-1-sector error in the range checking for the end of the root directory. It was possible for the root directory to overwrite the FAT.
* Fix timestamps when using Wall CMOS clock,ache1995-03-291-25/+21
| | | | | optimize dos2unixtime() Submitted by: pritc003@maroon.tc.umn.edu
* Removed redundant newlines that were in some panic strings.dg1995-03-191-2/+2
|
* Removed bogus, commented out, call to vnode_pager_uncache().dg1995-03-191-2/+1
|
* Add and move declarations to fix all of the warnings from `gcc -Wimplicit'bde1995-03-162-5/+4
| | | | | | (except in netccitt, netiso and netns) and most of the warnings from `gcc -Wnested-externs'. Fix all the bugs found. There were no serious ones.
* Use the correct block number for updating the backup copy of the FAT whenbde1995-02-101-2/+2
| | | | deleting a file. Deleting a large file used to scramble the backup copy.
* Kill the comment in a comment to shut up the compiler.ats1995-01-291-2/+2
|
* These changes embody the support of the fully coherent merged VM buffer cache,dg1995-01-092-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | much higher filesystem I/O performance, and much better paging performance. It represents the culmination of over 6 months of R&D. The majority of the merged VM/cache work is by John Dyson. The following highlights the most significant changes. Additionally, there are (mostly minor) changes to the various filesystem modules (nfs, msdosfs, etc) to support the new VM/buffer scheme. vfs_bio.c: Significant rewrite of most of vfs_bio to support the merged VM buffer cache scheme. The scheme is almost fully compatible with the old filesystem interface. Significant improvement in the number of opportunities for write clustering. vfs_cluster.c, vfs_subr.c Upgrade and performance enhancements in vfs layer code to support merged VM/buffer cache. Fixup of vfs_cluster to eliminate the bogus pagemove stuff. vm_object.c: Yet more improvements in the collapse code. Elimination of some windows that can cause list corruption. vm_pageout.c: Fixed it, it really works better now. Somehow in 2.0, some "enhancements" broke the code. This code has been reworked from the ground-up. vm_fault.c, vm_page.c, pmap.c, vm_object.c Support for small-block filesystems with merged VM/buffer cache scheme. pmap.c vm_map.c Dynamic kernel VM size, now we dont have to pre-allocate excessive numbers of kernel PTs. vm_glue.c Much simpler and more effective swapping code. No more gratuitous swapping. proc.h Fixed the problem that the p_lock flag was not being cleared on a fork. swap_pager.c, vnode_pager.c Removal of old vfs_bio cruft to support the past pseudo-coherency. Now the code doesn't need it anymore. machdep.c Changes to better support the parameter values for the merged VM/buffer cache scheme. machdep.c, kern_exec.c, vm_glue.c Implemented a seperate submap for temporary exec string space and another one to contain process upages. This eliminates all map fragmentation problems that previously existed. ffs_inode.c, ufs_inode.c, ufs_readwrite.c Changes for merged VM/buffer cache. Add "bypass" support for sneaking in on busy buffers. Submitted by: John Dyson and David Greenman
* Fix panic for `cp -p' by root to an msdos file system. Improve handlingbde1994-12-273-29/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | of attributes so that `cp -p' to an msdos file system can succeed under favourable circumstances (no uid or gid changes and no nonzero flags except SF_ARCHIVED). msdosfs_vnops.c: The in-core inode flags were confused with the on-disk inode flags, so chflags() clobbered the lock flag and caused a panic. denode.h, msdosfs_denode.c, msdosfs_vnops.c: Support the msdosfs archive attibute (ATTR_ARCHIVE) by mapping it to the complement of the SF_ARCHIVED flag and setting the ATTR_ARCHIVE bit when a file's modification time is set (but not when a file's permissions are set; this is the standard wrong DOS behaviour). denode.h, msdosfs_denode.c: Remove the DE_UPDAT() macro. It was only used once, and the corresponding macro in ufs has already been removed. denode.h: Don't change the timestamp for directories in DE_TIMES() (be consistent with deupdat()). msdosfs_vnops.c: Handle chown() better: return EPERM instead of EINVAL if there are insufficient permissions; otherwise, allow null changes.
* Fix numerous timestamp bugs.bde1994-12-126-41/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DE_UPDATE was confused with DE_MODIFIED in some places (they do have confusing names). Handle them exactly the same as IN_UPDATE and IN_MODIFIED. This fixes chmod() and chown() clobbering the mtime and other bugs. DE_MODIFIED was set but not used. Parenthesize macro args. DE_TIMES() now takes a timeval arg instead of a timespec arg. It was stupid to use a macro for speed and do unused conversions to prepare for the macro. Restore the left shifting of the DOS seconds count by 1. It got lost among the shifts for the bitfields, so DOS seconds counts appeared to range from 0 to 29 seconds (step 1) instead of 0 to 58 seconds (step 2). Actually use the passed-in mtime in deupdat() as documented so that utimes() works. Change `extern __inline's to `static inline's so that msdosfs_fat.o can be linked when it is compiled without -O. Remove faking of directory mtimes to always be the current time. It's more surprising for directory mtimes to change when you read the directories than for them not to change when you write the directories. This should be controlled by a mount-time option if at all.
* Restore mv check, cause panic without itache1994-11-291-3/+1
| | | | Submitted by: Ade Barkah
* Fix from John Hay to avoid kernel panics when ap->a_eofflag is NULL.jkh1994-11-011-2/+3
| | | | | | | I'm not sure if this is just masking another problem (like, should ap->a_eofflag EVER be NULL?), but if it prevents a panic for now then it may save an ALPHA customer. Submitted by: jhay
* Set the EOF flag properly.pst1994-10-271-6/+6
| | | | Obtained from: netbsd-bugs mailing list
* Fixed panic when unmounting floppy msdos filesystems. Problem wasmartin1994-10-231-7/+30
| | | | we weren't flushing dirty buffers. Fix stolen from ffs_fsync()
* Cosmetics. Silence gcc -Wallphk1994-10-102-11/+10
|
* Use tsleep() rather than sleep so that 'ps' is more informative aboutdg1994-10-062-4/+4
| | | | the wait.
* GCC cleanup.phk1994-10-021-16/+3
| | | | | | Reviewed by: Submitted by: Obtained from:
* Make NFS ask the filesystems for directory cookies instead of making themdfr1994-09-281-37/+37
| | | | itself.
OpenPOWER on IntegriCloud