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>