From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hannes Reinecke Subject: Re: [PATCH 0/2] Fix blkdev_issue_discard() Date: Wed, 16 Dec 2015 10:02:33 +0100 Message-ID: <567128A9.4050500@suse.de> References: <567034B3.90104@sandisk.com> <20151215154929.GA10785@lst.de> <5670499E.9050501@sandisk.com> <20151216051223.GA11688@redhat.com> <20151216084419.GA8968@quack.suse.cz> Reply-To: device-mapper development Mime-Version: 1.0 Content-Type: text/plain; charset="windows-1252"; Format="flowed" Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: <20151216084419.GA8968@quack.suse.cz> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dm-devel-bounces@redhat.com Errors-To: dm-devel-bounces@redhat.com To: Jan Kara , Mike Snitzer Cc: "linux-block@vger.kernel.org" , "Martin K. Petersen" , Jens Axboe , dm-devel@redhat.com, Bart Van Assche , Christoph Hellwig List-Id: dm-devel.ids 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 wrote: >> >>>>>>>> "Bart" =3D=3D Bart Van Assche 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 submitti= ng > 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@suse.de +49 911 74053 688 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 N=FCrnberg GF: F. Imend=F6rffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton HRB 21284 (AG N=FCrnberg)