block: temporarily disable discard granularity
Jens Axboe [Wed, 16 Dec 2009 08:16:41 +0000 (09:16 +0100)]
Commit 86b37281411cf1e9bc0a6b5406c45edb7bd9ea5d adds a check for
misaligned stacking offsets, but it's buggy since the defaults are 0.
Hence all dm devices that pass in a non-zero starting offset will
be marked as misaligned amd dm will complain.

A real fix is coming, in the mean time disable the discard granularity
check so that users don't worry about dm reporting about misaligned
devices.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>

block/blk-settings.c

index dd1f1e0..6ae118d 100644 (file)
@@ -554,11 +554,18 @@ int blk_stack_limits(struct queue_limits *t, struct queue_limits *b,
                ret = -1;
        }
 
+       /*
+        * Temporarily disable discard granularity. It's currently buggy
+        * since we default to 0 for discard_granularity, hence this
+        * "failure" will always trigger for non-zero offsets.
+        */
+#if 0
        if (offset &&
            (offset & (b->discard_granularity - 1)) != b->discard_alignment) {
                t->discard_misaligned = 1;
                ret = -1;
        }
+#endif
 
        /* If top has no alignment offset, inherit from bottom */
        if (!t->alignment_offset)