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-all mailing list