summaryrefslogtreecommitdiffstats
path: root/sys/ufs/mfs/mfs_vfsops.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Submitted by: abial@nask.pljulian1998-05-111-1/+10
| | | | Minor fix to support SLICE in MFS...
* As described by the submitter:msmith1998-05-061-2/+1
| | | | | | | | | | | | | Reverse the VFS_VRELE patch. Reference counting of vnodes does not need to be done per-fs. I noticed this while fixing vfs layering violations. Doing reference counting in generic code is also the preference cited by John Heidemann in recent discussions with him. The implementation of alternative vnode management per-fs is still a valid requirement for some filesystems but will be revisited sometime later, most likely using a different framework. Submitted by: Michael Hancock <michaelh@cet.co.jp>
* The intent is to get rid of WILLRELE in vnode_if.src by makingmsmith1998-03-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a complement to all ops that return a vpp, VFS_VRELE. This is initially only for file systems that implement the following ops that do a WILLRELE: vop_create, vop_whiteout, vop_mknod, vop_remove, vop_link, vop_rename, vop_mkdir, vop_rmdir, vop_symlink This is initial DNA that doesn't do anything yet. VFS_VRELE is implemented but not called. A default vfs_vrele was created for fs implementations that use the standard vnode management routines. VFS_VRELE implementations were made for the following file systems: Standard (vfs_vrele) ffs mfs nfs msdosfs devfs ext2fs Custom union umapfs Just EOPNOTSUPP fdesc procfs kernfs portal cd9660 These implementations may change as VOP changes are implemented. In the next phase, in the vop implementations calls to vrele and the vrele part of vput will be moved to the top layer vfs_vnops and made visible to all layers. vput will be replaced by unlock in these cases. Unlocking will still be done in the per fs layer but the refcount decrement will be triggered at the top because it doesn't hurt to hold a vnode reference a little longer. This will have minimal impact on the structure of the existing code. This will only be done for vnode arguments that are released by the various fs vop implementations. Wider use of VFS_VRELE will likely require restructuring of the code. Reviewed by: phk, dyson, terry et. al. Submitted by: Michael Hancock <michaelh@cet.co.jp>
* Staticize.eivind1998-02-091-2/+2
|
* Make all file-system (MFS, FFS, NFS, LFS, DEVFS) related option new-style.eivind1998-01-241-1/+3
| | | | | | | | This introduce an xxxFS_BOOT for each of the rootable filesystems. (Presently not required, but encouraged to allow a smooth move of option *FS to opt_dontuse.h later.) LFS is temporarily disabled, and will be re-enabled tomorrow.
* Reviewed by: various.julian1997-11-121-2/+2
| | | | | | | | | | | | | | | | Ever since I first say the way the mount flags were used I've hated the fact that modes, and events, internal and exported, and short-term and long term flags are all thrown together. Finally it's annoyed me enough.. This patch to the entire FreeBSD tree adds a second mount flag word to the mount struct. it is not exported to userspace. I have moved some of the non exported flags over to this word. this means that we now have 8 free bits in the mount flags. There are another two that might well move over, but which I'm not sure about. The only user visible change would have been in pstat -v, except that davidg has disabled it anyhow. I'd still like to move the state flags and the 'command' flags apart from each other.. e.g. MNT_FORCE really doesn't have the same semantics as MNT_RDONLY, but that's left for another day.
* Bring back mfs_reclaim(), which is used to reclaim the master vnode in MFS.tegge1997-11-011-2/+2
|
* Last major round (Unless Bruce thinks of somthing :-) of malloc changes.phk1997-10-121-2/+2
| | | | | | | | Distribute all but the most fundamental malloc types. This time I also remembered the trick to making things static: Put "static" in front of them. A couple of finer points by: bde
* Distribute and statizice a lot of the malloc M_* types.phk1997-10-111-1/+3
| | | | Substantial input from: bde
* Use generic ufs_reclaim().phk1997-10-101-3/+3
|
* Update for new buffer queue data structure.gibbs1997-09-211-5/+5
|
* Removed yet more vestiges of config-time swap configuration and/orbde1997-09-071-6/+3
| | | | cleaned up nearby cruft.
* Removed unused #includes.bde1997-09-021-7/+1
|
* Mount MFS read/write as in days of yore.jkh1997-04-281-1/+4
|
* Don't include <sys/ioctl.h> in the kernel. Stage 1: don't includebde1997-03-241-2/+1
| | | | | it when it is not used. In most cases, the reasons for including it went away when the special ioctl headers became self-sufficient.
* Backed out rev.1.27, which broke unmounting of mfs and caused panicsbde1997-03-221-2/+2
| | | | | | on shutdown. Should not have been in 2.2 (the buggy last minute change, that is).
* Supply the mount point given to mfs_mount when getting a vnode for themsmith1997-03-051-2/+2
| | | | | | | | | mount. This may have been a contributor to the 'null v_mount in fsync()' problem This is another, perhaps slightly less urgent, 2.2 last-minute candidate. Reviewed by: sef
* Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are notpeter1997-02-221-1/+1
| | | | ready for it yet.
* Make this compile after the Lite2 merge.mpp1997-02-101-2/+2
| | | | A non-existent variable was being used.
* This is the kernel Lite/2 commit. There are some requisite userlanddyson1997-02-101-13/+11
| | | | | | | | | | | | | | | changes, so don't expect to be able to run the kernel as-is (very well) without the appropriate Lite/2 userland changes. The system boots and can mount UFS filesystems. Untested: ext2fs, msdosfs, NFS Known problems: Incorrect Berkeley ID strings in some files. Mount_std mounts will not work until the getfsent library routine is changed. Reviewed by: various people Submitted by: Jeffery Hsu <hsu@freebsd.org>
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-01-141-1/+1
| | | | | | | | This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
* Moved the fsnode MALLOC to before the call to getnewvnode() so that thedg1996-06-121-5/+13
| | | | | | | | 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>
* Replace usage of buf->b_actf by queue.3 and buf->b_actphk1996-04-081-7/+9
|
* Staticize.phk1995-12-171-11/+28
|
* Included <sys/conf.h> and updated to indirect devswitches so thatbde1995-12-141-4/+6
| | | | this compiles again, and added a prototype.
* *hack alert*! :-) This adds an option to the MFS_ROOT code so that itpeter1995-12-141-1/+94
| | | | | | is possible to boot a kernel with an empty in-core MFS image, and have it load the image from floppy directly. This is admittedly a hack and would be better replaced by a self-loading ram-disk.
* Completed function declarations and/or added prototypes and/or #includesbde1995-12-031-1/+3
| | | | to get the prototypes.
* After having put on my Asbestos suit, complete the MFS_ROOT part of Terry'speter1995-11-281-26/+27
| | | | | mountroot changes. This means that the mfs_initminiroot functionality into the root mfs_mount....
* Attempt to solve the busy-buffers-on-shutdown caused by MFS once and for all.peter1995-11-281-4/+14
| | | | | | | | | | | | | What was happening, was that the main mfs loop was sleeping, and when it was being awoken by a wakeup when it was supposed to process some IO requests. The problem was that if it was being woken out of the tsleep() by a signal at shutdown, it was going straight into dounmount() without servicing any pending IO requests, causing dounmount() to fail because there were busy buffers (and they could not be "processed" because the processing loop was trying to unmount rather than dispatching into mfs_doio()). This (dare I say it :-) appears to be a layering problem....
* Introduced a type `vop_t' for vnode operation functions and usedbde1995-11-091-2/+2
| | | | | | | | | | | | | | | 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.
* Declare vfs_mountroot() in the right place.bde1995-08-301-3/+1
|
* Reviewed by: julian with quick glances by bruce and othersjulian1995-08-281-96/+170
| | | | | | | | | | | | | | | | | | | | | | Submitted by: terry (terry lambert) This is a composite of 3 patch sets submitted by terry. they are: New low-level init code that supports loadbal modules better some cleanups in the namei code to help terry in 16-bit character support some changes to the mount-root code to make it a little more modular.. NOTE: mounting root off cdrom or NFS MIGHT be broken as I haven't been able to test those cases.. certainly mounting root of disk still works just fine.. mfs should work but is untested. (tomorrows task) The low level init stuff includes a total rewrite of init_main.c to make it possible for new modules to have an init phase by simply adding an entry to a TEXT_SET (or is it DATA_SET) list. thus a new module can be added to the kernel without editing any other files other than the 'files' file.
* Fixed mfs reboot panic by never returning failure from mfs_start().dg1995-08-201-6/+5
| | | | Obtained from: 4.4BSD-Lite2
* Converted mountlist to a CIRCLEQ.dg1995-08-111-2/+2
| | | | Partially obtained from: 4.4BSD-Lite2
* Mount MFS as root RW. Remounting doesn't make sense.phk1995-05-291-2/+1
| | | | Reviewed by: davidg
* 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
* Add a printf so we can see where we get our rootfs from.phk1995-04-251-1/+2
|
* Add and move declarations to fix all of the warnings from `gcc -Wimplicit'bde1995-03-161-2/+1
| | | | | | (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.
* Implemented loadable VFS modules, and made most existing filesystemswollman1994-09-211-1/+3
| | | | loadable. (NFS is a notable exception.)
* Fix up some sloppy coding practices:wollman1994-08-181-2/+1
| | | | | | | | | | | | - Delete redundant declarations. - Add -Wredundant-declarations to Makefile.i386 so they don't come back. - Delete sloppy COMMON-style declarations of uninitialized data in header files. - Add a few prototypes. - Clean up warnings resulting from the above. NB: ioconf.c will still generate a redundant-declaration warning, which is unavoidable unless somebody volunteers to make `config' smarter.
* Added $Id$dg1994-08-021-0/+1
|
* The big 4.4BSD Lite to FreeBSD 2.0.0 (Development) patch.rgrimes1994-05-251-0/+3
| | | | | Reviewed by: Rodney W. Grimes Submitted by: John Dyson and David Greenman
* BSD 4.4 Lite Kernel Sourcesrgrimes1994-05-241-0/+307
OpenPOWER on IntegriCloud