atom feed22 messages in org.freebsd.freebsd-fsDeadlock between nfsd and snapshots.
FromSent OnAttachments
Konstantin BelousovAug 18, 2006 4:48 pm 
Tor EggeAug 18, 2006 8:19 pm 
Peter HolmAug 20, 2006 5:28 pm 
Tor EggeAug 21, 2006 1:21 pm 
Eric AndersonAug 21, 2006 1:37 pm 
Kostik BelousovAug 21, 2006 1:38 pm 
Kostik BelousovAug 21, 2006 1:44 pm 
Tor EggeAug 21, 2006 2:09 pm 
Bruce EvansAug 22, 2006 9:15 am 
Kostik BelousovAug 22, 2006 1:07 pm 
Kostik BelousovAug 22, 2006 1:16 pm 
Tor EggeAug 22, 2006 9:46 pm 
Kostik BelousovAug 23, 2006 4:40 am 
Kostik BelousovAug 23, 2006 11:07 am 
Bruce EvansAug 23, 2006 2:04 pm 
Bruce EvansAug 23, 2006 3:39 pm 
Tor EggeAug 23, 2006 3:47 pm 
Tor EggeAug 23, 2006 4:31 pm 
Tor EggeAug 23, 2006 4:57 pm 
Bruce EvansAug 23, 2006 6:32 pm 
Bruce EvansAug 23, 2006 7:12 pm 
Tor EggeAug 23, 2006 8:06 pm 
Subject:Deadlock between nfsd and snapshots.
From:Eric Anderson (ande@centtech.com)
Date:Aug 21, 2006 1:37:00 pm
List:org.freebsd.freebsd-fs

On 08/21/06 08:21, Tor Egge wrote:

I wrote:

The deadlock indicates that one or more of IN_CHANGE, IN_MODIFIED or IN_UPDATE was set on the inode, indicating a write operation (e.g. VOP_WRITE(), VOP_RENAME(), VOP_CREATE(), VOP_REMOVE(), VOP_LINK(), VOP_SYMLINK(), VOP_SETATTR(), VOP_MKDIR(), VOP_RMDIR(), VOP_MKNOD()) that was not protected by vn_start_write() or vn_start_secondary_write().

The most common "write" operation was probably VOP_GETATTR().

ufs_itimes(), called from ufs_getattr(), might set the IN_MODIFIED inode flag if IN_ACCESS is set on the inode even if neither IN_CHANGE nor IN_UPDATE is set, transitioning the inode flags into a state where ufs_inactive() calls the blocking variant of vn_start_secondary_write().

calling ufs_itimes() with only a shared vnode lock might cause unsafe accesses to the inode flags. Setting of IN_ACCESS at the end of ffs_read() and ffs_extread() might also be unsafe. If DIRECTIO is enabled then O_DIRECT reads might not even attempt to set the IN_ACCESS flag.

Does this mean that setting the noatime flag on mount would dodge this?

Eric