Re: [PATCH v4] block: create ioctl to discard-or-zeroout a range of blocks
From: Darrick J. Wong <hidden>
Date: 2015-12-08 05:28:30
Also in:
linux-fsdevel, lkml
On Mon, Dec 07, 2015 at 06:40:15PM -0800, Christoph Hellwig wrote:
On Fri, Nov 13, 2015 at 02:01:43PM -0800, Darrick J. Wong wrote:quoted
Create a new ioctl to expose the block layer's newfound ability to issue either a zeroing discard, a WRITE SAME with a zero page, or a regular write with the zero page. This BLKZEROOUT2 ioctl takes {start, length, flags} as parameters. So far, the only flag available is to enable the zeroing discard part -- without it, the call invokes the old BLKZEROOUT behavior. start and length have the same meaning as in BLKZEROOUT. Furthermore, because BLKZEROOUT2 issues commands directly to the storage device, we must invalidate the page cache (as a regular O_DIRECT write would do) to avoid returning stale cache contents at a later time.So does BLKZEROOUT. Seems like adding the cache invalidation should be one patch and the ioctl another one. Otherwise this looks fine except that I kinda hate BLKZEROOUT2 name, but can't come up with anything better.
I should've sent the 4.4 version -- since the ioctl code was refactored into separate functions and the new function modifies its arguments, I ended up rewriting most of the function body just to set up the page cache invalidation. (Ah, I see -- 4.4-rc1 came out and I forgot to resend.) Blergh, v5 on its way... --D
-- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html