[Ocfs2-devel] [PATCH 1/6] Add dlm operations placeholders
Mark Fasheh
mfasheh at suse.de
Mon Sep 9 14:38:39 PDT 2013
This looks good, other than the backwards compatibility issue I mention
below.
I see we're goign to get some recovery calllbacks node? Any chance you can
give a short description of what their purpose is?
--Mark
On Thu, Sep 05, 2013 at 10:27:21PM -0500, Goldwyn Rodrigues wrote:
>
> Signed-off-by: Goldwyn Rodrigues <rgoldwyn at suse.com>
> ---
> fs/ocfs2/stack_user.c | 30 ++++++++++++++++++++++++++++--
> 1 file changed, 28 insertions(+), 2 deletions(-)
>
> diff --git a/fs/ocfs2/stack_user.c b/fs/ocfs2/stack_user.c
> index 286edf1..1b18193 100644
> --- a/fs/ocfs2/stack_user.c
> +++ b/fs/ocfs2/stack_user.c
> @@ -799,11 +799,31 @@ static int fs_protocol_compare(struct ocfs2_protocol_version *existing,
> return 0;
> }
>
> +static void user_recover_prep(void *arg)
> +{
> +}
> +
> +static void user_recover_slot(void *arg, struct dlm_slot *slot)
> +{
> +}
> +
> +static void user_recover_done(void *arg, struct dlm_slot *slots,
> + int num_slots, int our_slot,
> + uint32_t generation)
> +{
> +}
> +
> +const struct dlm_lockspace_ops ocfs2_ls_ops = {
> + .recover_prep = user_recover_prep,
> + .recover_slot = user_recover_slot,
> + .recover_done = user_recover_done,
> +};
> +
> static int user_cluster_connect(struct ocfs2_cluster_connection *conn)
> {
> dlm_lockspace_t *fsdlm;
> struct ocfs2_live_connection *uninitialized_var(control);
> - int rc = 0;
> + int rc = 0, ops_rv;
>
> BUG_ON(conn == NULL);
>
> @@ -828,12 +848,18 @@ static int user_cluster_connect(struct ocfs2_cluster_connection *conn)
> }
>
> rc = dlm_new_lockspace(conn->cc_name, NULL, DLM_LSFL_FS, DLM_LVB_LEN,
> - NULL, NULL, NULL, &fsdlm);
> + &ocfs2_ls_ops, conn, &ops_rv, &fsdlm);
> if (rc) {
> ocfs2_live_connection_drop(control);
> goto out;
> }
>
> + if (ops_rv < 0) {
> + printk(KERN_ERR "ocfs2: dlm lockspace ops could not be used. You may be using an older dlm_controld\n");
> + rc = -EINVAL;
> + goto out;
> + }
Presumably we're going to figure out how to support all versions of
userspace, so this would go?
--Mark
--
Mark Fasheh
More information about the Ocfs2-devel
mailing list