[Ocfs2-tools-devel] Global heartbeat + new o2cb tool - drop#1

Sunil Mushran sunil.mushran at oracle.com
Wed Jun 23 11:44:10 PDT 2010


All,

This is the first drop of the global heartbeat + new o2cb tool. This
blast contains the tools patches only. The kernel patches will be sent
later.

Before reviewing, please go thru the notes describing the new global
heartbeat scheme and the new o2cb config tool. Feel free to poke holes.
http://oss.oracle.com/osswiki/OCFS2/DesignDocs/NewGlobalHeartbeat
http://oss.oracle.com/osswiki/OCFS2/DesignDocs/NewO2CBTool

This blast has 25 patches. The first 4 enhance o2cb_config to handle
the new heartbeat stanza and also fix some bug wrt cluster/node removal.
0001-o2cb_config-Add-support-for-the-heartbeat-stanza.patch
0002-o2cb_config-Fix-o2cb_config_free.patch
0003-o2cb_config-Add-o2cb_config_remove_cluster.patch
0004-o2cb_config-Add-o2cb_cluster_delete_node.patch

The next two update libo2cb to manipulate heartbeat mode and update
classic group join/leave calls to not start/stop heartbeat in the
global heartbeat mode. (These group calls are enhanced later on.)
0005-libo2cb-Adds-support-for-global-heartbeat.patch
0006-libo2cb-Extend-libo2cb-api-to-learn-ip-address-port-.patch

The next two add the scandisk functionality. The existing scan
/proc/partitions is too primitive.
0007-libtools-internal-Add-scandisk-functionality-to-libt.patch
0008-o2cb_scandisk-Scan-heartbeat-devices.patch

The next few deal with the new o2cb tool.
0009-o2cb-Add-a-new-cluster-configuration-tool.patch
0010-o2cb-Add-ops-add-cluster-aand-remove-cluster.patch
0011-o2cb-Add-ops-add-node-and-remove-node.patch
0012-o2cb-Add-ops-add-heartbeat-remove-heartbeat-and-hear.patch
0013-o2cb-Add-ops-list-clusters-list-cluster-list-nodes-a.patch
0014-o2cb-Add-ops-register-cluster-and-unregister-cluster.patch
0015-o2cb-Add-ops-start-heartbeat-and-stop-heartbeat.patch

The next patch updates o2cb init script to use the new o2cb tool
instead of o2cb_ctl.
0016-o2cb.init-Make-it-use-the-new-cluster-config-tool-o2.patch

Couple of cleanup patches.
0017-libocfs2-Cleanup-flag-name-printing-in-feature_strin.patch
0018-debugfs.ocfs2-Feature-flag-printing-cleanup.patch

The next add the two new feature flags.
0019-libocfs2-Add-an-incompat-feature-flag-OCFS2_FEATURE_.patch
0020-libocfs2-Add-a-compat-feature-flag-OCFS2_FEATURE_COM.patch

The next adds cluster flags to o2cb_cluster_desc.
0021-libocfs2-Add-c_flags-to-struct-o2cb_cluster_desc.patch

The next enhances the classic group join/leave in libo2cb to
validate the cluster name and the stack flags.
0022-libo2cb-Validate-cluster-name-and-cluster-flags-in-c.patch

Ok. This one is yukky.
0023-tools-Detect-differing-cluster-name-and-heartbeat-mo.patch

The last two enhance mount to add heartbeat=global and do some cleanup.
0024-mount.ocfs2-Add-support-for-o2cb-global-heartbeat.patch
0025-mount.ocfs2-Validate-mount-path-before-mount.patch

$ git diff --stat master..newo2cb
 debugfs.ocfs2/dump.c                      |   39 +-
 debugfs.ocfs2/include/utils.h             |   12 +-
 debugfs.ocfs2/utils.c                     |  174 +-----
 fsck.ocfs2/fsck.c                         |    4 +-
 include/o2cb/o2cb.h                       |   20 +
 include/ocfs2-kernel/ocfs2_fs.h           |   46 ++-
 include/ocfs2/ocfs2.h                     |   33 ++
 include/tools-internal/Makefile           |    2 +-
 include/tools-internal/scandisk.h         |  105 ++++
 libo2cb/o2cb_abi.c                        |  299 +++++++++--
 libo2cb/o2cb_abi.h                        |    8 +
 libo2cb/o2cb_err.et                       |    6 +
 libocfs2/checkhb.c                        |    2 +-
 libocfs2/dlm.c                            |   45 ++-
 libocfs2/feature_string.c                 |  206 +++----
 libtools-internal/Makefile                |    2 +-
 libtools-internal/scandisk.c              |  866 +++++++++++++++++++++++++++++
 mkfs.ocfs2/check.c                        |    2 +-
 mkfs.ocfs2/mkfs.c                         |   11 +-
 mount.ocfs2/mount.ocfs2.c                 |  119 +++--
 o2cb_ctl/.gitignore                       |    1 +
 o2cb_ctl/Makefile                         |   30 +-
 o2cb_ctl/o2cb_config.c                    |  272 +++++++++-
 o2cb_ctl/o2cb_config.h                    |   16 +-
 o2cb_ctl/o2cb_scandisk.c                  |  199 +++++++
 o2cb_ctl/o2cb_scandisk.h                  |   43 ++
 o2cb_ctl/o2cbtool.c                       |  297 ++++++++++
 o2cb_ctl/o2cbtool.h                       |   83 +++
 o2cb_ctl/op_cluster.c                     |   79 +++
 o2cb_ctl/op_heartbeat.c                   |  194 +++++++
 o2cb_ctl/op_lists.c                       |  202 +++++++
 o2cb_ctl/op_node.c                        |  267 +++++++++
 o2cb_ctl/op_register.c                    |  409 ++++++++++++++
 o2cb_ctl/op_start.c                       |  341 ++++++++++++
 tunefs.ocfs2/Makefile                     |    3 +-
 tunefs.ocfs2/feature_clusterinfo_v2.c     |  125 +++++
 tunefs.ocfs2/feature_local.c              |    3 +-
 tunefs.ocfs2/libocfs2ne.c                 |    4 +-
 tunefs.ocfs2/op_features.c                |    2 +
 vendor/common/o2cb.init.sh                |  270 ++++++++--
 vendor/common/ocfs2-tools.spec-generic.in |    3 +-
 41 files changed, 4371 insertions(+), 473 deletions(-)

Sunil





More information about the Ocfs2-tools-devel mailing list