Age | Commit message (Collapse) | Author |
|
This was part of the ffs2 changes but was not committed earlier in
order to make the userland and kernel changes independent.
NOTE: the change to newfs require an updated fs.h; building an
updated newfs with the old fs.h may result in a broken filesystem.
OK otto@
|
|
|
|
and should not have its own MOUNT_XXX define.
|
|
architectures, CGSIZE() was returning something sligthly over one block.
The 'new' fsck would round this value up to a fragment boundary, and end
up trying to access memory beyond allocated space. From mickey@, okay
pedro@, millert@ and otto@.
|
|
since time_t will have to be crank to 64 bits at some point in the
future. OK pedro@
|
|
messages are consistent, from mickey@, okay pedro@
|
|
multiple defines all over;
ok tedu@
|
|
superblock is OK; Makes it work for FFS2.
ok tedu@
|
|
upon unmount, we were generating rollbacks that wouldn't be taken care
of, as well as leaving dangling items in softdep's worklist.
|
|
|
|
|
|
Zap all calls to simple_lock/unlock() on it (those calls are
#defined away though). Remove the LK_INTERLOCK from the calls
to vn_lock() and cleanup the filesystems wich implement VOP_LOCK().
(by remvoing the v_interlock from there calls to lockmgr()).
ok pedro@, art@, tedu@
|
|
|
|
accessing FFS1 fields, okay art@, quite some testing by ckuethe@, simon@
and thib@, thanks.
|
|
it's a good idea to use atomic.h operations on it. This mechanic
change updates all bit operations on p_flag to atomic_{set,clear}bits_int.
Only exception is that P_OWEUPC is set by MI code before calling
need_proftick and it's automatically cleared by ADDUPC. There's
no reason for MD handling of that flag since everyone handles it the
same way.
kettenis@ ok
|
|
|
|
|
|
Okay millert@
|
|
okay toby@ millert@
|
|
and failing to acquire a data block, from freebsd"
fix this in ffs2_balloc() as well
requested by and ok pedro
|
|
|
|
ok pedro
|
|
effectively been a no-op for quite some time now,
without promise for future usage.
ok pedro@
Testing by krw@ (earlier diff)
and Johan Mson Lindman (tybollt@solace.miun.se)
|
|
|
|
|
|
|
|
s/panic("%s: foo", "func")/panic("func: foo")
ok toby@
|
|
|
|
and failing to acquire a data block, from freebsd, okay krw@, mickey@
|
|
ok pedro
|
|
some 'number' -> '#'
ok pedro
|
|
it's not all that important, and mostly seems to just scare people.
ok pedro henning thib ...
also remove dumb casts.
|
|
ok pedro@
|
|
due to ffs_sync not be able to sync some buffers here is another
instance of softdep code that must ensure proper syncing.
try harder to flush MKDIR_BODY dependancy if such still exists
during pagedep flush (that is by syncing first block of the dir).
pedro@ ok
|
|
the macro games in ufs_readwrite.c (LFS_READWRITE) now that
LFS has gone, make these functions ffs specific and move them
into ffs/ffs_vnops.c zapping ufs_readwrite.c in the process.
Also, remove lfs fields from the inode and ufsmount structs.
ok toby@,deraadt@,pedro@
testing and ok krw@
|
|
If an error occurs while writing a buffer, then the data will
not have hit the disk and the dependencies cannot be unrolled.
In this case, the system will mark the buffer as dirty again so
that the write can be retried in the future. When the write
succeeds or the system gives up on the buffer and marks it as
invalid (B_INVAL), the dependencies will be cleared.
pedro@ ok
|
|
|
|
|
|
|
|
functional change; pedro@ ok
|
|
|
|
softdep processing and temporarily create inconsistant
on-disk ffs state and as well abuse kmem.
pedro@ deraadt@ ok; tested by many
|
|
No binary change
|
|
compatible, adapted from FreeBSD, okay krw@
|
|
|
|
and mount error paths.
ok sturm@ pedro@
|
|
|
|
will make pedro happy too (;
|
|
When the softupdates worklist gets too long, threads that attempt to
add more work are forced to process two worklist items first.
However, processing an item may generate additional work, causing the
unlucky thread to recursively process the worklist. Add a per-thread
flag to detect this situation and avoid the recursion. This should
fix the stack overflows that could occur while removing large
directory trees.
pedro@ tedu@ ok
|
|
and do not perform synchronous sync there is no wait requested by
skipping the drain_output() call. this fixes a problem where
update kthread would sleep forever on some vnode since work is created
faster than it can be flushed. pedro@ ok; tested by many
|