Re: [PATCH 0/2] Fix blkdev_issue_discard()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/16/2015 09:44 AM, Jan Kara wrote:
On Wed 16-12-15 00:12:23, Mike Snitzer wrote:
On Tue, Dec 15 2015 at  9:38pm -0500,
Martin K. Petersen <martin.petersen@xxxxxxxxxx> wrote:

"Bart" == Bart Van Assche <bart.vanassche@xxxxxxxxxxx> writes:

Bart> Should the caller of blkdev_issue_discard() implement this or
Bart> should this functionality be added in blkdev_issue_discard()
Bart> itself ?

I'm very much against dropping information in the ioctl/filesystem
submission path. But I am not against having a helper function of some
sort that DM and target could use to handle heads and tails.

Right now DM does not handle this and I think it would be worthwhile to
have. Mike, what are your requirements?

If the discard doesn't conform to the device's stacked discard limits
then yes the head and/or tail will get dropped on the floor.

Not sure why DM is being made the focal point on this.  Are you thinking
specifically about DM-thinp and its discard_granularity?  DM thinp
doesn't support partial thinp block discards -- so misaligned/partial
discards are dropped by DM thinp.  There isn't a compelling case for
fixing this (by adding a bitset for each thinp block to support finer
grained discards) -- at least not that I'm aware of.

But I'm missing exactly what it is your helper function would do... and
yet you're asking me what my requirements are.. sorry ;)

I agree that just dropping head & tail from misaligned discard request
looks reasonable. However I think the original motivation for this thread
was actually blkdev_issue_zeroout(). That ends up being implemented using
blkdev_issue_discard() and in that case silently dropping head and tail is
not an option. Supporting non-aligned blkdev_issue_zeroout() via submitting
properly aligned blkdev_issue_discard() and then just submitting writes
with zeros for head & tail would look useful to me.

And we need a similar thing for SMR drives, too.
SMR drives might end up supporting discard only for a certain range of blocks, _and_ set 'discard_zeroes_data', too, for those ranges.
So for those we'd need a similar thing.

Cheers,

Hannes
--
Dr. Hannes Reinecke		               zSeries & Storage
hare@xxxxxxx			               +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-block" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux