NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/38039: genfs+ufs inode locking problem
The following reply was made to PR kern/38039; it has been noted by GNATS.
From: Andrew Doran <ad%netbsd.org@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc:
Subject: Re: kern/38039: genfs+ufs inode locking problem
Date: Sat, 16 Feb 2008 15:39:07 +0000
There are more problems:
o VOP_READ() needs to do atomic updates of the inode status.
o It seems that VOP_READ() with IO_SYNC should be called with an exclusive
vnode lock held, so it's safe to update the itimes and flush the inode to
disk after the read has completed.
o ufs_gop_alloc() will be called to fill holes in a file if we are trying
to resolve a write fault. The vnode lock is not held at this point, but in
principle it should be fine since we hold the genfs_node lock. It updates
many fields in the in-core inode. These updates are not co-ordinated with
e.g. ffs_update().
o ffs_alloc() calls through to the disk quota code, which looks like it
expects the vnode lock held.
Andrew
Home |
Main Index |
Thread Index |
Old Index