Skip to contentSkip to conversation

punch command works incorrect in debugfs

DISCUSSION Zheng Liu 1 participant 1 message Jan 28, 2013

lore
Share & tools
lore

Zheng Liu

author
#0 lore raw

Hi all,

I found a bug in debugfs that 'punch' command work incorrect for a indirect-based file. The bug can be triggered by the following commands, and it seems that the problem is in libext2fs library. I file this bug in mailing list because I have no time to look at it carefully and I doubt that this command is not used frequently.

[reproduce steps]
sudo mkfs.ext4 -O ^extent ${DEV}
sudo mount -t ext4 ${DEV} ${MNT}
sudo dd if=/dev/zero of=${MNT}/punch-file bs=4k count=16 sync
sudo umount ${MNT}
sudo debugfs ${DEV} -R 'stat punch-file'
sudo debugfs -w ${DEV} -R 'punch punch-file 4 6' sudo debugfs ${DEV} -R 'stat punch-file'

[expected result]
...
BLOCKS:
(0-3):34304-34307, (6-11):34310-34315, (IND):33793, (12-15):34316-34319
...

[wrong result]
...
BLOCKS:
(0-11):34304-34315, (IND):33793, (12-15):34316-34319
...

Regards,
- Zheng