Age | Commit message (Collapse) | Author |
|
Verified against FreeBSD, closes PR 4526, okay deraadt@.
|
|
- keep track of free blocks dependencies, and only tell the syncer to
release the blocks when there are no more dirty buffers associated
- don't mark the inode dependency as done if we had to rollback its
allocation due to the bitmap being inconsistent
testing by krw, jsg, jmc and sturm, okay deraadt
|
|
softdep_disk_io_initiation(). Testing by dtucker@ and krw@, okay
deraadt@ long ago.
|
|
a bit, to improve readability. Okay krw@ and art@, input from deraadt@
and jmc@.
|
|
|
|
non-error cases, so that later on we don't deadlock trying to look it
up. Fixes buglet introduced in revision 1.38, okay deraadt@.
|
|
|
|
|
|
|
|
SAVESTART set in cn_flags, it will add an extra reference to the
directory vnode pointer, but only when () succeeds. We were doing
vrele() regardless of relookup()'s return value, which caused the
reference count to be decremented on error when it shouldn't be.
OK pedro@ tedu@
|
|
this time with a small tweak: when flushing the dependencies, don't
update the inode twice, but update once, and then, if needed, fsync it.
Doing so fixes the inode hangs some people were seeing.
Various testing for a while, especially krw@ and millert@, okay deraadt@
|
|
been worked on, so EA is pointless. Also the code is not enabled
in GENERIC so it is not being tested or maintained.
|
|
|
|
|
|
to be co-opted by softdep or not, and use this new interface to inform
softdep in ufs_inactive() that the inode mode has changed.
We don't want to be co-opted there as that might lead to undesired
circular dependencies such as a vput() depending on another vput() to
complete, or a process that is trying to free up a vnode being blocked
trying to acquire a new vnode.
Okay tedu@ deraadt@, thanks to all those who tested.
|
|
loop in the kernel that makes us overwrite the stack and anything else
we might run into.
beck@ pedro@ ok
|
|
|
|
|
|
talked over with marius@ and tedu@
|
|
|
|
|
|
Automatically converts old filesystems to use this if they are already at
revision 1 (like Linux). Revision 0 filesystems don't get converted (unlike
Linux).
From NetBSD
|
|
ufs_checkpath(), optimize a if/else's logical structure. diff mostly
from netbsd, okay tedu@ fgsch@ deraadt@, tested by many, jcs@ in
particular, thanks. fixes PRs 4040, 4126, 4169 and 4180.
|
|
|
|
performance loss issue in some cases when reading past the 2GB boundary in
large files. Testing by drahn@, otto@, danh@, krw@, tom@, jaredy@.
From FreeBSD. tedu@, pedro@ ok.
|
|
- sturct -> struct (spotted by pedro)
- elimination of consecutive 'the' words
ok jmc@, henning@, krw@, robert@, some whining by jolan@
|
|
|
|
no change in compiler assembly output.
|
|
tail pointer must be updated; from FreeBSD (mckusick).
Appears to fix problems I was seeing with processes stuck with
WCHAN=inode in rev 1.50. OK pedro@ and tedu@.
|
|
to free the lock twice. Doesn't actually make any difference for
us (no .o file diff) since the code block that contains the continue
is currently commented out but it makes sense to fix this now so
if/when that code is enabled we don't get bitten. From FreeBSD, ok pedro@.
|
|
prev softdep merge could lead to inode wait deadlock for unknown reasons.
revert.
|
|
revert.
|
|
'looks fine' millert@, krw@. ok jmc@
|
|
locks the vnode twice, and we can't fix it right now. discussed with pedro.
|
|
|
|
ok marius@ tedu@
|
|
check for ufs_truncate failure and do a bit of the usual null for
pointers, spacing stuff. ok tedu@
|
|
|
|
superblock; make the block size check also catch negative values.
ok miller@ tedu@
|
|
should solve some panics. various testing for a while.
|
|
is horrible and doesn't add anything.
Remove it.
XXX - the fdplock macro will need a separate cleanup.
niklas@ markus@ ok
|
|
|
|
use mode_t in syscalls.master and to use mode_t in more places in
the kernel. It also makes lint much more useful on kernel code.
I've also added a placeholder for st_birthtime to make a UFS2 import
easier at some future date.
Requested by and OK deraadt@
|
|
|
|
ok millert@
|
|
encapsulating all such access into wall-defined functions
that makes sure locking is done as needed.
It also cleans up some uses of wall time vs. uptime some
places, but there is sure to be more of these needed as
well, particularily in MD code. Also, many current calls
to microtime() should probably be changed to getmicrotime(),
or to the {,get}microuptime() versions.
ok art@ deraadt@ aaron@ matthieu@ beck@ sturm@ millert@ others
"Oh, that is not your problem!" from miod@
|
|
things such that code that only need a second-resolution uptime or wall
time, and used to get that from time.tv_secs or mono_time.tv_secs now get
this from separate time_t globals time_second and time_uptime.
ok art@ niklas@ nordin@
|
|
|
|
|
|
relevant changes to ffs_softdep.c were 1.95, 1.96, 1.97, 1.98, 1.103, and
1.107 in freebsd. testing marc and otto. ok deraadt
|