[dm-devel] [PATCH 1/2 v2] dm: discard support for the linear target

Mike Snitzer snitzer at redhat.com
Sun Jun 27 13:41:47 UTC 2010


On Sun, Jun 27 2010 at  5:49am -0400,
Christoph Hellwig <hch at lst.de> wrote:

> 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?

It really cannot, I was just being defensive.




More information about the dm-devel mailing list