]> git.baikalelectronics.ru Git - kernel.git/commit
Btrfs: fix trim 0 bytes after a device delete
authorLiu Bo <liubo2009@cn.fujitsu.com>
Thu, 9 Feb 2012 10:17:41 +0000 (18:17 +0800)
committerDavid Sterba <dsterba@suse.cz>
Wed, 15 Feb 2012 15:40:23 +0000 (16:40 +0100)
commit5b2dbdcbc3b398d7a6cafe1ccdc78c2ba9154bfd
treeb74e7e863b7d7c2e116dc6754d8faf701c0aa3c9
parent2f3d9a0f2d9ea0f1e7763e66e45b31659e189b2f
Btrfs: fix trim 0 bytes after a device delete

A user reported a bug of btrfs's trim, that is we will trim 0 bytes
after a device delete.

The reproducer:

$ mkfs.btrfs disk1
$ mkfs.btrfs disk2
$ mount disk1 /mnt
$ fstrim -v /mnt
$ btrfs device add disk2 /mnt
$ btrfs device del disk1 /mnt
$ fstrim -v /mnt

This is because after we delete the device, the block group may start from
a non-zero place, which will confuse trim to discard nothing.

Reported-by: Lutz Euler <lutz.euler@freenet.de>
Signed-off-by: Liu Bo <liubo2009@cn.fujitsu.com>
fs/btrfs/extent-tree.c