Date: Sat, 14 Feb 2009 23:02:21 +0000 (UTC) From: Konstantin Belousov <kib@FreeBSD.org> To: cvs-src-old@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: <200902142302.n1EN2j3j064449@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
kib 2009-02-14 23:02:21 UTC
FreeBSD src repository
Modified files: (Branch: RELENG_7)
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 188620 on 2009-02-14 23:02:21Z by kib
MFC r183073:
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.
Note that addition of the mount method and new struct mount field change
the KBI. This was approved by re and no objections on stable@ were
raised.
Revision Changes Path
1.252.2.5 +23 -12 src/sys/kern/vfs_vnops.c
1.228.2.4 +6 -0 src/sys/sys/mount.h
1.491.2.11 +1 -0 src/sys/sys/proc.h
1.74.2.4 +1 -0 src/sys/ufs/ffs/ffs_extern.h
1.136.2.4 +5 -2 src/sys/ufs/ffs/ffs_snapshot.c
1.329.2.10 +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?200902142302.n1EN2j3j064449>
