File remove problem

Julian Elischer julian at elischer.org
Thu Nov 29 16:50:09 PST 2007


Bill Vermillion wrote:
> On Fri, Nov 30, 2007 at 09:41  David Cecil saw "Error reading FAT table?
> Try SKINNY table?" And promptly said:
> 
>> Hi,
> 
>> I've been looking into a problem we're seeing on FreeBSD 6.1, though I 
>> believe the bug will exist in current, or at least 7.0.
> 
>> Under certain circumstances, when a file is
>> removed from the filesystem, and the filesystem
>> is remounted read-only immediately afterwards,
>> an error such as the following is displayed:
>> g_vfs_done():mirror/gmroots1f[WRITE(offset=1349058560,
>> length=16384)]error = 1
> 
>> I have determined that the buffer contains an update to the
>> inode for the file that's deleted. The inode for the directory
>> change appears to be updated correctly. So what's not making it
>> to disk is the updated file inode with its changed link counts
>> (should now be zero). So, somehow this inode is being missed
>> during the sync prior to the remount completing.
> 
>> I'm still looking through the code to find the problem, but any
>> insights from those more familiar with the code would be much
>> appreciated.
> 
> Are you sure the sync occurred?  What happens if you run 'sync'
> and then perform the above process?

Kirk said that soft updates can take up to 3 syncs for the dependencies
to flush through..  I don't know if that is relevant.
One would think the making it read-only would call the same code as unmount
to make sure everything was flushed through..
 

> 
> Bill
> 
> 



More information about the freebsd-fs mailing list