Re: soft updates / background fsck directory link count bug

From: Don Lewis <truckman_at_FreeBSD.org>
Date: Sun, 25 Sep 2005 00:21:13 -0700 (PDT)
('BINARY' encoding is not supported, stored as-is)
On 25 Sep, Tor Egge wrote:
>> Relying on ufs_inactive() is probably the wrong thing to do because the
>> ufs_inactive() call can be deferred indefinitely if another process
>> holds a reference to the vnode.  This is sufficient to cause background
>> fsck to do the wrong thing even in the normal case.
> 
>> I think the cleanest fix would be for handle_workitem_remove() to
>> explicity call ffs_update().
> 
> Agreed.  The enclosed patch does that.

It works well for me in the testing that I have done.  It also has the
advantage of doing the dirrem rundown much more quickly than the
unmodified code in your directory tree removal example.

BTW, without this modification, your directory tree removal example will
trigger a timeout in the syncer thread shutdown code if the system is
immediately rebooted after the rm -r.


Received on Sun Sep 25 2005 - 05:21:31 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:44 UTC