On 26.10.22 16:15, Kui Liu wrote:


-----Original Message-----
From: Alexander Atanasov <alexander.atana...@virtuozzo.com>
Date: Wednesday, 26 October 2022 at 5:14 PM
To: Kui Liu <kui....@acronis.com>, Konstantin Khorenko <khore...@virtuozzo.com>, 
Alexey Kuznetsov <kuz...@acronis.com>
Cc: Devel <devel@openvz.org>
Subject: Re: [Devel] [PATCH RH9] dm-ploop: port the standby mode feature.

     Hi,

     On 21.10.22 16:28, Kui Liu wrote:
     >
     >
     > -----Original Message-----
     > From: Alexander Atanasov <alexander.atana...@virtuozzo.com>
     > Date: Friday, 21 October 2022 at 7:35 PM
     > To: Kui Liu <kui....@acronis.com>, Konstantin Khorenko 
<khore...@virtuozzo.com>, Alexey Kuznetsov <kuz...@acronis.com>
     > Cc: Devel <devel@openvz.org>
     > Subject: Re: [Devel] [PATCH RH9] dm-ploop: port the standby mode feature.
     >
     >      On 21.10.22 14:28, Kui Liu wrote:
     >      >      >      >      Ok - for the user space there are two options:
     >      >      >      >          1. add an argument to enable at creation 
time
     >      >      >      >          2. command standby_enable /if using the 
enable it is possible to
     >      >      >      >      implement a disable command too/.
     >      >      >      >
     >      >      >      >      I prefer the second approach but let's hear 
other opinions too.
     >      >      >      >      And yes we can possibly do both but is there a 
use case ?
     >      >      >      >
     >      >      >      > [LIU]: Since the static key is a global option, I 
also think the second approach is better.
     >      >      >      > In case of nodes with vStorage + ploop + iSCSI 
setup, we just need to enable the static
     >      >      >      > key early in system init or iSCSI service init.  I 
don't think it is necessary to implement both.
     >      >      >
     >      >      >      You are right. It will need at least one ploop device 
created to issue a
     >      >      >      device mapper command to enable standby. Would a 
module parameter work?
     >      >      >
     >      >      > [LIU] Yes, I think it is better to make the static key a 
module parameter.
     >      >
     >      >      This rised a question - how and who will pass the module 
parameter when
     >      >      required ? How we will handle the existin users ? What do 
you think ?
     >      >
     >      > [LIU]: Like add a conf file ploop.conf in /etc/modprobe.d or 
lib/modeprobe.d? This conf file can be shipped with the release image, or installed 
later.  Are you referring to VZ7 as existing users? I saw you also made the changes 
to VZ7, but I'm not sure whether it is necessary to backport these changes to VZ7.
     >
     >      Yes, VZ7 users - there are issues related to it so trying to fix 
them.
     >      the modprobe.d would do but do you have a package that can install 
the
     >      conf tied to the iSCSI target, so it gets installed only if the 
iSCSI is
     >      used ?
     >
     > [LIU]: Yes, we do build the our own SCST package, so we can install the 
conf from there.

     After discussion turns out module_param is not an option - package is
     always installed so it will enable the key always which is not what we 
want.

     To solve this we can
       struct static_key ploop_standby_check = STATIC_KEY_INIT_FALSE;
     +EXPORT_SYMBOL(ploop_standby_check)

     and the module can enable it at use or init time.

     static int scst_vstor_pr_init(struct scst_device *dev, const char
     *cl_dev_id)

     looks like the place to enable the static key and set the _en flag on
     the queue.

     _en flag is a MUST static key is a SHOULD - where do you think is the
     best place to implement them in the scst code?

[LIU]:  This would introduce explicit dependency between SCST and ploop module, 
 which I feel is inappropriate .
Can we instead export the static key via a sysfs file, say 
/sys/kernel/ploop/ploop_standby_check?

We can export it via sysfs or proc but who and how will enable it thru there ?

--
Regards,
Alexander Atanasov

_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to