summaryrefslogtreecommitdiffstats
path: root/sys/fs
Commit message (Collapse)AuthorAgeFilesLines
* NFS diskless operation was broken because swapdev_vp wasn't initialized.dg1995-05-191-4/+4
| | | | | | | These changes solve the problem in a general way by moving the initialization out of the individual fs_mountroot's and into swaponvp(). Submitted by: Poul-Henning Kamp
* Fix -Wformat warnings from LINT kernel.rgrimes1995-05-111-3/+3
|
* 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.
* For P_SUGID processes, we must also change ownership of the mem filedg1995-04-151-2/+10
| | | | to root so that group kmem can still get to it. *SIGH*
* Retain group kmem readability for P_SUGID processes.dg1995-04-151-2/+6
|
* Made /proc/n/mem file group kmem and group readable. Needed to fix ps sodg1995-04-153-5/+7
| | | | that it doesn't need to be setuid root.
* 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.
* Changes from John Dyson and myself:dg1995-04-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed remaining known bugs in the buffer IO and VM system. vfs_bio.c: Fixed some race conditions and locking bugs. Improved performance by removing some (now) unnecessary code and fixing some broken logic. Fixed process accounting of # of FS outputs. Properly handle NFS interrupts (B_EINTR). (various) Replaced calls to clrbuf() with calls to an optimized routine called vfs_bio_clrbuf(). (various FS sync) Sync out modified vnode_pager backed pages. ffs_vnops.c: Do two passes: Sync out file data first, then indirect blocks. vm_fault.c: Fixed deadly embrace caused by acquiring locks in the wrong order. vnode_pager.c: Changed to use buffer I/O system for writing out modified pages. This should fix the problem with the modification date previous not getting updated. Also dramatically simplifies the code. Note that this is going to change in the future and be implemented via VOP_PUTPAGES(). vm_object.c: Fixed a pile of bugs related to cleaning (vnode) objects. The performance of vm_object_page_clean() is terrible when dealing with huge objects, but this will change when we implement a binary tree to keep the object pages sorted. vm_pageout.c: Fixed broken clustering of pageouts. Fixed race conditions and other lockup style bugs in the scanning of pages. Improved performance.
* Fix timestamps when using Wall CMOS clock,ache1995-03-291-25/+21
| | | | | optimize dos2unixtime() Submitted by: pritc003@maroon.tc.umn.edu
* Add and move declarations to fix all of the warnings from `gcc -Wimplicit'bde1995-03-282-5/+4
| | | | | (except in netccitt, netiso and netns) that I didn't notice when I fixed "all" such warnings before.
* Readdir on a CDrom would return bogus "d_type" values, potentially confusingphk1995-03-281-1/+4
| | | | | everybody (incl find(1) ?). Initialize it to DT_UNKNOWN. Maybe we can do better, but I don't have the time.
* Removed redundant newlines that were in some panic strings.dg1995-03-193-6/+6
|
* Removed bogus, commented out, call to vnode_pager_uncache().dg1995-03-191-2/+1
|
* Add four more filesystem flags:wollman1995-03-167-14/+14
| | | | | | | | | | VFCF_NETWORK (this FS goes over the net) VFCF_READONLY (read-write mounts do not make any sense) VFCF_SYNTHETIC (data in this FS is not real) VFCF_LOOPBACK (this FS aliases something else) cd9660 is readonly; nullfs, umapfs, and union are loopback; NFS is netowkr; procfs, kernfs, and fdesc are synthetic.
* Add and move declarations to fix all of the warnings from `gcc -Wimplicit'bde1995-03-1615-30/+37
| | | | | | (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.
* Obtained from: memories of 1.1.5bde1995-02-211-2/+2
| | | | Fix the sign of the timezone offset again.
* Make sure process isn't swapped when messing with it.dg1995-02-202-3/+4
| | | | Added missing newline to log() call.
* YFfixphk1995-02-141-1/+2
|
* strategy for block and char devices are rightfully spec_strategy.phk1995-02-131-3/+2
| | | | | I feel like yanking all the "ISODEVMAP" stuff altogether, it looks like a bad kludge...
* 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.
* Fixed bmap run-length brokeness.dg1995-02-033-3/+9
| | | | | | Use bmap run-length extension when doing clustered paging. Submitted by: John Dyson
* Kill the comment in a comment to shut up the compiler.ats1995-01-291-2/+2
|
* Roll in my changes to make the cd9660 code understand the olderjoerg1995-01-169-105/+191
| | | | | | | | | | (original "High Sierra") CD format. I've already implemented this for 1.1.5.1 (and posted to -hackers), but didn't get any response to it. Perhaps i'm the only one who has such an old CD lying around... Everything is done empirically, but i had three of them around (from different vendors), so there's a high probability that i've got it right. :)
* 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
* Initialize map start hint to vm_map_find()...not doing so will cause itdg1995-01-051-2/+2
| | | | | | to fail if the random thing on the stack happens to be too large. Submitted by: David Jones <dej@qpoint.torfree.net>
* Fix problem when attached process detachedache1994-12-311-1/+5
| | | | Submitted by: Gary Jennejohn
* 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
* Undo a previous change. <sys/disklabel.h> was broken, not these files.bde1994-11-141-2/+1
|
* Remove the bogus include of <sys/dkbad.h>.bde1994-11-141-2/+1
|
* From tim@cs.city.ac.uk (Tim Wilkinson):dg1994-11-042-5/+11
| | | | | | | | | | | | | Find enclosed a short bugfix to get the union filesystem up and running in FreeBSD-current. We don't think we've got all the problems yet but these fixes sort out the major ones (which mostly concert bad locking of vnodes), no doubt we'll post others as necessary. Known problems include the inability of the umount command (not the system call) to unmount unions in certain circumstances (this is due the way "realpath" works), and the failure of direntries to always get all available files in unioned subdirectories. We are, as they say, working on it. Submitted by: tim@cs.city.ac.uk (Tim Wilkinson)
* 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
* From: fredriks@mcs.com (Lars Fredriksen)jkh1994-10-281-1/+2
| | | | | | | ... It turns out that these files do not include <sys/dkbad.h> before <sys/disklabel.h>. Submitted by: fredriks
* 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()
* Fixed bug I just introduced that would have allowed a user to clobberdg1994-10-181-4/+6
| | | | his kernel stack.
* Allow upages to be paged in/accessed.dg1994-10-181-2/+2
| | | | Submitted by: John Dyson
* Cosmetics. Silence gcc -Wallphk1994-10-102-11/+10
|
* Cosmetics. reduce the noise from gcc -Wall.phk1994-10-1013-68/+100
|
* Cosmetics: added a #include and a static prototype to silence gcc.phk1994-10-081-1/+3
|
* Use tsleep() rather than sleep so that 'ps' is more informative aboutdg1994-10-069-22/+22
| | | | the wait.
* GCC cleanup.phk1994-10-024-44/+40
| | | | | | Reviewed by: Submitted by: Obtained from:
* Make NFS ask the filesystems for directory cookies instead of making themdfr1994-09-282-48/+65
| | | | itself.
* Added declarations, fixed bugs due to missing decls. At least one of themphk1994-09-278-111/+168
| | | | could panic a system. (I know, it paniced mine!).
* Alterations to silence gcc -Wall. Some unused variables deleted.gpalmer1994-09-265-58/+49
| | | | Reviewed by: davidg
* 1) Added "." and ".." entries.dg1994-09-241-4/+20
| | | | | | 2) Fixed directory size to return something reasonable. 3) Disabled "file" until the code is completed. 4) Corrected directory link counts.
* Include <sys/kernel.h> not <kernel.h>dg1994-09-231-2/+2
|
OpenPOWER on IntegriCloud