cvs commit: src/sys/ufs/ffs ffs_inode.c ffs_snapshot.c ffs_vnops.c
src/sys/ufs/ufs inode.h ufs_vnops.c
Konstantin Belousov
kib at FreeBSD.org
Tue Oct 10 02:20:55 PDT 2006
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
More information about the cvs-src
mailing list