From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexander Aring Date: Wed, 15 Sep 2021 16:39:13 -0400 Subject: [Cluster-devel] [PATCH dlm/next 0/3] fs: dlm: recovery ops and wait changes Message-ID: <20210915203916.3661690-1-aahringo@redhat.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hi, this patch series changes the recovery behaviour to call dlm_lsop_recover_prep() callback only once between dlm_ls_start() and dlm_ls_stop(). Currently if recovery gets interrupted by another dlm_ls_stop() it could be we calling this callback multiple times and the dlm_lsop_recover_done() was not called yet. Users might depend on the behaviour that the dlm_lsop_recover_prep() is only called once followed by a final dlm_lsop_recover_done() call. Another change is that dlm_new_lockspace() will wait until the recovery is done. The current behaviour is that the dlm_new_lockspace() will wait until lockspace member configuration seems to be valid. After the members configuration the recovery can still get interrupted by another dlm_ls_stop() call and dlm_new_lockspace() moves on at that point when recovery is still not done yet. The most kernel users have already a wait for the dlm_lsop_recover_done() after calling dlm_new_lockspace() which is not necessary now. However the old behaviour should still work. I tested this patch series with an experimental python bindings to libdlm. I will send soon patches which will add those bindings and test to the dlm user space software repository. - Alex Alexander Aring (3): fs: dlm: add notes for recovery and membership handling fs: dlm: call dlm_lsop_recover_prep once fs: dlm: let new_lockspace() wait until recovery fs/dlm/dlm_internal.h | 4 ++-- fs/dlm/lockspace.c | 9 +++++---- fs/dlm/member.c | 30 +++++++++++++++--------------- fs/dlm/recoverd.c | 17 +++++++++++++++++ 4 files changed, 39 insertions(+), 21 deletions(-) -- 2.27.0