[dm-devel] [PATCH 1/2 v2] dm: discard support for the linear target
Christoph Hellwig
hch at lst.de
Sun Jun 27 09:49:18 UTC 2010
On Sat, Jun 26, 2010 at 04:31:24PM -0400, Mike Snitzer wrote:
> Allow discards to be passed through to a single device linear mapping.
> Introduce DM_TARGET_SUPPORTS_DISCARDS target features flag that each
> target must set once discard support is added.
>
> Verify table's underlying devices support discards prior to setting the
> associated DM device as capable of discards (via QUEUE_FLAG_DISCARD).
>
> Signed-off-by: Mike Snitzer <snitzer at redhat.com>
> ---
> drivers/md/dm-linear.c | 1 +
> drivers/md/dm-table.c | 51 ++++++++++++++++++++++++++++++++++
> drivers/md/dm.c | 60 ++++++++++++++++++++++++++++++++--------
> drivers/md/dm.h | 1 +
> include/linux/device-mapper.h | 1 +
> 5 files changed, 102 insertions(+), 12 deletions(-)
> +static int device_discard_incapable(struct dm_target *ti, struct dm_dev *dev,
> + sector_t start, sector_t len, void *data)
> +{
> + struct block_device *bdev = dev->bdev;
> + struct request_queue *q = bdev_get_queue(bdev);
> +
> + WARN_ON(!q);
> + return (!q || !blk_queue_discard(q));
> +}
How could a NULL queue happen here?
Otherwise it looks okay to me, but my DM knowledge is rather limited.
More information about the dm-devel
mailing list