Generally speaking this error occurs if a directory entry is present but the related inode cannot be found. You can use a hammer2 directive to destroy the directory entry to clean it up. But before you do so you want to check the media for CHECK FAIL errors.
The easiest way to do this is to just read off the entire directory structure with tar, e.g. 'tar cf /dev/null filesystem' and then check the dmesg output for errors. 'dmesg | fgrep CHECK'. Something like that. If the filesystem appears clean other than the disconnected directory entry, then you can use 'hammer2 destroy filename' to destroy the directory entry. Be very careful when doing that. If the filesystem has other problems, such as CRC errors, other CHECK errors, etc.... then it is best to make a full backup and reformat. Also make sure that bulkfree runs don't have errors. 'hammer2 bulkfree ...' and then check dmesg output as well. -- In terms of how a disconnected inode can happen. It has become more rare but it might still be possible if a power failure or panic occurs during heavy filesystem activity. It shouldn't be possible for CRC errors to occur unless the media itself corrupted the data. -Matt
