https://bugzilla.kernel.org/show_bug.cgi?id=213627 Theodore Tso (tytso@xxxxxxx) changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |tytso@xxxxxxx --- Comment #2 from Theodore Tso (tytso@xxxxxxx) --- I'm guessing that it's your snapshot driver which is buggy. Certainly, if you take a snapshot using LVM, things work fine. e.g.: # mke2fs -t ext4 /dev/cwcc-wg/scratch # mount -t ext4 /dev/cwcc-wg/scratch /mnt # cp -r /etc /mnt # lvcreate --snapshot -n snap -L 5G cwcc-wg/scratch # e2fsck -fn /dev/cwcc-wg/snap You can see everything that has changed via a command such as "git log v5.0..v5.3 block fs/ext4". In terms of what might be a relevant change, without understanding how your snapshot driver works, your guess is probably going to be better than mine --- since you have access to your snapshot driver and know how it works. When you say that your driver "bypasses read/write calls to system block driver", I'm not 100% sure how it works, but at a guess, some things I'd look at are: (a) ext4 uses the buffer cache to read/write metadata blocks. Maybe your driver isn't properly intercepting buffer cache reads/writes? (b) Ext4 at mount time reads the superblock via the buffer cache with the block size set to 1k; and then after it determines the block size of the file system (say, 4k), it switches the block size of the buffer cache to the block size of the file system. Ext[234] has been doing this for decades, but depending on how your snapshot driver is working, perhaps there is some change in the how the buffer cache works which is confusing your driver. Sorry I can't help more. -- You may reply to this email to add a comment. You are receiving this mail because: You are watching the assignee of the bug.