Re: [PATCH] fs: don't return -EINVAL for successful nested thaw

From: Christoph Hellwig

Date: Tue Aug 25 2026 - 01:52:37 EST


On Fri, Aug 21, 2026 at 10:54:51AM +0200, Moritz Tanner wrote:
> Reproducer (any kernel since v6.8):
>
> dmsetup create dut --table "0 $(blockdev --getsz "$DEV") linear $DEV 0"
> mkfs.ext4 /dev/mapper/dut
> mount /dev/mapper/dut /mnt
> fsfreeze --freeze /mnt # freeze_ucount == 1
> dmsetup suspend dut # bd_fsfreeze_count == 1, ucount == 2
> dmsetup resume dut # ucount 2 -> 1, but thaw_super()
> # returns -EINVAL, so bdev_thaw()
> # keeps bd_fsfreeze_count at 1
> fsfreeze --unfreeze /mnt # filesystem thaws fine
> umount /mnt
> mount /dev/mapper/dut /mnt # EBUSY, forever

Can you wire this up in xfstests or blktests?