linux/fs/f2fs
Damien Le Moal 7f3d7719c1 f2fs: improve discard handling with multi-device volumes
f2fs_hw_support_discard() only tests if the super block device supports
discard. However, for a multi-device volume, not all disks used may
support discard. Improve the check performed to test all devices of
the volume and report discard as supported if at least one device of
the volume supports discard. To implement this, introduce the helper
function f2fs_bdev_support_discard(), which returns true for zoned block
devices (where discard is processed as a zone reset) and for regular
disks supporting the discard command.

f2fs_bdev_support_discard() is also used in __queue_discard_cmd() to
handle discard command issuing for a particular device of the volume.
That is, prevent issuing a discard command for block devices that do
not support it.

Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2019-04-05 09:33:55 -07:00
..
acl.c f2fs: use kvmalloc, if kmalloc is failed 2018-12-26 15:16:53 -08:00
acl.h f2fs: add SPDX license identifiers 2018-09-12 13:07:10 -07:00
checkpoint.c f2fs: fix to add refcount once page is tagged PG_private 2019-03-12 18:59:19 -07:00
data.c f2fs: Fix use of number of devices 2019-04-05 09:33:54 -07:00
debug.c f2fs: no need to check return value of debugfs_create functions 2019-01-22 14:25:25 +01:00
dir.c f2fs-for-5.1-rc1 2019-03-15 13:42:53 -07:00
extent_cache.c f2fs: fix to initialize variable to avoid UBSAN/smatch warning 2019-01-22 15:31:26 -08:00
f2fs.h f2fs: improve discard handling with multi-device volumes 2019-04-05 09:33:55 -07:00
file.c f2fs: Fix use of number of devices 2019-04-05 09:33:54 -07:00
gc.c f2fs: Fix use of number of devices 2019-04-05 09:33:54 -07:00
gc.h f2fs: add SPDX license identifiers 2018-09-12 13:07:10 -07:00
hash.c f2fs: add SPDX license identifiers 2018-09-12 13:07:10 -07:00
inline.c f2fs: fix to avoid deadlock in f2fs_read_inline_dir() 2019-03-12 19:07:09 -07:00
inode.c f2fs-for-5.1-rc1 2019-03-15 13:42:53 -07:00
Kconfig fscrypt: remove filesystem specific build config option 2019-01-23 23:56:43 -05:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
namei.c f2fs-for-5.1-rc1 2019-03-15 13:42:53 -07:00
node.c f2fs: fix to add refcount once page is tagged PG_private 2019-03-12 18:59:19 -07:00
node.h f2fs: check PageWriteback flag for ordered case 2018-12-26 15:16:56 -08:00
recovery.c f2fs: check PageWriteback flag for ordered case 2018-12-26 15:16:56 -08:00
segment.c f2fs: improve discard handling with multi-device volumes 2019-04-05 09:33:55 -07:00
segment.h f2fs: don't wake up too frequently, if there is lots of IOs 2019-02-15 20:59:45 -08:00
shrinker.c f2fs: fix sbi->extent_list corruption issue 2018-12-26 15:16:54 -08:00
super.c f2fs: Reduce zoned block device memory usage 2019-04-05 09:33:55 -07:00
sysfs.c f2fs-for-5.1-rc1 2019-03-15 13:42:53 -07:00
trace.c f2fs: do not use mutex lock in atomic context 2019-03-05 19:58:06 -08:00
trace.h f2fs: add SPDX license identifiers 2018-09-12 13:07:10 -07:00
xattr.c f2fs: fix to adapt small inline xattr space in __find_inline_xattr() 2019-03-12 19:02:26 -07:00
xattr.h f2fs: fix to do sanity check with inode.i_inline_xattr_size 2019-03-12 19:02:26 -07:00