[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v7 4/8] block: add block layer APIs resembling Linux ZonedBlo
From: |
Damien Le Moal |
Subject: |
Re: [PATCH v7 4/8] block: add block layer APIs resembling Linux ZonedBlockDevice ioctls |
Date: |
Wed, 24 Aug 2022 16:53:16 -0700 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.12.0 |
On 2022/08/24 16:46, Damien Le Moal wrote:
> On 2022/08/22 21:12, Sam Li wrote:
>> Stefan Hajnoczi <stefanha@redhat.com> 于2022年8月23日周二 08:49写道:
>>>
>>> On Tue, Aug 16, 2022 at 02:25:18PM +0800, Sam Li wrote:
[...]>>>> + blkz = (struct blk_zone *)(rep + 1);
>>>> + while (n < nrz) {
>>>> + memset(rep, 0, rep_size);
>>>> + rep->sector = sector;
>>>> + rep->nr_zones = nrz - n;
>>>> +
>>>> + ret = ioctl(fd, BLKREPORTZONE, rep);
>>>
>>> Does this ioctl() need "do { ... } while (ret == -1 && errno == EINTR)"?
>>
>> No? We discussed this before. I guess even EINTR should be propagated
>> back to the guest. Maybe Damien can talk more about why.
>
> In the kernel, completion of zone management IO requests are waited for using
> wait_for_completion_io() which uses TASK_UNINTERRUPTIBLE. So a signal will not
> abort anything. So I do not think that the do { } while() loop is necessary.
Note: I do not think the loop to be necessary, but it will not hurt :)
--
Damien Le Moal
Western Digital Research
- Re: [PATCH v7 3/8] file-posix: introduce get_sysfs_long_val for the long sysfs attribute, (continued)
[PATCH v7 4/8] block: add block layer APIs resembling Linux ZonedBlockDevice ioctls, Sam Li, 2022/08/16
[PATCH v7 5/8] raw-format: add zone operations to pass through requests, Sam Li, 2022/08/16
[PATCH v7 6/8] config: add check to block layer, Sam Li, 2022/08/16
[PATCH v7 7/8] qemu-iotests: test new zone operations, Sam Li, 2022/08/16
[PATCH v7 8/8] docs/zoned-storage: add zoned device documentation, Sam Li, 2022/08/16