f2fs: disable the discard option when device doesn't support

Current f2fs check the whether the blk device can support discard.
However, the code will cause the discard option cannot be enabled.
Because the clear_opt(sbi, DISCARD) will be invoked forever.

This patch can fix this issue.

Jaegeuk Kim:
 The original patch was intended to disable the discard option when device
 does not support trim command.
 Rather than remaining the buggy patch, let's replace with this patch as
 an integrated one.

Signed-off-by: Chenxi Mao <chenxi.mao2013@gmail.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
Chenxi Mao 2015-05-30 22:56:46 +08:00 коммит произвёл Jaegeuk Kim
Родитель 4683ff837c
Коммит 96c6dd59bf
1 изменённых файлов: 3 добавлений и 1 удалений

Просмотреть файл

@ -1237,10 +1237,12 @@ try_onemore:
if (test_opt(sbi, DISCARD)) {
struct request_queue *q = bdev_get_queue(sb->s_bdev);
if (!blk_queue_discard(q))
if (!blk_queue_discard(q)) {
f2fs_msg(sb, KERN_WARNING,
"mounting with \"discard\" option, but "
"the device does not support discard");
clear_opt(sbi, DISCARD);
}
}
sbi->s_kobj.kset = f2fs_kset;