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