%name gfs2

# Copyright (C) 2009 Andrew Beekhof
#
# License: GNU General Public License (GPL)

# gfs2 filesystem (cloned)
#
# This template generates a cloned instance of the ocfs2 filesystem
#
# The filesystem should be on the device, unless clvm is used
# To use clvm, pull it along with this template:
# new myfs ocfs2 clvm
#
# NB: You need just one dlm and o2cb, regardless of how many
# filesystems. In other words, you can use this template only for
# one filesystem and to make another one, you'll have to edit the
# resulting configuration yourself.

%depends_on gfs2-base
%suggests clvm 

%required

# Name the gfs2 filesystem
# (for example: bigfs)
# NB: The clone is going to be named c-<id> (e.g. c-bigfs)
# Example:
# %% id bigfs
%% id 

# The mount point
# Example:
# %% directory /mnt/bigfs
%% directory 

# The device

%% device 

# optional parameters for the gfs2 filesystem

%optional

# mount options

%% options

%generate

primitive %_:id ocf:heartbeat:Filesystem
	params
		directory="%_:directory"
		fstype="gfs2"
		device="%_:device"
		opt options="%_:options"

monitor %_:id 20:40

clone c-%_:id %_:id
	meta interleave="true" ordered="true"

colocation colo-%_:id-gfs inf: c-%_:id gfs-clone

order order-%_:id-gfs inf: gfs-clone c-%_:id

# if there's clvm, generate some constraints too
#

%if %clvm
colocation colo-%_:id-%clvm:id inf: c-%_:id c-%clvm:id

order order-%_:id-%clvm:id inf: c-%clvm:id c-%_:id
%fi
