]> git.hungrycats.org Git - linux/commit
btrfs: don't attempt to trim devices that don't support it
authorJeff Mahoney <jeffm@suse.com>
Thu, 6 Sep 2018 21:18:15 +0000 (17:18 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 13 Nov 2018 19:17:04 +0000 (11:17 -0800)
commit391235fd9c3ff8b42eb964a8d225477b4ac01f45
tree23d9d7e5ff26cf66b740589c268385e6ade93818
parentd87af98c5ab77cd4125589ef59b54151481d9787
btrfs: don't attempt to trim devices that don't support it

commit 0be88e367fd8fbdb45257615d691f4675dda062f upstream.

We check whether any device the file system is using supports discard in
the ioctl call, but then we attempt to trim free extents on every device
regardless of whether discard is supported.  Due to the way we mask off
EOPNOTSUPP, we can end up issuing the trim operations on each free range
on devices that don't support it, just wasting time.

Fixes: 499f377f49f08 ("btrfs: iterate over unused chunk space in FITRIM")
CC: stable@vger.kernel.org # 4.4+
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/btrfs/extent-tree.c