[Ocfs2-tools-devel] [PATCH 5/6] o2cb.init: Load dlmfs for user stacks when supported
Sunil Mushran
sunil.mushran at oracle.com
Fri Mar 5 17:34:46 PST 2010
sob
That's slick.
Joel Becker wrote:
> If dlmfs supports user stacks, load and mount it at startup.
> This is gated by the 'stackglue' capability. ocfs2_dlmfs reports this
> as a module parameter named 'capabilities'. If ocfs2_dlmfs is built-in
> or loaded, this will appear at
> /sys/module/ocfs2_dlmfs/parameter/capabilities. If it is not loaded, we
> can find it via modinfo.
>
> Signed-off-by: Joel Becker <joel.becker at oracle.com>
> ---
> vendor/common/o2cb.init.sh | 33 +++++++++++++++++++++++++++++++++
> 1 files changed, 33 insertions(+), 0 deletions(-)
>
> diff --git a/vendor/common/o2cb.init.sh b/vendor/common/o2cb.init.sh
> index e0307bf..5cb606f 100644
> --- a/vendor/common/o2cb.init.sh
> +++ b/vendor/common/o2cb.init.sh
> @@ -31,6 +31,7 @@ CLUSTERCONF=/etc/ocfs2/cluster.conf
> OCFS2_SYS_DIR="/sys/fs/ocfs2"
> LOADED_PLUGINS_FILE="${OCFS2_SYS_DIR}/loaded_cluster_plugins"
> CLUSTER_STACK_FILE="${OCFS2_SYS_DIR}/cluster_stack"
> +DLMFS_CAPABILITIES_FILE='/sys/module/ocfs2_dlmfs/parameters/capabilities'
>
> if [ -f /etc/sysconfig/o2cb ]
> then
> @@ -900,6 +901,27 @@ load_stack_o2cb()
> }
>
> #
> +# dlmfs_user_capable()
> +# Check if dlmfs supports user stacks.
> +#
> +# 0 is yes, 1 is no.
> +#
> +dlmfs_user_capable()
> +{
> + if [ -e "$DLMFS_CAPABILITIES_FILE" ]
> + then
> + CAP_LINE="$(awk '/\ystackglue\y/{print}' "$DLMFS_CAPABILITIES_FILE" 2>/dev/null)"
> + else
> + CAP_LINE="$(modinfo ocfs2_dlmfs 2>/dev/null |
> + awk '/parm:[ \t]*capabilities:.*\ystackglue\y/{
> + print
> + }')"
> + fi
> +
> + test x"$CAP_LINE" != x
> +}
> +
> +#
> # load_stack_user()
> # Load the userspace stack plugin.
> #
> @@ -937,6 +959,14 @@ load_stack_user()
> [ "$?" != 0 ] && if_fail 1 "Unable to load module \"$PLUGIN_MODULE\""
> if_fail 0
> fi
> +
> + if dlmfs_user_capable
> + then
> + mount_filesystem "ocfs2_dlmfs" "/dlm"
> + if_fail $?
> + fi
> +
> + return 0
> }
>
> #
> @@ -1012,6 +1042,9 @@ unload_stack_user()
> exit 1
> fi
>
> + unmount_filesystem "ocfs2_dlmfs" "/dlm"
> + if_fail $?
> +
> unload_stack_plugins
> }
>
>
More information about the Ocfs2-tools-devel
mailing list