History log of /netbsd/sys/ufs/ffs/ffs_wapbl.c (Results 1 – 25 of 47)
Revision Date Author Comments
# 2d52435a 22-May-2022 andvar <andvar@NetBSD.org>

fix various small typos, mainly in comments.


# 903c93aa 13-May-2022 reinoud <reinoud@NetBSD.org>

Fix typo dallocate -> deallocate


# 018d6f38 11-Apr-2020 jdolecek <jdolecek@NetBSD.org>

remove noncompilable WAPBL_DEBUG_INODES

PR kern/49554 by Thomas Klausner


# 02443708 17-Jan-2020 ad <ad@NetBSD.org>

VFS_VGET(), VFS_ROOT(), VFS_FHTOVP(): give them a "int lktype" argument, to
allow us to get shared locks (or no lock) on the returned vnode. Matches
FreeBSD.


# 80d7e788 01-Jan-2019 hannken <hannken@NetBSD.org>

Add "void *extra" argument to vcache_new() so a file system may
pass more information about the file to create.

Welcome to 8.99.30


# 6778c1be 10-Dec-2018 jdolecek <jdolecek@NetBSD.org>

make UFS_WAPBL_JLOCK_ASSERT() #ifdef DIAGNOSTIC, same as the underlying
function KASSERT(), so that it actually does something; fix code using
it to actually pass correct params, so that it compiles

make UFS_WAPBL_JLOCK_ASSERT() #ifdef DIAGNOSTIC, same as the underlying
function KASSERT(), so that it actually does something; fix code using
it to actually pass correct params, so that it compiles

remove UFS_WAPBL_JUNLOCK_ASSERT(), as that is inherently racy (it's
okay on those places if the rwlock is held by other lwp); depend
on the RW_ASSERT()/LOCKDEBUG inside rw_enter() to catch the case
with wapbl rwlock held by current lwp

show more ...


# a8a5c538 03-Sep-2018 riastradh <riastradh@NetBSD.org>

Rename min/max -> uimin/uimax for better honesty.

These functions are defined on unsigned int. The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a n

Rename min/max -> uimin/uimax for better honesty.

These functions are defined on unsigned int. The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a name change -- no functional change intended.

HOWEVER! Some subsystems have

#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) > (b) ? (a) : (b))

even though our standard name for that is MIN/MAX. Although these
may invite multiple evaluation bugs, these do _not_ cause integer
truncation.

To avoid `fixing' these cases, I first changed the name in libkern,
and then compile-tested every file where min/max occurred in order to
confirm that it failed -- and thus confirm that nothing shadowed
min/max -- before changing it.

I have left a handful of bootloaders that are too annoying to
compile-test, and some dead code:

cobalt ews4800mips hp300 hppa ia64 luna68k vax
acorn32/if_ie.c (not included in any kernels)
macppc/if_gm.c (superseded by gem(4))

It should be easy to fix the fallout once identified -- this way of
doing things fails safe, and the goal here, after all, is to _avoid_
silent integer truncations, not introduce them.

Maybe one day we can reintroduce min/max as type-generic things that
never silently truncate. But we should avoid doing that for a while,
so that existing code has a chance to be detected by the compiler for
conversion to uimin/uimax without changing the semantics until we can
properly audit it all. (Who knows, maybe in some cases integer
truncation is actually intended!)

show more ...


# bd379155 28-May-2017 hannken <hannken@NetBSD.org>

No need to call vgone() on the just created in file system log vnode,
vput() is sufficient.


# 70754310 22-Mar-2017 jdolecek <jdolecek@NetBSD.org>

move the ffs_sync() after wapbl_log_position() call, since that can still
create delayed writes with MNT_ASYNC when log is created


# b09afe3b 16-Mar-2017 jdolecek <jdolecek@NetBSD.org>

need to turn off async during ffs_sync(), otherwise its bwrite() calls are
themselves turned to bdwrite(), creating dirty delayed writes

fixes panic for 'mount -o log,async ...' reported by Masanobu

need to turn off async during ffs_sync(), otherwise its bwrite() calls are
themselves turned to bdwrite(), creating dirty delayed writes

fixes panic for 'mount -o log,async ...' reported by Masanobu SAITOH
on current-users; fix help by hannken@, thank you

show more ...


# 09482abd 10-Mar-2017 jdolecek <jdolecek@NetBSD.org>

sync any delayed writes when updating filesystem to log

Adresses PR kern/52056 by Martin Husemann, fix helped by Juergen Hannken, thanks


# b861a89c 10-Nov-2016 jdolecek <jdolecek@NetBSD.org>

disable discard when log is enabled to preserve log consistency promise

PR kern/50725


# 1b473e66 10-Nov-2016 jdolecek <jdolecek@NetBSD.org>

during truncate with wapbl, register deallocation for upper indirect block
before recursing into lower blocks, to make sure that it will be removed after
all its referenced blocks are removed

fixes

during truncate with wapbl, register deallocation for upper indirect block
before recursing into lower blocks, to make sure that it will be removed after
all its referenced blocks are removed

fixes 'ffs_blkfree_common: freeing free block' panic triggered by
ufs_truncate_retry() when just the upper indirect block registration failed,
code tried to free the lower blocks again after wapbl flush

problem found by hannken@, thank you

show more ...


# d02f1225 02-Oct-2016 christos <christos@NetBSD.org>

use __func__ and print the filesystem we are printing the message for.


# 0403f59f 01-Oct-2016 jdolecek <jdolecek@NetBSD.org>

allocate wapbl dealloc registration structures via pool, so that there is more
flexibility with limit handling


# 364a38a6 01-Oct-2016 jdolecek <jdolecek@NetBSD.org>

wapbl_remove_log(): add missing break; harmless, fallthrough just printed
extra debug message


# fd25b346 24-Sep-2016 jdolecek <jdolecek@NetBSD.org>

fix swapped KASSERT()


# dd140c3c 24-Sep-2016 jdolecek <jdolecek@NetBSD.org>

i/o optimization for wapbl flush - only sync superblock and cgs when
they were actually changed


# f61b6169 28-Mar-2015 maxv <maxv@NetBSD.org>

Remove the 'cred' argument from bread(). Remove a now unused var in
ffs_snapshot.c. Update the man page accordingly.

ok hannken@


# 74c4a4c0 17-Mar-2015 hannken <hannken@NetBSD.org>

Change ffs to use vcache_new:
- Change ffs_valloc to return an inode number.
- Remove now obsolete UFS operations UFS_VALLOC and UFS_VFREE.
- Make ufs_makeinode private to ufs_vnops.c and pass vattr

Change ffs to use vcache_new:
- Change ffs_valloc to return an inode number.
- Remove now obsolete UFS operations UFS_VALLOC and UFS_VFREE.
- Make ufs_makeinode private to ufs_vnops.c and pass vattr instead of mode.

show more ...


# e5466301 11-Jul-2014 christos <christos@NetBSD.org>

move the flag setting higher to avoid KASSERT (dholland)


# 8bc8e2b4 10-Jul-2014 christos <christos@NetBSD.org>

CID 975226: hande error from UFS_WAPBL_BEGIN


# d2841976 10-Jul-2014 dholland <dholland@NetBSD.org>

Fix unchecked UFS_WAPBL_BEGIN. Coverity 975226.
Unfortunately it looks like all we can do on error here is printf.


# 1a35529d 25-Oct-2013 martin <martin@NetBSD.org>

Turn a few __unused into __diagused


# bcffe5db 20-Oct-2013 htodd <htodd@NetBSD.org>

Definining needswap where needed.


12