Re: [PATCH] brd: Refuse improperly aligned discard requests

From: Jan Kara
Date: Thu Nov 05 2015 - 03:06:50 EST

On Thu 05-11-15 04:18:49, Elliott, Robert (Persistent Memory) wrote:
> > -----Original Message-----
> > From: linux-kernel-owner@xxxxxxxxxxxxxxx [mailto:linux-kernel-
> > owner@xxxxxxxxxxxxxxx] On Behalf Of Jan Kara
> > Sent: Wednesday, November 4, 2015 10:14 AM
> > To: axboe@xxxxxxxxx
> > Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx>; linux-fsdevel@xxxxxxxxxxxxxxx;
> > Christoph Hellwig <hch@xxxxxxxxxxxxx>; Jan Kara <jack@xxxxxxxx>
> > Subject: [PATCH] brd: Refuse improperly aligned discard requests
> >
> > Currently when improperly aligned discard request is submitted, we just
> > silently discard more / less data which results in filesystem corruption
> > in some cases. Refuse such misaligned requests.
> I agree discarding more than requested is very bad.
> If they are routed to SCSI or ATA devices, though, the discard commands
> (SCSI UNMAP or ATA DATA SET MANAGEMENT/TRIM) are just hints, so there
> is no guarantee the discard will do anything. Are you finding
> filesystems that still don't understand that? dm-raid held that
> mistaken assumption for a long time.

So there is blkdev_issue_zeroout() which uses blkdev_issue_discard() if
'discard_zeroes_data' is set. I'd hope that in that case zeroing really
happens as submitted or error is returned... Filesystems definitely depend
on blkdev_issue_zeroout() doing what it is told.

Jan Kara <jack@xxxxxxxx>
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at