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
fvdl
e351013e56
Fix messed up RCS Id.
1997-07-22 14:36:31 +00:00
fvdl
5d96e77ef6
Get locking around inode hashing right.
1997-07-07 23:37:36 +00:00
fvdl
acffafa288
Oops, I messed up the lock. Reverting it until I have time to fix it,
...
to avoid people getting trouble after the supscan hits.
1997-07-07 11:47:06 +00:00
fvdl
b362aa16be
Put lock around inode hashing, because getnewvnode or MALLOC might block,
...
creating race conditions.
1997-07-06 12:43:43 +00:00
mrg
295af85e9e
remove swap configuration.
1997-06-12 17:12:17 +00:00
bouyer
76c414a957
Add support for ext2fs, this needed a few modifications to ufs/ufs/inode.h:
...
- added an "union inode_ext" to struct inode, for the per-fs extentions.
For now only ext2fs uses it.
- i_din is now an union:
union {
struct dinode ffs_din; /* 128 bytes of the on-disk dinode. */
struct ext2fs_dinode e2fs_din; /* 128 bytes of the on-disk dinode. */
} i_din
Added a lot of #define i_ffs_* and i_e2fs_* to access the fields.
- Added two macros: FFS_ITIMES and EXT2FS_ITIMES. ITIMES calls the rigth
macro, depending on the time of the inode. ITIMES is used where necessary,
FFS_ITIMES and EXT2FS_ITIMES in other places.
1997-06-11 10:09:37 +00:00
mycroft
66c4e32b11
Just increment the generation count. Using the time is bogus and defeats
...
fsirand(8).
1997-03-10 06:18:28 +00:00
thorpej
727078d31e
- Add ffs_mountroot to ffs_vfsops.
...
- Only attempt to mount a root FFS on a DV_DISK class device.
1997-01-31 03:05:31 +00:00
cgd
90688fce27
Change the second and third args to struct vfsops' (*vfs_mount)() to
...
'const char *', and 'void *', respectively. The second arg is taken directly
from user arguments, and is const there, so must be const in the prototypes
and functions. The third arg is also taken directly from user arguments.
It doesn't have to be changed, but since it's cleaner to keep the type
the same as the user arg's type, and I'm already making the 'const char *'
change...
1996-12-22 10:10:12 +00:00
christos
90c7de0919
revert previous kprintf changes
1996-10-12 21:58:44 +00:00
christos
de1b2b437e
printf -> kprintf, sprintf -> ksprintf
1996-10-10 17:16:17 +00:00
christos
ec3d880232
ffs prototypes
1996-02-09 22:22:18 +00:00
cgd
b567511c78
Fix from Lite-2: when reloading the file system, save fs_maxcluster and
...
the old summary structure pointers, and recalculate cluster per cyl. grp.
information.
1995-12-19 23:27:53 +00:00
mycroft
7edc899fdd
ffs -> ufs
1995-11-11 22:00:15 +00:00
cgd
8f62c773e8
don't assume the f_fsnamelen is nul-truncated or longer than MFSNAMELEN
1995-06-18 14:45:14 +00:00
mycroft
fc46bf42f7
Make use of the `fs_clean' field. If it was set when the file system was
...
mounted or upgraded to r-w, then clear it and set it again later when the
file system is unmounted or downgraded.
1995-04-12 21:21:00 +00:00
mycroft
2f805fa51b
copy*str() should use size_t.
1995-03-09 12:05:21 +00:00
cgd
ad86c7f247
size for copyinstr should be u_long
1995-03-08 01:51:49 +00:00
mycroft
41f181e0d8
Clean up the code to frob mnt_stat a bit.
1995-01-18 09:44:34 +00:00
mycroft
9843f45605
Turn mountlist into a CIRCLEQ, and handle setting and checking of MNT_ROOTFS
...
differently.
1995-01-18 06:19:49 +00:00
mycroft
b4aa6d3a28
Call foo_statfs() from a common place when mounting.
1994-12-15 19:46:08 +00:00
mycroft
a63cb01c7d
Sync with CSRG.
1994-12-14 13:03:35 +00:00
mycroft
4c7eedf0b8
This is not my day.
1994-10-28 20:20:18 +00:00
mycroft
c0fd0f67f1
Fix typo.
1994-10-28 20:16:10 +00:00
mycroft
0badb64371
For now, limit the maxfilesize to 2^31*bsize-1 in core. This is temporary.
1994-10-28 20:15:09 +00:00
mycroft
f62b376067
Fix a couple of types in the compatibility code.
1994-10-28 19:59:21 +00:00
cgd
fccfa11af5
New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
1994-06-29 06:39:25 +00:00
mycroft
d22df96ea2
Reload mnt_maxsymlinklen, for `fsck -c2'.
1994-06-28 21:50:24 +00:00
mycroft
0be7885407
Add a couple of missing casts.
1994-06-22 03:01:40 +00:00
mycroft
264b874c14
Update to 4.4-Lite fs code, with local changes.
1994-06-08 11:41:58 +00:00