Gitweb: http://git.fedorahosted.org/git/gfs2-utils.git?p=gfs2-utils.git;a=commitdif…
Commit: 756fbe385cb52d28478bca7d6f516cbefb19a06d
Parent: 8ac98f94ce5d2bae84b72047bb70995fb6b1abb0
Author: Steven Whitehouse <swhiteho(a)redhat.com>
AuthorDate: Thu Sep 30 15:02:52 2010 +0100
Committer: Steven Whitehouse <swhiteho(a)redhat.com>
CommitterDate: Thu Sep 30 15:02:52 2010 +0100
GFS2: Add man page for tunegfs2
Just noticed that we don't have one, so....
Signed-off-by: Steven Whitehouse <swhiteho(a)redhat.com>
---
gfs2/man/Makefile.am | 3 +-
gfs2/man/tunegfs2.8 | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 56 insertions(+), 1 deletions(-)
diff --git a/gfs2/man/Makefile.am b/gfs2/man/Makefile.am
index 0bc1af1..0f132d6 100644
--- a/gfs2/man/Makefile.am
+++ b/gfs2/man/Makefile.am
@@ -9,4 +9,5 @@ dist_man_MANS = fsck.gfs2.8 \
gfs2_quota.8 \
gfs2_tool.8 \
mkfs.gfs2.8 \
- mount.gfs2.8
+ mount.gfs2.8 \
+ tunegfs2.8
diff --git a/gfs2/man/tunegfs2.8 b/gfs2/man/tunegfs2.8
new file mode 100644
index 0000000..fcdc954
--- /dev/null
+++ b/gfs2/man/tunegfs2.8
@@ -0,0 +1,54 @@
+.TH tunegfs2 8
+
+.SH NAME
+tunegfs2 - View and manipulate gfs2 superblocks
+
+.SH SYNOPSIS
+.B tunegfs2
+[\fIOPTIONS\fR]
+/dev/blockdevice
+
+.SH DESCRIPTION
+tunegfs2 allows viewing and manipulating the values contained in a
+GFS or GFS2 superblock. It is able to modify the \fIUUID\fR (on GFS2 only),
+\fIlabel\fR, \fIlockproto\fR and \fIlocktable\fR. Run without any options,
+this command will print out information about the content of the superblock.
+
+The values in the GFS2 superblock are read only on mount. Any
+changes on a live filesystem will not take effect until the next
+time it is mounted. Making changes on a live filesystem is not
+recommended for this reason.
+
+.SH OPTIONS
+
+.TP
+\fB-h\fP
+
+Prints out usage infomration for this command.
+
+.TP
+\fB-L\fP \fI<label>\fR
+
+Change the filesystem label. Note that the GFS2 filesystem label is
+also the locktable name.
+
+.TP
+\fB-o\fP \fI[lockproto=<proto>]\fR \fI[locktable=<table>]\fR
+
+Set mount options. Currently supported options include lockproto and
+locktable
+
+.TP
+\fB-U\fP \fI<uuid>\fR
+
+Set the filesystem UUID
+
+.TP
+\fB-V\fP
+
+Print out the information on the version of the tool.
+
+.SH SEE ALSO
+
+\fBgfs2\fP(5)
+
Gitweb: http://git.fedorahosted.org/git/gfs2-utils.git?p=gfs2-utils.git;a=commitdif…
Commit: 8ac98f94ce5d2bae84b72047bb70995fb6b1abb0
Parent: cc703e11a2fd3c8adf09d13742b5cfa76f3091d3
Author: Steven Whitehouse <swhiteho(a)redhat.com>
AuthorDate: Thu Sep 30 14:27:12 2010 +0100
Committer: Steven Whitehouse <swhiteho(a)redhat.com>
CommitterDate: Thu Sep 30 14:27:12 2010 +0100
GFS2: Man page update
When we no longer have mount.gfs2, we will still need somewhere
to document the mount options. This patch adds that infomration
to the gfs2 man page, and moves that man page into section 5 of
the manual to match other filesystems.
Signed-off-by: Steven Whitehouse <swhiteho(a)redhat.com>
---
gfs2/man/Makefile.am | 2 +-
gfs2/man/gfs2.5 | 198 +++++++++++++++++++++++++++++++++++++++++++++++++
gfs2/man/gfs2.8 | 40 ----------
gfs2/man/mount.gfs2.8 | 2 +-
4 files changed, 200 insertions(+), 42 deletions(-)
diff --git a/gfs2/man/Makefile.am b/gfs2/man/Makefile.am
index ac7c2fc..0bc1af1 100644
--- a/gfs2/man/Makefile.am
+++ b/gfs2/man/Makefile.am
@@ -1,7 +1,7 @@
MAINTAINERCLEANFILES = Makefile.in
dist_man_MANS = fsck.gfs2.8 \
- gfs2.8 \
+ gfs2.5 \
gfs2_convert.8 \
gfs2_edit.8 \
gfs2_grow.8 \
diff --git a/gfs2/man/gfs2.5 b/gfs2/man/gfs2.5
new file mode 100644
index 0000000..25effdd
--- /dev/null
+++ b/gfs2/man/gfs2.5
@@ -0,0 +1,198 @@
+.TH gfs2 5
+
+.SH NAME
+gfs2 \- GFS2 reference guide
+
+.SH SYNOPSIS
+Overview of the GFS2 filesystem
+
+.SH DESCRIPTION
+
+GFS2 is a clustered filesystem, designed for sharing data between
+multiple nodes
+connected to a common shared storage device. It can also be used as a
+local filesystem on a single node, however since the design is aimed
+at clusters, that will usually result in lower performance than using
+a filesystem designed specifically for single node use.
+
+GFS2 is a journaling filesystem and one journal is required for each node
+that will mount the filesystem. The one exception to that is spectator
+mounts which are equivalent to mounting a read-only block device and as
+such can neither recover a journal or write to the filesystem, so do not
+require a journal assigned to them.
+
+.SH MOUNT OPTIONS
+
+.TP
+\fBlockproto=\fP\fILockProtoName\fR
+This specifies which inter-node lock protocol is used by the GFS2 filesystem
+for this mount, overriding the default lock protocol name stored in the
+filesystem's on-disk superblock.
+
+The \fILockProtoName\fR must be one of the supported locking protocols,
+currently these are \fIlock_nolock\fR and \fIlock_dlm\fR.
+
+The default lock protocol name is written to disk initially when creating the
+filesystem with \fBmkfs.gfs2\fP(8), -p option. It can be changed on-disk by
+using the \fBgfs2_tool\fP(8) utility's \fBsb proto\fP command.
+
+The \fBlockproto\fP mount option should be used only under special
+circumstances in which you want to temporarily use a different lock protocol
+without changing the on-disk default. Using the incorrect lock protocol
+on a cluster filesystem mounted from more than one node will almost
+certainly result in filesystem corruption.
+.TP
+\fBlocktable=\fP\fILockTableName\fR
+This specifies the identity of the cluster and of the filesystem for this
+mount, overriding the default cluster/filesystem identify stored in the
+filesystem's on-disk superblock. The cluster/filesystem name is recognized
+globally throughout the cluster, and establishes a unique namespace for
+the inter-node locking system, enabling the mounting of multiple GFS2
+filesystems.
+
+The format of \fILockTableName\fR is lock-module-specific. For
+\fIlock_dlm\fR, the format is \fIclustername:fsname\fR. For
+\fIlock_nolock\fR, the field is ignored.
+
+The default cluster/filesystem name is written to disk initially when creating
+the filesystem with \fBmkfs.gfs2\fP(8), -t option. It can be changed on-disk
+by using the \fBgfs2_tool\fP(8) utility's \fBsb table\fP command.
+
+The \fBlocktable\fP mount option should be used only under special
+circumstances in which you want to mount the filesystem in a different cluster,
+or mount it as a different filesystem name, without changing the on-disk
+default.
+.TP
+\fBlocalflocks\fP
+This flag tells GFS2 that it is running as a local (not clustered) filesystem,
+so it can allow the kernel VFS layer to do all flock and fcntl file locking.
+When running in cluster mode, these file locks require inter-node locks,
+and require the support of GFS2. When running locally, better performance
+is achieved by letting VFS handle the whole job.
+
+This is turned on automatically by the lock_nolock module.
+.TP
+\fBerrors=\fP\fI[panic|withdraw]\fR
+Setting errors=panic causes GFS2 to oops when encountering an error that
+would otherwise cause the
+mount to withdraw or print an assertion warning. The default setting
+is errors=withdraw. This option should not be used in a production system.
+It replaces the earlier \fBdebug\fP option on kernel versions 2.6.31 and
+above.
+.TP
+\fBacl\fP
+Enables POSIX Access Control List \fBacl\fP(5) support within GFS2.
+.TP
+\fBspectator\fP
+Mount this filesystem using a special form of read-only mount. The mount
+does not use one of the filesystem's journals. The node is unable to
+recover journals for other nodes.
+.TP
+\fBnorecovery\fP
+A synonym for spectator
+.TP
+\fBsuiddir\fP
+Sets owner of any newly created file or directory to be that of parent
+directory, if parent directory has S_ISUID permission attribute bit set.
+Sets S_ISUID in any new directory, if its parent directory's S_ISUID is set.
+Strips all execution bits on a new file, if parent directory owner is different
+from owner of process creating the file. Set this option only if you know
+why you are setting it.
+.TP
+\fBquota=\fP\fI[off/account/on]\fR
+Turns quotas on or off for a filesystem. Setting the quotas to be in
+the "account" state causes the per UID/GID usage statistics to be
+correctly maintained by the filesystem, limit and warn values are
+ignored. The default value is "off".
+.TP
+\fBdiscard\fP
+Causes GFS2 to generate "discard" I/O requests for blocks which have
+been freed. These can be used by suitable hardware to implement
+thin-provisioning and similar schemes. This feature is supported
+in kernel version 2.6.30 and above.
+.TP
+\fBbarrier\fP
+This option, which defaults to on, causes GFS2 to send I/O barriers
+when flushing the journal. The option is automatically turned off
+if the underlying device does not support I/O barriers. We highly
+recommend the use of I/O barriers with GFS2 at all times unless
+the block device is designed so that it cannot lose its write cache
+content (e.g. its on a UPS, or it doesn't have a write cache)
+.TP
+\fBcommit=\fP\fIsecs\fR
+This is similar to the ext3 \fBcommit=\fP option in that it sets
+the maximum number of seconds between journal commits if there is
+dirty data in the journal. The default is 60 seconds. This option
+is only provided in kernel versions 2.6.31 and above.
+.TP
+\fBdata=\fP\fI[ordered|writeback]\fR
+When data=ordered is set, the user data modified by a transaction is
+flushed to the disk before the transaction is committed to disk. This
+should prevent the user from seeing uninitialized blocks in a file
+after a crash. Data=writeback mode writes the user data to the disk
+at any time after it's dirtied. This doesn't provide the same
+consistency guarantee as ordered mode, but it should be slightly
+faster for some workloads. The default is ordered mode.
+.TP
+\fBmeta\fP
+This option results in selecting the meta filesystem root rather than
+the normal filesystem root. This option is normally only used by
+the GFS2 utility functions. Altering any file on the GFS2 meta filesystem
+may render the filesystem unusable, so only experts in the GFS2
+on-disk layout should use this option.
+.TP
+\fBquota_quantum=\fP\fIsecs\fR
+This sets the number of seconds for which a change in the quota
+information may sit on one node before being written to the quota
+file. This is the preferred way to set this parameter. The value
+is an integer number of seconds greater than zero. The default is
+60 seconds. Shorter settings result in faster updates of the lazy
+quota information and less likelihood of someone exceeding their
+quota. Longer settings make filesystem operations involving quotas
+faster and more efficient.
+.TP
+\fBstatfs_quantum=\fP\fIsecs\fR
+Setting statfs_quantum to 0 is the preferred way to set the slow version
+of statfs. The default value is 30 secs which sets the maximum time
+period before statfs changes will be syned to the master statfs file.
+This can be adjusted to allow for faster, less accurate statfs values
+or slower more accurate values. When set to 0, statfs will always
+report the true values.
+.TP
+\fBstatfs_percent=\fP\fIvalue\fR
+This setting provides a bound on the maximum percentage change in
+the statfs information on a local basis before it is synced back
+to the master statfs file, even if the time period has not
+expired. If the setting of statfs_quantum is 0, then this setting
+is ignored.
+
+.SH BUGS
+
+GFS2 doesn't support \fBerrors=\fP\fIremount-ro\fR or \fBdata=\fP\fIjournal\fR.
+It is not possible to switch support for user and group quotas on and
+off independently of each other. Some of the error messages are rather
+cryptic, if you encounter one of these messages check firstly that gfs_controld
+is running and secondly that you have enough journals on the filesystem
+for the number of nodes in use.
+
+.SH SEE ALSO
+
+\fBmount\fP(8) for general mount options,
+\fBchmod\fP(1) and \fBchmod\fP(2) for access permission flags,
+\fBacl\fP(5) for access control lists,
+\fBlvm\fP(8) for volume management,
+\fBccs\fP(7) for cluster management,
+\fBumount\fP(8),
+\fBinitrd\fP(4).
+
+The GFS2 documentation has been split into a number of sections:
+
+\fBgfs2_edit\fP(8) A GFS2 debug tool (use with caution)
+\fBfsck.gfs2\fP(8) The GFS2 file system checker
+\fBgfs2_grow\fP(8) Growing a GFS2 file system
+\fBgfs2_jadd\fP(8) Adding a journal to a GFS2 file system
+\fBmkfs.gfs2\fP(8) Make a GFS2 file system
+\fBgfs2_quota\fP(8) Manipulate GFS2 disk quotas
+\fBgfs2_tool\fP(8) Tool to manipulate a GFS2 file system (obsolete)
+\fBtunegfs2\fP(8) Tool to manipulate GFS2 superblocks
+
diff --git a/gfs2/man/gfs2.8 b/gfs2/man/gfs2.8
deleted file mode 100644
index d2b50fc..0000000
--- a/gfs2/man/gfs2.8
+++ /dev/null
@@ -1,40 +0,0 @@
-.TH gfs2 8
-
-.SH NAME
-gfs2 \- GFS2 reference guide
-
-.SH SYNOPSIS
-Overview of manpages and their locations
-
-.SH DESCRIPTION
-The GFS2 documentation has been split into a number of sections. Please
-refer to the table below to determine which man page coincides with the
-command/feature you are looking for.
-.TP 16
-gfs2
-GFS2 overview (this man page)
-.TP
-mount.gfs2
-Mounting a GFS2 file system
-.TP
-gfs2_edit
-A GFS2 debug tool (use with caution)
-.TP
-fsck.gfs2
-The GFS2 file system checker
-.TP
-gfs2_grow
-Growing a GFS2 file system
-.TP
-gfs2_jadd
-Adding a journal to a GFS2 file system
-.TP
-mkfs.gfs2
-Make a GFS2 file system
-.TP
-gfs2_quota
-Manipulate GFS2 disk quotas
-.TP
-gfs2_tool
-Tool to manipulate a GFS2 file system
-
diff --git a/gfs2/man/mount.gfs2.8 b/gfs2/man/mount.gfs2.8
index 29d14c8..4f0f7b3 100644
--- a/gfs2/man/mount.gfs2.8
+++ b/gfs2/man/mount.gfs2.8
@@ -222,7 +222,7 @@ for the number of nodes in use.
.SH SEE ALSO
-\fBgfs2\fP(8),
+\fBgfs2\fP(5),
\fBmount\fP(8) for general mount options,
\fBchmod\fP(1) and \fBchmod\fP(2) for access permission flags,
\fBacl\fP(5) for access control lists,
Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=fe…
Commit: feb56306ad3cac9357f4b34ac16d905cbac5630d
Parent: de0a199f499bec83774ad88765c5e7df487913e9
Author: Christine Caulfield <ccaulfie(a)redhat.com>
AuthorDate: Wed Sep 29 12:02:12 2010 +0100
Committer: Christine Caulfield <ccaulfie(a)redhat.com>
CommitterDate: Wed Sep 29 12:02:12 2010 +0100
cman: Calculate expected_votes correctly after leave remove
When cman_tool leave_remove happens on one node the flag is not cleared
so the same thing happens next time the node just runs "leave". We also
need to keep the recalculated expected votes in the local storage too, or it gets lost when the node leaves again.
Signed-off-by: Christine Caulfield <ccaulfie(a)redhat.com>
---
cman/daemon/commands.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/cman/daemon/commands.c b/cman/daemon/commands.c
index 7a922dd..d4d9fd9 100644
--- a/cman/daemon/commands.c
+++ b/cman/daemon/commands.c
@@ -2034,6 +2034,7 @@ static void do_process_transition(int nodeid, char *data)
/* Take into account any new expected_votes value that the new node has */
node->expected_votes = msg->expected_votes;
+ us->expected_votes = max(us->expected_votes, msg->expected_votes);
if (old_state != node->state || old_expected != node->expected_votes)
recalculate_quorum(0, 0);
@@ -2246,6 +2247,7 @@ void add_ais_node(int nodeid, uint64_t incar, int total_members)
gettimeofday(&node->join_time, NULL);
node->incarnation = incar;
node->state = NODESTATE_MEMBER;
+ node->leave_reason = 0;
cluster_members++;
recalculate_quorum(0, 0);
}