Date: Tue, 16 Sep 2008 11:51:06 +0000 (UTC) From: Konstantin Belousov <kib@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern vfs_vnops.c src/sys/sys mount.h proc.h src/sys/ufs/ffs ffs_extern.h ffs_snapshot.c ffs_vfsops.c Message-ID: <200809161151.m8GBpWZX073996@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
kib 2008-09-16 11:51:06 UTC
FreeBSD src repository
Modified files:
sys/kern vfs_vnops.c
sys/sys mount.h proc.h
sys/ufs/ffs ffs_extern.h ffs_snapshot.c ffs_vfsops.c
Log:
SVN rev 183073 on 2008-09-16 11:51:06Z by kib
When attempt is made to suspend a filesystem that is already syspended,
wait until the current suspension is lifted instead of silently returning
success immediately. The consequences of calling vfs_write() resume when
not owning the suspension are not well-defined at best.
Add the vfs_susp_clean() mount method to be called from
vfs_write_resume(). Set it to process_deferred_inactive() for ffs, and
stop calling it manually.
Add the thread flag TDP_IGNSUSP that allows to bypass the suspension
point in the vn_start_write. It is intended for use by VFS in the
situations where the suspender want to do some i/o requiring calls to
vn_start_write(), and this i/o cannot be done later.
Reviewed by: tegge
In collaboration with: pho
MFC after: 1 month
Revision Changes Path
1.265 +23 -12 src/sys/kern/vfs_vnops.c
1.233 +6 -0 src/sys/sys/mount.h
1.520 +1 -0 src/sys/sys/proc.h
1.77 +1 -0 src/sys/ufs/ffs/ffs_extern.h
1.145 +5 -2 src/sys/ufs/ffs/ffs_snapshot.c
1.349 +1 -0 src/sys/ufs/ffs/ffs_vfsops.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200809161151.m8GBpWZX073996>
