Date: Tue, 7 Nov 2006 16:56:11 +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: <200611071656.kA7GuBa2098072@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
kib 2006-11-07 16:56:11 UTC FreeBSD src repository Modified files: (Branch: RELENG_6) sys/ufs/ffs ffs_inode.c ffs_snapshot.c ffs_vnops.c sys/ufs/ufs inode.h ufs_vnops.c Log: MFC sys/ufs/ffs/ffs_inode.c rev. 1.107 sys/ufs/ffs/ffs_snapshot.c rev. 1.131 sys/ufs/ffs/ffs_vnops.c rev. 1.161 sys/ufs/ufs/inode.h rev. 1.51 sys/ufs/ufs/ufs_vnops.c rev. 1.280 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 on RELENG_6 by: Peter Holm Approved by: re (kensmith) Revision Changes Path 1.106.2.1 +7 -5 src/sys/ufs/ffs/ffs_inode.c 1.103.2.21 +18 -6 src/sys/ufs/ffs/ffs_snapshot.c 1.157.2.4 +8 -2 src/sys/ufs/ffs/ffs_vnops.c 1.49.2.1 +9 -0 src/sys/ufs/ufs/inode.h 1.271.2.7 +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?200611071656.kA7GuBa2098072>