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 ea21231633eb0dcaf1a5c7045afc7f19affa06b0..6729470ee1a418f793961df5de781403f2917d28 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);