From: Mark Fasheh <mfasheh@suse.com>
To: ocfs2-devel@oss.oracle.com
Subject: [Ocfs2-devel] [PATCH] ocfs2: Provide the ocfs2_dlm_lvb_valid() stack API. v2 stack API.
Date: Fri, 19 Jun 2009 16:02:58 -0700 [thread overview]
Message-ID: <20090619230258.GT10980@wotan.suse.de> (raw)
In-Reply-To: <20090619224047.GK29140@mail.oracle.com>
On Fri, Jun 19, 2009 at 03:40:47PM -0700, Joel Becker wrote:
> Changes from v1:
> - I totally failed to use the API in dlmglue.c!
>
> The Lock Value Block (LVB) of a DLM lock can be lost when nodes die and
> the DLM cannot reconstruct its state. Clients of the DLM need to know
> this.
>
> ocfs2's internal DLM, o2dlm, explicitly zeroes out the LVB when it loses
> track of the state. This is not a standard behavior, but ocfs2 has
> always relied on it. Thus, an o2dlm LVB is always "valid".
>
> ocfs2 now supports both o2dlm and fs/dlm via the stack glue. When
> fs/dlm loses track of an LVBs state, it sets a flag
> (DLM_SBF_VALNOTVALID) on the Lock Status Block (LKSB). The contents of
> the LVB may be garbage or merely stale.
>
> ocfs2 doesn't want to try to guess at the validity of the stale LVB.
> Instead, it should be checking the VALNOTVALID flag. As this is the
> 'standard' way of treating LVBs, we will promote this behavior.
>
> We add a stack glue API ocfs2_dlm_lvb_valid(). It returns non-zero when
> the LVB is valid. o2dlm will always return valid, while fs/dlm will
> check VALNOTVALID.
>
> Signed-off-by: Joel Becker <joel.becker@oracle.com>
Looks great!
Acked-by: Mark Fasheh <mfasheh@suse.com>
--
Mark Fasheh
prev parent reply other threads:[~2009-06-19 23:02 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-19 22:19 [Ocfs2-devel] [PATCH] ocfs2: Provide the ocfs2_dlm_lvb_valid() stack API Joel Becker
2009-06-19 22:40 ` [Ocfs2-devel] [PATCH] ocfs2: Provide the ocfs2_dlm_lvb_valid() stack API. v2 " Joel Becker
2009-06-19 22:55 ` Sunil Mushran
2009-06-19 23:02 ` Mark Fasheh [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090619230258.GT10980@wotan.suse.de \
--to=mfasheh@suse.com \
--cc=ocfs2-devel@oss.oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.