DragonFly bugs List (threaded) for 2009-04
Re: Still looking for reports of missed directory entries w/ HAMMER
On Wed, Apr 15, 2009 at 11:57:21PM -0700, Matthew Dillon wrote:
> :I run rsnapshot on a dedicated hammer filesystem, mounted nohistory.
> :Recently, I have discovered some directories couldn't be properly rotated:
> :# ls -la stock
> :ls: text: No such file or directory
> :total 0
> :drwxr-xr-x 1 root wheel 0B Apr 2 04:03 .
> :drwxr-xr-x 1 root wheel 0B Apr 2 04:03 ..
> :# rmdir stock
> :rmdir: stock: Directory not empty
> Is there any chance that those particular files or directories were
> being actively modified when the crash occured? Or would they have
> been stable at the time of the crash?
I can't say for sure, but the probability is high the machine crashed during a
This can take a long time (too many files, 28K directories per run)
> That looks like a case where the directory entry exists but the inode
> does not. I have seen this occur before in crash recovery cases but
> I had thought I had fixed it. There's was an edge case where a directory
> entry can get synced to disk in a different transaction then the inode.
> If the machine crashes right then you wind up with the above situation.
The buggy directories were created after I upgraded to DragonFly-2.2.
> If the files should have been stable then try rebooting the machine
> and see if the problem is still present. That will tell me whether
> its a namecache effect in the kernel or something that got synced
> to the media.
The media is definitely corrupt: I rebooted the machine and it is still
impossible to delete the directories.
All error messages stay the same.
Additionally, the following kernel messages were emitted during the last two days
(after the reboot):
Warning: BTREE_REMOVE: Defering parent removal2 @ 80000013e5b2d000, skipping
Warning: BTREE_REMOVE: Defering parent removal2 @ 8000002ba5b63000, skipping
Warning: BTREE_REMOVE: Defering parent removal2 @ 800000369defc000, skipping
Warning: BTREE_REMOVE: Defering parent removal2 @ 800000372a107000, skipping