Re: [PATCH v6 6/6] loop: Add support for REQ_ALLOCATE
From: Kirill Tkhai
Date: Wed Feb 12 2020 - 12:34:58 EST
On 12.02.2020 20:01, Darrick J. Wong wrote:
> On Mon, Feb 10, 2020 at 12:34:04PM +0300, Kirill Tkhai wrote:
>> Support for new modifier of REQ_OP_WRITE_ZEROES command.
>> This results in allocation extents in backing file instead
>> of actual blocks zeroing.
>>
>> Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx>
>> Reviewed-by: Bob Liu <bob.liu@xxxxxxxxxx>
>> ---
>> drivers/block/loop.c | 15 ++++++++++++---
>> 1 file changed, 12 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/block/loop.c b/drivers/block/loop.c
>> index 739b372a5112..bfe76d9adf09 100644
>> --- a/drivers/block/loop.c
>> +++ b/drivers/block/loop.c
>> @@ -581,6 +581,15 @@ static int lo_rw_aio(struct loop_device *lo, struct loop_cmd *cmd,
>> return 0;
>> }
>>
>> +static unsigned int write_zeroes_to_fallocate_mode(unsigned int flags)
>> +{
>> + if (flags & REQ_ALLOCATE)
>> + return 0;
>> + if (flags & REQ_NOUNMAP)
>> + return FALLOC_FL_ZERO_RANGE;
>> + return FALLOC_FL_PUNCH_HOLE;
>> +}
>> +
>> static int do_req_filebacked(struct loop_device *lo, struct request *rq)
>> {
>> struct loop_cmd *cmd = blk_mq_rq_to_pdu(rq);
>> @@ -604,9 +613,7 @@ static int do_req_filebacked(struct loop_device *lo, struct request *rq)
>> * write zeroes the range. Otherwise, punch them out.
>> */
>
> Please update this comment to reflect the new REQ_ALLOCATE mode, and
> move it to where you define write_zeroes_to_fallocate_mode().
Ok, I'll update it in v7
> With that fixed,
>
> Reviewed-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
Thanks