On Sat, Feb 22, 2020 at 11:36:43AM +0100, Bo Branten wrote: > > Hello, > > I am implementing support for metadata checksums on an ext4 driver for > another os and test this by writing something and then run e2fsck from Linux > to see what it says. When I create a new empty directory that only contains > . and .. I got this error message from e2fsck that I want to ask you to > clearify: > > bo@bo-desktop:~$ sudo e2fsck -pvf /dev/sdb2 > /dev/sdb2: Directory inode 64, block #0, offset 0: directory has no checksum. > FIXED. > > Am I right that it is not the checksum on the inode that represents the > directory but the checksum in the directory entry tail in the first and only > block? Yes. It means the dirent tail is missing. > Also do "no checksum" means something different than wrong checksum, like I > have not initialized it correctly? (if I dont call initialize_dirent_tail I > will get another error message from e2fsck that speficially says there is no > room for the checksum so it can not be that) I'm not sure what you message you are referring to in your parenthetical comment. I'm guessing you don't want to look at the e2fsck source code? What about using debugfs so you can see what the directory looks like before and after running e2fsck. - Ted