Date: Tue, 10 Oct 2006 09:20:54 +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/ufs/ffs ffs_inode.c ffs_snapshot.c ffs_vnops.c src/sys/ufs/ufs inode.h ufs_vnops.c Message-ID: <200610100920.k9A9KthM089673@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
kib 2006-10-10 09:20:54 UTC
FreeBSD src repository
Modified files:
sys/ufs/ffs ffs_inode.c ffs_snapshot.c ffs_vnops.c
sys/ufs/ufs inode.h ufs_vnops.c
Log:
Do not translate the IN_ACCESS inode flag into the IN_MODIFIED while filesystem
is suspending/suspended. Doing so may result in deadlock. Instead, set the
(new) IN_LAZYACCESS flag, that becomes IN_MODIFIED when suspend is lifted.
Change the locking protocol in order to set the IN_ACCESS and timestamps
without upgrading shared vnode lock to exclusive (see comments in the
inode.h). Before that, inode was modified while holding only shared
lock.
Tested by: Peter Holm
Reviewed by: tegge, bde
Approved by: pjd (mentor)
MFC after: 3 weeks
Revision Changes Path
1.107 +7 -5 src/sys/ufs/ffs/ffs_inode.c
1.131 +18 -6 src/sys/ufs/ffs/ffs_snapshot.c
1.161 +8 -2 src/sys/ufs/ffs/ffs_vnops.c
1.51 +9 -0 src/sys/ufs/ufs/inode.h
1.280 +47 -21 src/sys/ufs/ufs/ufs_vnops.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200610100920.k9A9KthM089673>
