chs
31f045ca75
remove debug code that was left in by accident.
2001-02-07 22:40:06 +00:00
jdolecek
d9466585b7
make filesystem vnodeop, specop, fifoop and vnodeopv_* arrays const
2001-01-22 12:17:35 +00:00
mycroft
fad85a24d8
On a RW->RO transition, explicitly clear fs_fmod after the cgupdate/sbupdate,
...
to prevent spurious writebacks and whinging about the (correct!) clean flag.
(Why this isn't done in ffs_sbupdate(), I dunno...)
2001-01-10 17:49:18 +00:00
chs
bc21905f3c
attach the softdep pagecache pseudo-buffers to the inode
...
so we can find them quickly in the softdep truncate path.
2001-01-10 04:47:10 +00:00
mycroft
7f2aa054f1
ffs_reload(): Copy fs_ronly into the new superblock, too, as it may have been
...
modified on disk (e.g. by fsck(8)). This flag should really be elsewhere.
2001-01-09 10:44:19 +00:00
chs
4912461b20
in ffs_sync(), don't skip vnodes which have (potentially dirty) pages.
2000-12-04 09:37:06 +00:00
fvdl
7c2b9d8515
In addition to setting the softdep flag in the superblock when
...
mounting with softdeps, also explicitly clear it when we don't,
so that a leftover setting after a crash will be cleared.
2000-12-03 19:52:06 +00:00
chs
aeda8d3b77
Initial integration of the Unified Buffer Cache project.
2000-11-27 08:39:39 +00:00
simonb
7bf589b1ae
There is no need to explicitly include <uvm/uvm_extern.h> for
...
<sys/sysctl.h> anymore.
2000-10-13 16:40:26 +00:00
fvdl
81ba8e7ff7
Adapt for VOP_FSYNC parameter change.
...
Implement range fsync for FFS. Note: not yet implemented for the
SOFTDEP case.
2000-09-19 22:04:08 +00:00
mrg
91cc436b9e
<vm/vm.h> -> <uvm/uvm_extern.h>
2000-06-28 14:11:33 +00:00
fvdl
d09958adad
Due to popular demand, change vinsheadfree to ungetnewvnode to make
...
the name clearer. No functional change.
2000-06-27 23:51:22 +00:00
fvdl
bba2403203
In ffs_vget, do not hold ufs_haslock across the call to getnewvnode.
...
We may sleep in it, or even recurse, with softdeps. Instead, grab
the lock later, but check if noone else has beaten us to the VFS_VGET
operation, and if so, roll back getnewvnode using vinsheadfree, and
just return.
2000-06-27 23:39:17 +00:00
perseant
da29133e76
make it compile (fix typo)
2000-06-16 05:45:14 +00:00
matt
1b5bc7ce61
ignore the softdep flags when mounting and there's no softdep in the kernel.
2000-06-16 00:30:15 +00:00
fvdl
4f11634756
Allow MNT_SOFTDEP to be passed in via the mount(2) system call, do not
...
require it to be set via tunefs(8). Silently ignore it when doing
an update mount of a writeable filesystem, the FFS/softdep code isn't ready
for this yet.
2000-06-15 22:35:37 +00:00
mycroft
edfd1e6f32
Use LIST_{FIRST,NEXT,EMPTY}().
2000-05-29 18:28:48 +00:00
mycroft
d747ada9c2
Add a new inode flags called IN_ACCESSED. This used in place of IN_MODIFIED
...
to record that the atime was updated. In ffs_update(), we only do synchronous
writes if something *other* than the atime was changed.
2000-05-29 18:04:30 +00:00
jdolecek
c78399fc88
Add a new sysctl variable vfs.ffs.log_changeopt - if this is true,
...
an optimalization strategy change is logged into syslog. Default
is 0 (to not log). This replaces the recent not quite "right"
change to only log the change if kernel is compiled with DEBUG.
2000-04-04 09:23:20 +00:00
augustss
169ac5b3c1
Remove register declarations.
2000-03-30 12:41:09 +00:00
simonb
c2e5560a03
Delete redundant decls of rootvp - it's in <sys/systm.h>.
...
Delete redundant decl of ffs_sbupdate() - it's in <ufs/ffs/ffs_extern.h>.
2000-03-30 02:48:22 +00:00
jdolecek
03efc0b2b7
Add new VFS op routine - vfs_done and call it on filesystem detach
...
in vfs_detach(). vfs_done may free global filesystem's resources,
typically those allocated in respective filesystem's init function.
Needed so those filesystems which went in via LKM have a chance to
clean after themselves before unloading.
For each leaf filesystem, add appropriate vfs_done routine.
Also remember how many times ffs_init() was called and do
the appropriate initialization on first call only. In ffs_done(),
destroy the resources when called by the last user of ffs code.
Change mfs to call ffs_init()/ffs_done() appropriately.
2000-03-16 18:20:06 +00:00
fvdl
1c78f3708b
Inititalize the fs variable struct a little earlier to avoid referencing
...
a bad pointer in a printf. Problem reported by Krister Walfridsson.
2000-03-16 10:37:00 +00:00
fvdl
fe39281ea4
Fixes to the softdep code from Ethan Solomita <ethan@geocast.com>.
...
* Fix buffer ordering when it has dependencies.
* Alleviate memory problems.
* Deal with some recursive vnode locks (sigh).
* Fix other bugs.
2000-02-14 22:00:21 +00:00
drochner
800b976584
Call ffs_oldfscompat() before all the consistency checks, to avoid the
...
use of uninitialized data in the checks if the filesystem is an old one.
1999-12-10 14:36:04 +00:00
fvdl
0b1963121a
Add Kirk McKusick's soft updates code to the trunk. Not enabled by
...
default, as the copyright on the main file (ffs_softdep.c) is such
that is has been put into gnusrc. options SOFTDEP will pull this
in. This code also contains the trickle syncer.
Bump version number to 1.4O
1999-11-15 18:49:07 +00:00
enami
fee96e1746
Check if the type of device node isn't VBAD before touching v_specinfo. If
...
the device vnode is revoked, the field is NULL and touching it causes null
pointer derefercence.
1999-10-20 14:32:09 +00:00
wrstuden
e682a080e9
In spec_close(), if we're not doing a non-blocking close and VXLOCK is
...
not set, unlock the vnode before calling the device's close routine and
relock it after it returns. tty close routines will sleep waiting for
buffers to drain, which won't happen often times as the other side needs
to grab the vnode lock first.
Make all unmount routines lock the device vnode before calling VOP_CLOSE().
1999-10-16 23:53:26 +00:00
drochner
12a6593f79
clean up inclusion of "opt_ffs.h" and use of "FFS_EI" a bit
1999-08-03 19:22:43 +00:00
wrstuden
976aedb7ac
Adjust mountroot routines to vrele rootvp in case of mount error. Closes
...
PR 7977 by Neil Carson, <neil@brini.com>.
1999-07-17 01:08:28 +00:00
wrstuden
379a26972f
Modify file systems to deal with struct lock in struct vnode. All leaf
...
fs's other than nfs use genfs_lock() for locking.
Modify lookup routines to set PDIRUNLOCK when they unlock the parrent.
1999-07-08 01:05:58 +00:00
bouyer
00d7241e81
Don't check fs_bsize before the superblock has been swapped if needed.
...
Check value of sbsize before allocating memory with this value.
1999-03-05 12:02:18 +00:00
wrstuden
862a56e88b
Modify vfsops to seperate vfs_fhtovp() into two routines. vfs_fhtovp() now
...
only handles the file handle to vnode conversion, and a new call,
vfs_checkexp(), performs the export verification.
1999-02-26 23:44:43 +00:00
bouyer
22d556f6cf
Make sure a buffer optained from bread() is always bresle()'d in case of
...
error. Closes PR kern/1448 from Wolfgang Solfrank.
1999-02-10 13:14:08 +00:00
bouyer
3efc699962
Sanity check a few values in the superblock, to avoid mallocing huge
...
memory area if we try to mount a corrupted filesystem. Fixes kern/3933.
1998-12-04 11:00:40 +00:00
thorpej
1fcae7f1be
defopt FFS_EI
1998-11-12 19:51:10 +00:00
thorpej
f7948d05a1
Use DINODE_SIZE rather than pointer arithmetic.
1998-10-23 00:31:28 +00:00
thorpej
60cfe320cc
Use the pool allocator and the "nointr" pool page allocator for FFS inodes.
...
XXX MFS also comes in here for inodes, and used a different malloc type,
but the structure is the same, so we just use the FFS inode pool.
1998-09-01 03:11:08 +00:00
perry
27ca6798df
bzero->memset, bcopy->memcpy, bcmp->memcmp
1998-08-09 20:15:38 +00:00
jonathan
d275e56dee
* defopt COMPAT_{09,10,11,12,13} and COMPAT_NOMID.
...
TODO: revisit interaction between native compat and emul compat usage.
1998-07-05 08:49:30 +00:00
sommerfe
7ba7fbbb23
Always include fifos; "not an option any more".
1998-06-24 20:58:44 +00:00
sommerfe
becaafeea0
defopt for options FIFO
1998-06-22 22:00:59 +00:00
kleink
2d869bbacf
KNF, mostly of FFS_EI changes.
1998-06-13 16:26:22 +00:00
scottr
7171cca4b8
Protect various config(8)-generated files from inclusion while
...
building LKMs. Fixes PR 5557.
1998-06-09 07:46:31 +00:00
scottr
d48f258f90
Use the newly-defined opt_quota.h.
1998-06-08 04:27:50 +00:00
kleink
382743ada3
Convert fsync vnode operator implementations and usage from the old `waitfor'
...
argument and MNT_WAIT/MNT_NOWAIT to `flags' and FSYNC_WAIT.
1998-06-05 19:53:00 +00:00
bouyer
091dafd39f
Add support for reading/writing FFS in non-native byte order, conditioned
...
to "options FFS_EI". The superblock and inodes (without blk addr) are
byteswapped at disk read/write time, other metadatas are byteswapped
when used (as they are acceeded directly in the buffer cache).
This required the addition of a "um_flags" field to struct ufsmount.
ffs_bswap.c contains superblock and inode byteswap routines also used
by userland utilities.
1998-03-18 15:57:26 +00:00
fvdl
e5bc90f40c
Merge with Lite2 + local changes
1998-03-01 02:20:01 +00:00
thorpej
b5bf2ed6d0
Place a pointer to an array of our vnodeopv_desc *'s in our vfsops
...
structure, for use by vfs_attach().
1998-02-18 07:05:47 +00:00
mjacob
949982f2a4
In calculating the f_bavail field, don't take 32 bit quantities and
...
multiply them by 90 (to be divided by 100) and expect them to be sane
for very large values (I was getting a negative 'avail' count).
1997-10-16 18:29:11 +00:00