在 2025/7/19 12:17, Al Viro 写道:
On Sat, Jul 19, 2025 at 10:44:03AM +0800, Zizhi Wo wrote:
mkfs.ext4 -F /dev/sdb
mount /dev/sdb /mnt
mknod /dev/test b 8 16 # [sdb 8:16]
echo 1 > /sys/block/sdb/device/delete
mount /dev/test /mnt1 # -> mount success
Therefore, it is necessary to add an extra check. Solve this problem by
checking disk_live() in super_s_dev_test().
That smells like a wrong approach... You are counting upon the failure
of setup_bdev_super() after the thing is forced on the "no reuse" path,
and that's too convoluted and brittle...
Since this problem can only occur in the superblock reuse scenario, and
the .test function used in sget_fc() for bdev filesystems is
super_s_dev_test(), I considered adding an additional condition check
within that function.
I'm wondering if there's a better way to handle this...
Thanks,
Zizhi Wo