[Devel] [PATCH vz9 v2] ploop: port and fix the standby mode feature.

Alexander Atanasov alexander.atanasov at virtuozzo.com
Thu Nov 3 21:26:01 MSK 2022


On 2.11.22 13:51, Alexander Atanasov wrote:
> Hello,
> 
> On 2.11.22 4:32, Kui Liu wrote:
>>
> [snip]
>>
>> [LIU]:  QUEUE_FLAG_STANDBY bit MUST be cleared here, as it is the only 
>> place where
>> the ploop device recovers from standby mode.  In our use case, once a 
>> ploop device enters standby
>>   mode, the userspace will initiate recovery by replacing the top 
>> delta file without destroying
>> the device, which is why the bit is clear in 'repalce_delta' in vz7.
> 
> static int ploop_replace_delta(struct ploop_device * plo, unsigned long 
> arg)
> {
> ...
>          if (plo->maintenance_type != PLOOP_MNTN_OFF)
>                  return -EBUSY;
> ...
> }
> 
> If that is used to clear the flag then how is the case when the error 
> occurs while in maintenace handled? I think we should address this too.

We've had a talk on the subject with LIU so for the record:
- standby flag only stops requests from userspace
- requests issued by maintenance are not affected
- userspace in case of EBUSY must retry until the maintenance is finished.


-- 
Regards,
Alexander Atanasov



More information about the Devel mailing list