ext4: notify when discard is not supported
authorLukas Czerner <lczerner@redhat.com>
Thu, 8 Nov 2012 18:28:29 +0000 (13:28 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 8 Nov 2012 18:28:29 +0000 (13:28 -0500)
Notify user when mounting the file system with -o discard option, but
the device does not support discard. Obviously we do not want to fail
the mount or disable the options, because the underlying device might
change in future even without file system remount.

Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/super.c

index ea21231..6729470 100644 (file)
@@ -4015,6 +4015,14 @@ no_journal:
        }
 #endif  /* CONFIG_QUOTA */
 
+       if (test_opt(sb, DISCARD)) {
+               struct request_queue *q = bdev_get_queue(sb->s_bdev);
+               if (!blk_queue_discard(q))
+                       ext4_msg(sb, KERN_WARNING,
+                                "mounting with \"discard\" option, but "
+                                "the device does not support discard");
+       }
+
        ext4_msg(sb, KERN_INFO, "mounted filesystem with%s. "
                 "Opts: %s%s%s", descr, sbi->s_es->s_mount_opts,
                 *sbi->s_es->s_mount_opts ? "; " : "", orig_data);