Linux 为什么环回设备会出现故障?

Linux 为什么环回设备会出现故障?,linux,filesystems,Linux,Filesystems,在代码的底部,您可以看到它失败了。事实上,我一开始也会把它放在这里,因为这是我需要解决的问题: [350591.924819] EXT4-fs (loop0): bad geometry: block count 9750806 exceeds size of device (9750168 blocks) 我不明白为什么这个设备被认为太小了。两天前,我用普通的fdisk创建了这个分区,它是用ext4创建和格式化的,除了分区/dev/sdb2之外,没有其他选项可供格式化 我能想到的唯一解释是e

在代码的底部,您可以看到它失败了。事实上,我一开始也会把它放在这里,因为这是我需要解决的问题:

[350591.924819] EXT4-fs (loop0): bad geometry: block count 9750806 exceeds size of device (9750168 blocks)
我不明白为什么这个设备被认为太小了。两天前,我用普通的fdisk创建了这个分区,它是用ext4创建和格式化的,除了分区/dev/sdb2之外,没有其他选项可供格式化

我能想到的唯一解释是ext4的分区大小有点错误,但这似乎不太可能。我的数学怎么了?偏移量是正确的,您可以看到使用file命令时,大小也应该是正确的,因为End-Start的扇区数减去1是相同的,就像从扇区1开始到扇区2结束的磁盘应该是2-1=1,并且有两个扇区一样

# sfdisk -luS /dev/sdb

Disk /dev/sdb: 9729 cylinders, 255 heads, 63 sectors/track
Units = sectors of 512 bytes, counting from 0

   Device Boot    Start       End   #sectors  Id  System
/dev/sdb2      78295040 156296384   78001345  83  Linux

# losetup -r -f --show -o $((78295040 * 512)) --sizelimit $((78001345 * 512)) /dev/sdb
/dev/loop0
# file -s /dev/loop0
/dev/loop0: Linux rev 1.0 ext4 filesystem data (needs journal recovery) (extents) (large files) (huge files)
# mount -o ro -t ext4 /dev/loop0 /mnt
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so
# dmesg | tail -n 1
[350591.924819] EXT4-fs (loop0): bad geometry: block count 9750806 exceeds size of device (9750168 blocks)