[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 3 Mar 2016 10:12:40 -0800
From: "Darrick J. Wong" <darrick.wong@...cle.com>
To: Christoph Hellwig <hch@...radead.org>
Cc: "Martin K. Petersen" <martin.petersen@...cle.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Jens Axboe <axboe@...nel.dk>,
Andrew Morton <akpm@...ux-foundation.org>,
Linux API <linux-api@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
shane.seymour@....com, Bruce Fields <bfields@...ldses.org>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>,
Jeff Layton <jlayton@...chiereds.net>
Subject: Re: [PATCH 2/2] block: create ioctl to discard-or-zeroout a range of
blocks
On Thu, Mar 03, 2016 at 10:09:24AM -0800, Christoph Hellwig wrote:
> On Thu, Mar 03, 2016 at 01:01:11PM -0500, Martin K. Petersen wrote:
> > That's not entirely true. Writing the blocks may cause them to be
> > allocated on the storage device (depending on which flags we feed it in
> > WRITE SAME).
> >
> > The filesystems people were wanted the following semantics:
> >
> > - deallocate, don't care about contents for future reads (discard)
> > - deallocate, guarantee zeroes on future reads (zeroout)
> > - (re)allocate, guarantee zeroes on future reads (zeroout)
> >
> > Maybe we just need a better naming scheme...
>
> In filesystem terms we have two and three:
>
> - FALLOC_FL_PUNCH_HOLE assures zeroes are returned, but space is
> deallocated as much as possible
> - FALLOC_FL_ZERO_RANGE assures zeroes are returned, AND blocks are
> actually allocated
>
> Returning stale blocks in a file system is a nasty security risk, so
> we don't do that, and so shouldn't storage that offers any kind
> of multi tenancy, and if it's just VMs using multiple partitions on it.
Any particular reason why we can't just implement those two fallocate
flags for block devices?
--D
Powered by blists - more mailing lists