qemu-block
[Top][All Lists]
Advanced

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

Re: [Qemu-block] [Qemu-devel] [PATCH for-3.0] file-posix: Fix write_zero


From: Nir Soffer
Subject: Re: [Qemu-block] [Qemu-devel] [PATCH for-3.0] file-posix: Fix write_zeroes with unmap on block devices
Date: Thu, 26 Jul 2018 19:46:54 +0300


On Thu, Jul 26, 2018 at 7:10 PM Eric Blake <address@hidden> wrote:
On 07/26/2018 10:33 AM, Kevin Wolf wrote:

>
> As far as I know, the comment you quoted is accurate for BLKDISCARD and
> BLKZEROOUT, but not for the fallocate() flags.
>

I sure wish the man pages were more explicit on what guarantees each
flag offers.

>> Hmm - that thread also mentions FALLOC_FL_NO_HIDE_STALE, which is a new flag
>> not present/documented on Fedora 28. I wonder if it helps, too.
>>
>>>
>>> FALLOC_FL_ZERO_RANGE in contrast implements write_zeroes without unmap.
>>
>> I thought the opposite: FALLOC_FL_ZERO_RANGE guarantees that you read back
>> 0, using whatever is most efficient under the hood (in the case of block
>> devices, unmapping that reliably reads back as zero is favored).
>
> See the code I quoted above, FALLOC_FL_ZERO_RANGE calls
> blkdev_issue_zeroout() with BLKDEV_ZERO_NOUNMAP internally.

Having to resort to reading the kernel code to learn what the guarantees
are is annoying (it's nice that GPL guarantees that we CAN do that, but
it means the man pages could use some TLC so that we don't have to).
Especially since the kernel code has changed over time.

But your paste of current kernel code is rather hard to argue against.

I don't think we should depend on undocumented kernel code.

Nir

reply via email to

[Prev in Thread] Current Thread [Next in Thread]