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>