diff options
author | Namjae Jeon <linkinjeon@gmail.com> | 2012-12-17 19:02:56 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-17 20:15:22 -0500 |
commit | f562146a3daf6aa0bbf2a1bc4b6b7da031ed5dcd (patch) | |
tree | 18a0b65b13f86a5cf464459fb81744c1431a9c6b | |
parent | 6920d996e3fee4ac5dcb7d34cb290b6f67bb69d0 (diff) |
fat: notify when discard is not supported
Change fatfs so that a warning is emitted when an attempt is made to mount
a filesystem with the unsupported `discard' option.
ext4 aready does this: http://patchwork.ozlabs.org/patch/192668/
Signed-off-by: Namjae Jeon <linkinjeon@gmail.com>
Signed-off-by: Amit Sahrawat <amit.sahrawat83@gmail.com>
Acked-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | fs/fat/inode.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/fat/inode.c b/fs/fat/inode.c index 5bafaad00530..7b186a5d51b1 100644 --- a/fs/fat/inode.c +++ b/fs/fat/inode.c | |||
@@ -26,6 +26,7 @@ | |||
26 | #include <linux/writeback.h> | 26 | #include <linux/writeback.h> |
27 | #include <linux/log2.h> | 27 | #include <linux/log2.h> |
28 | #include <linux/hash.h> | 28 | #include <linux/hash.h> |
29 | #include <linux/blkdev.h> | ||
29 | #include <asm/unaligned.h> | 30 | #include <asm/unaligned.h> |
30 | #include "fat.h" | 31 | #include "fat.h" |
31 | 32 | ||
@@ -1431,6 +1432,14 @@ int fat_fill_super(struct super_block *sb, void *data, int silent, int isvfat, | |||
1431 | goto out_fail; | 1432 | goto out_fail; |
1432 | } | 1433 | } |
1433 | 1434 | ||
1435 | if (sbi->options.discard) { | ||
1436 | struct request_queue *q = bdev_get_queue(sb->s_bdev); | ||
1437 | if (!blk_queue_discard(q)) | ||
1438 | fat_msg(sb, KERN_WARNING, | ||
1439 | "mounting with \"discard\" option, but " | ||
1440 | "the device does not support discard"); | ||
1441 | } | ||
1442 | |||
1434 | return 0; | 1443 | return 0; |
1435 | 1444 | ||
1436 | out_invalid: | 1445 | out_invalid: |