<!DOCTYPE html><html><head><title></title><style type="text/css">p.MsoNormal,p.MsoNoSpacing{margin:0}</style></head><body><div>Yes, indeed. Checking dmesg should be the first thing of course. And I do see errors there:<br></div><div><br></div><div>hammer2_bulkfree: Scanning BACKUP<br></div><div>chain 0000004186d3400a.01 (Inode) meth=32 CHECK FAIL (flags=00144002, bref/data ac9f8ef29097a55b/05e63f87e50fb2e2)<br></div><div> Resides at/in inode 49686<br></div><div> In pfs UNKNOWN on device serno/WCJ35GE0.s1d<br></div><div><br></div><div>No CRC errors though, but I will check the media anyway.<br></div><div><br></div><div>Thanks for the hint on how to repair the directory.<br></div><div><br></div><div>While here, unrelated question. On my server I have a hardware raid (LSI MegaSAS Gen2) without battery. By default write cache was enabled. Do I understand it right that it's not safe to have write cache enabled unless there is a battery? What kind of cache is that anyway. I guess if it's an nvm then maybe it's ok? Another thing: the drive write chache is set to "default" which might mean that it's on too? The drives cache is probably a volatile memory - so it's definitely should be off, right?<br></div><div><br></div><div>--<br></div><div>Aleksej Lebedev<br></div><div><br></div><div>On Mon, Oct 12, 2020, at 20:19, Matthew Dillon wrote:<br></div><blockquote type="cite" id="qt" style=""><div dir="ltr"><div>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.<br></div><div><br></div><div>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.<br></div><div><br></div><div>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.<br></div><div><br></div><div>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.<br></div><div><br></div><div>Also make sure that bulkfree runs don't have errors. 'hammer2 bulkfree ...' and then check dmesg output as well.<br></div><div><br></div><div>--<br></div><div><br></div><div>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.<br></div><div><br></div><div>-Matt<br></div></div></blockquote><div><br></div></body></html>