[Ocfs2-tools-commits] branch, master, updated. ocfs2-tools-1.4.0-69-g7f0bc94

svn-commits at oss.oracle.com svn-commits at oss.oracle.com
Mon Jun 2 14:28:13 PDT 2008


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Tools to manage the ocfs2 filesystem.".

The branch, master has been updated
       via  7f0bc94cd457a68521feeb055a40423d0d31c1ef (commit)
       via  007774047f3007b9e04ce7c2141cb6b5ea883e7d (commit)
       via  500b5e40bc0ef390a76d48274c7f1e0a308b71d1 (commit)
       via  b80281a65499328febd3b617681e8ea437547d38 (commit)
       via  1cbfda4b1de819fb97e9d609b55cef3fd6b3dc8d (commit)
       via  f31d0a54d7f1b02f1ccbec2264fb3497899b0516 (commit)
       via  c36dcdab258b477655f4ac8d549d200686a83dc3 (commit)
       via  5c332aabbbebb41b821e8ced481c7f1e9ec39d64 (commit)
       via  3e95e1f288e554a768fc2d87cd7420406776ed20 (commit)
       via  8813b3edf1f3a48f486444feb77c8dcc6c55058d (commit)
       via  ec0c69d739667e115381d3471e451f30c6e81b51 (commit)
       via  215f2da73035bc75556ff1e5f149a76aa57b5c3e (commit)
       via  77287187ab525582fc5df9ddd016031c286b5c2b (commit)
       via  58fa4bc2baa60b5da2d089865ae4ee53344b4476 (commit)
       via  16165656c8e0685faf72583843525961a663cfe2 (commit)
       via  ec49efc14b8940da48d89149c8e266a98d7ada32 (commit)
       via  07b78c0e21c6da42efd537f215218289f635991d (commit)
       via  107d1b4f00fcbd3f3be6c3f2c60162fa0035cda8 (commit)
       via  9b7990cdf1bd025321f342324d2594b9dd37db1a (commit)
       via  301dd0059c624ff5d0b5c49c8529de85a506bfde (commit)
       via  ce1119d7cd4fdf079c389e14d61585a4b8c7381a (commit)
       via  cf26e2472e9a02f363dc02edbac7b84d73e906ff (commit)
       via  85b2bbc15b762091cacf5fbd4e6b517e5a38ac23 (commit)
       via  d7b7e7ed193c580e364fe51701572466ef380cc0 (commit)
       via  f1f7e47f522df068bca8cb935670a86048ae2762 (commit)
       via  cc074dedc96592ac3090a506172c9632f65a39b9 (commit)
       via  b102c9d7f459bce74b8a1ef6eb0ae89ac220cde5 (commit)
       via  3ab766220f162e70b7661af12fb98fa46719d978 (commit)
       via  db57b65f37a8b6463192400cb316fe141957e778 (commit)
       via  4c20c22c7bc84d3a7eae5d929e133cae1bc6a83c (commit)
       via  082aaadf82c9fbc71effd2ec767936b889a7a67c (commit)
       via  5183eff2c4e80fd4714b3da42658fd673f08d3fb (commit)
       via  122374e1de34639044a1bf70ed4e15c6a168e734 (commit)
       via  c0570a99b5e31575cae87033f5ab1aa194e1b72c (commit)
       via  295efa021c87ad87a975ed079d6a4f83a04a561d (commit)
       via  9ac7238b0d89068817b3eeace99e24a1e9784ae2 (commit)
       via  ef7bb52bb9c9cdef4be14602dd60377cda1095fc (commit)
       via  bdeae87376018491ec695cb564ea0a5666ec6f1d (commit)
       via  74827fce6224e86effe44e57e16db743dd1fcf5b (commit)
       via  0eb0f2a5f00a076f1ab483969bcc9e98c36698e5 (commit)
       via  245809ef3e387b244a45ef61a28983c89744758a (commit)
       via  81209cfe7dd8c60b89b8153171a5908578f3fd88 (commit)
       via  34fe6e431cbc15e7f49c432cea4326883e9dd6e2 (commit)
       via  d0e27b4973586f713949475b77332af998265a12 (commit)
       via  560a2d0c7c01d7042096ec881430c35ca3a94ccf (commit)
       via  0e687fe4760666387e715c25982ca01229eb7753 (commit)
       via  e14ecdad1cdac35e12b3cd316d9e64a110d390b4 (commit)
       via  28adc7f2aed795e233b6a7ecf5bdbe06fa20e4f3 (commit)
       via  c8ebaa73fad84aa65fe0e04b363144bab9fa3f20 (commit)
       via  e7e8ff9e8d80b1bd8c15b309e9e1e59de886da49 (commit)
       via  21cdcd0dfcfc7aa5c6c4fd4d36f6a13f4a8e73be (commit)
       via  9c807564735a549389b65d54cefa7ae565563b60 (commit)
       via  8e456069163580282b619a697382eef1eadf8309 (commit)
       via  6b2ddb1c62d1aff5d60c9c728322086b311507d9 (commit)
       via  1f8aac28704b9e36b1015953b52219cdadd2fb48 (commit)
       via  783021e1f3cfbbcd8135ac00069c016f61dfb287 (commit)
       via  da5112099e6fe3c07f4eeeb271c0129d0f3691e7 (commit)
       via  4e1281db787168148e2834de3da93e139374a5b9 (commit)
      from  f1ce1162a793f7bfcef4b1e4a9e8cff9cc0a6fae (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 7f0bc94cd457a68521feeb055a40423d0d31c1ef
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Tue May 27 19:18:00 2008 -0700

    libo2dlm: Build cleanup
    
    Allow building libo2dlm without cman-devel. The resulting build will
    only support the o2cb cluster stack.
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 007774047f3007b9e04ce7c2141cb6b5ea883e7d
Author: Joel Becker <joel.becker at oracle.com>
Date:   Fri May 9 16:15:58 2008 -0700

    fsck.ocfs2: Add fsck check code RECOVER_CLUSTER_INFO
    
    Add description for fsck check code RECOVER_CLUSTER_INFO in the
    fsck.ocfs2.checks manpage.
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 500b5e40bc0ef390a76d48274c7f1e0a308b71d1
Author: Joel Becker <joel.becker at oracle.com>
Date:   Fri Mar 21 18:19:22 2008 -0700

    tunefs.ocfs2: Update cluster information.
    
    When the user switches cluster stacks, existing filesystems will no
    longer mount - they are marked for the old stack.  Add the
    --update-cluster-stack option to tunefs.ocfs2.  It will write the
    configuration for the running cluster stack to the disk.
    
    At the same time, the '-M cluster' option needs to install userspace cluster
    information when appropriate.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit b80281a65499328febd3b617681e8ea437547d38
Author: Joel Becker <joel.becker at oracle.com>
Date:   Fri Mar 21 10:15:32 2008 -0700

    fsck.ocfs2: Fix cluster information in fsck.ocfs2
    
    If the running cluster differs from the cluster information written in
    the superblock, fsck.ocfs2 will not be able to lock the filesystem.  fsck
    can now replace the information in the superblock with the running
    configuration, allowing it to proceed with cluster locking.
    
    The actual code to install the cluster configuration is placed in libocfs2
    so tha tunefs can use it too.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit 1cbfda4b1de819fb97e9d609b55cef3fd6b3dc8d
Author: Joel Becker <joel.becker at oracle.com>
Date:   Fri Mar 21 12:29:27 2008 -0700

    libo2dlm: Detect libdlm in configure.
    
    If libdlm is not installed, do not compile userspace cluster support.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit f31d0a54d7f1b02f1ccbec2264fb3497899b0516
Author: Joel Becker <joel.becker at oracle.com>
Date:   Wed Mar 19 15:09:13 2008 -0700

    libo2dlm: Dynamically load libdlm.
    
    We want ocfs2-tools to be runnable without cman/libdlm installed.  Users
    running o2cb should not require the extra packages.  Thus, libo2dlm should
    dynamically load libdlm when needed.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit c36dcdab258b477655f4ac8d549d200686a83dc3
Author: Joel Becker <joel.becker at oracle.com>
Date:   Thu Mar 20 15:26:30 2008 -0700

    libo2dlm: Add fsdlm operations.
    
    Support the full API for fsdlm.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit 5c332aabbbebb41b821e8ced481c7f1e9ec39d64
Author: Joel Becker <joel.becker at oracle.com>
Date:   Tue Mar 18 15:05:04 2008 -0700

    libo2dlm: Make the internal structures private.
    
    The public header describes many of the structures that are internal to
    the library.  Move them into o2dlm.c.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit 3e95e1f288e554a768fc2d87cd7420406776ed20
Author: Joel Becker <joel.becker at oracle.com>
Date:   Tue Mar 18 15:09:22 2008 -0700

    libo2dlm: Split the o2dlm functionality into backend functions.
    
    Before calling fsdlm calls, we need to separate the classic o2dlm code from
    the actual API.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit 8813b3edf1f3a48f486444feb77c8dcc6c55058d
Author: Joel Becker <joel.becker at oracle.com>
Date:   Mon Mar 17 18:02:57 2008 -0700

    libo2cb: o2cb API for the running cluster stack.
    
    We want multiple programs to be able to query the running cluster stack.
    Lift the functionality out of mkfs up into libo2cb.  As always, a NULL
    desc->c_stack means o2cb.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit ec0c69d739667e115381d3471e451f30c6e81b51
Author: Joel Becker <joel.becker at oracle.com>
Date:   Mon Mar 17 16:08:53 2008 -0700

    debugfs.ocfs2: Display cluster stack information.
    
    debugfs.ocfs2 now recognizes OCFS2_FEATURE_INCOMPAT_USERSPACE_STACK and
    acts appropriately when dumping the superblock.  This includes
    displaying the cluster stack name and cluster name.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit 215f2da73035bc75556ff1e5f149a76aa57b5c3e
Author: Joel Becker <joel.becker at oracle.com>
Date:   Mon Mar 17 15:39:07 2008 -0700

    mkfs.ocfs2: Select extended slot map with a userspace cluster stack.
    
    Userspace cluster stacks require the extended slot map.  When a
    userspace cluster stack is requested or detected during mkfs, the
    extended slot map will be used.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit 77287187ab525582fc5df9ddd016031c286b5c2b
Author: Joel Becker <joel.becker at oracle.com>
Date:   Wed Mar 12 13:41:14 2008 -0700

    ocfs2_controld: Integrate ckpt with the daemon
    
    The daemon code should now install and fill its checkpoint objects.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit 58fa4bc2baa60b5da2d089865ae4ee53344b4476
Author: Joel Becker <joel.becker at oracle.com>
Date:   Tue Mar 11 12:45:37 2008 -0700

    ocfs2_controld: read and write ckpt sections
    
    Data on checkpoints is stored in sections.  The access to section data
    will be via simple accessor functions.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit 16165656c8e0685faf72583843525961a663cfe2
Author: Joel Becker <joel.becker at oracle.com>
Date:   Mon Mar 10 17:32:40 2008 -0700

    ocfs2_controld: Open and close checkpoints
    
    Open and close checkpoint handles.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit ec49efc14b8940da48d89149c8e266a98d7ada32
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Mar 8 02:51:47 2008 -0800

    ocfs2_controld: Add the startup/shutdown code for ckpt
    
    ocfs2_controld is going to use the AIS CKPT service for daemon state
    information.  This just opens and closes the connection to the service.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit 07b78c0e21c6da42efd537f215218289f635991d
Author: Joel Becker <joel.becker at oracle.com>
Date:   Fri Feb 22 16:12:09 2008 -0800

    ocfs2_controld: Pass the locking version to ocfs2_control_open()
    
    Opening the ocfs2_control device requires telling the kernel what
    version of the locking protocol to use.  Move that work into
    the control daemon.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit 107d1b4f00fcbd3f3be6c3f2c60162fa0035cda8
Author: Joel Becker <joel.becker at oracle.com>
Date:   Fri Feb 22 15:37:43 2008 -0800

    libo2cb: Teach the control device handshake about the protocol version
    
    The handshake with the ocfs2_control device now requires the filesystem
    protocol version to be passed.  This version is negotiated by the control
    daemon, and is based on /sys/fs/ocfs2/max_locking_protocol.
    
    For this first pass, just write back what max_locking_protocol contains.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit 9b7990cdf1bd025321f342324d2594b9dd37db1a
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:59:26 2008 -0800

    o2cb: Provide the o2cb_control_node_down() API.
    
    The o2cb_control_node_down() function passes node death through to the
    ocfs2_control device.  Thus, ocfs2_controld can now tell the kernel to
    start recovery.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit 301dd0059c624ff5d0b5c49c8529de85a506bfde
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:33:46 2008 -0800

    libo2cb: Add the API to open and close the ocfs2_control device.
    
    This API is used by ocfs2_controld to connect to the filesystem module.
    It performs a handshake with the kernel driver, after which filesystems
    can be mounted.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit ce1119d7cd4fdf079c389e14d61585a4b8c7381a
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Mar 8 02:48:51 2008 -0800

    ocfs2_control: Add udev configuration for the ocfs2_control device.
    
    A simple udev configuration for the /dev/misc/ocfs2_control device.
    This creates the device at module load time.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit cf26e2472e9a02f363dc02edbac7b84d73e906ff
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:33:47 2008 -0800

    mount.ocfs2: Pass the cluster_stack= option for user stacks.
    
    If the filesystem is tagged for a userspace stack, pass the appropriate
    option to mount(2).
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit 85b2bbc15b762091cacf5fbd4e6b517e5a38ac23
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:33:47 2008 -0800

    libo2cb: Build client_proto unconditionally
    
    The client_proto code was only being built when HAVE_CMAN was true.  It
    should always be built.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit d7b7e7ed193c580e364fe51701572466ef380cc0
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:33:47 2008 -0800

    mkfs.ocfs2: Add the cluster stack options.
    
    This code detects the running cluster stack and cluster name as well as
    accepting them from the user.  It checks for conflicts or missing
    information.  It then writes the out to the disk, setting the
    USERSPACE_STACK feature flag when appropriate.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit f1f7e47f522df068bca8cb935670a86048ae2762
Author: Joel Becker <joel.becker at oracle.com>
Date:   Tue Mar 11 17:25:07 2008 -0700

    o2cb: Introduce the cluster info struct.
    
    The filesystem now has a field on disk called ocfs2_cluster_info.  It
    contains the name of the cluster stack and the name of the cluster.  It
    is only valid if the USERSPACE_STACK incompat bit is set.  If the bit is
    not set, the filesystem expects the classic stack.
    
    libocfs2 gains a routine to read this field.  It fills in a struct
    o2cb_cluster_desc.  If the classic stack is in use, the structure is
    filled in with NULLs.
    
    Likewise, o2cb_*_group_*() take the o2cb_cluster_desc structure rather
    than a cluster name.  This allows them to check the stack expected by
    the filesystem with the stack actually in use.  If a userspace stack,
    the name will be passed over the wire to the control daemon.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit cc074dedc96592ac3090a506172c9632f65a39b9
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:33:48 2008 -0800

    o2cb: o2cb_list_clusters() for user stacks.
    
    Add list_clusters functionality to the user stack in libo2cb.  Use it to
    back join/leave in the mount path.  This is, of course, temporary to a
    better API for querying the cluster info.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit b102c9d7f459bce74b8a1ef6eb0ae89ac220cde5
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:54:01 2008 -0800

    o2cb client: Add the query messages
    
    The "LISTCLUSTERS", "LISTMOUNTS", and "LISTFS" messages are added to
    client_proto.c.  The receive_list() helper is added to client_proto.c as
    well, and test_client is taught to send LISTCLUSTERS and read the
    response.  ocfs2_controld.cman also learns how to respond to
    LISTCLUSTERS.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit 3ab766220f162e70b7661af12fb98fa46719d978
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:33:48 2008 -0800

    libo2cb: Provide the controld group operations.
    
    For userspace cluster stacks, the user group operations will connect to
    a running control daemon and ask for joins.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit db57b65f37a8b6463192400cb316fe141957e778
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:33:49 2008 -0800

    ocfs2_controld.cman: Validate current stack
    
    The daemon should only run if the current stack is "cman"
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit 4c20c22c7bc84d3a7eae5d929e133cae1bc6a83c
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:33:49 2008 -0800

    ocfs2_controld.cman: Prefix group names with 'ocfs2:'
    
    To distinguish our CPG groups from other processes, prefix all groups
    with 'ocfs2:'.  The control daemon group is now "ocfs2:controld", and
    filesystem groups will be "ocfs2:<uuid>"
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit 082aaadf82c9fbc71effd2ec767936b889a7a67c
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:33:49 2008 -0800

    ocfs2_controld.cman: Provide a callback when the daemon group is joined
    
    Rather than listen for clients at the very beginning (when the cluster
    may not be ready), let's start listening after the daemon has joined the
    "ocfs2" cluster group.  This is accomplished via a callback passed to
    setup_cpg().
    
    This also prepares us to negotiate with other daemons at startup.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit 5183eff2c4e80fd4714b3da42658fd673f08d3fb
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:33:49 2008 -0800

    ocfs2_controld: Leave groups
    
    The daemon now handles leaving a group.  When a umount request is
    recieved, it will leave the matching group.  When we are notified that
    we've left, we'll tell the mount code.
    
    In turn, the mount code handles normal and abnormal leaves.  In the
    abnormal case, it will drop all nodes and then drop the group.
    
    This allows us to reinstate bail_on_mounts() for the unplanned daemon
    exit.  It just relies on simulating abnormal leaves.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit 122374e1de34639044a1bf70ed4e15c6a168e734
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:33:49 2008 -0800

    ocfs2_controld: Join a group on filesystem mount.
    
    When a filesystem mounts for the first time, join a group in CPG.  This
    encompasses all the join code required, but does not handle leave yet.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit c0570a99b5e31575cae87033f5ab1aa194e1b72c
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:33:49 2008 -0800

    ocfs2_controld: some group handling
    
    This is a point-in-time commit, and probably a candidate for git-fold.
    Group initialization and joining are abstracted to make ready for mount
    groups.  The node down code is skeletonized.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit 295efa021c87ad87a975ed079d6a4f83a04a561d
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:49:53 2008 -0800

    ocfs2_controld: Add mountgroups and mount client communication.
    
    The daemon now accepts the MOUNT, MRESULT, and UNMOUNT messages as
    specified in the protocol.  It builds mountgroup structures as well as
    the associated mountpoints.  It properly handles secondary mountpoints
    as well as all but one client death scenario.
    
    Currently it fakes joining and leaving groups.  That's the next step.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit 9ac7238b0d89068817b3eeace99e24a1e9784ae2
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:33:50 2008 -0800

    ocfs2_controld: Smarter client allocation code.
    
    Steal more bits from other daemons.  Basically, make the client array
    allocation easier to read and able to handle allocation failure.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit ef7bb52bb9c9cdef4be14602dd60377cda1095fc
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:47:19 2008 -0800

    ocfs2_controld: add CPG skeleton
    
    Add a skeleton cpg interface to ocfs2_controld.  It connects to the CPG
    service and joins a group for the daemon itself.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit bdeae87376018491ec695cb564ea0a5666ec6f1d
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:48:20 2008 -0800

    ocfs2_controld: Steal a better client loop
    
    groupd has a smarter client_add() implementation.  It uses callbacks to
    match client fd to worker function.  Let's use it.
    
    While we're at it, rename member_cman.  It was just too long.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit 74827fce6224e86effe44e57e16db743dd1fcf5b
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:46:04 2008 -0800

    ocfs2_controld: Add cman membership code.
    
    Bring in the member_cman.c file.  It just connects to cman and loads the
    node information.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit 0eb0f2a5f00a076f1ab483969bcc9e98c36698e5
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:45:20 2008 -0800

    ocfs2_controld: Add the main loop file.
    
    I'm bringing in pieces of the original ocfs2_controld attempt one by
    one.  Much of the core code is pretty well fleshed out.  Once I've
    brought in the pieces I can use, I'll start adding the new
    functionality.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit 245809ef3e387b244a45ef61a28983c89744758a
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:43:44 2008 -0800

    ocfs2_controld: Add the test client
    
    The test_client allows us to poke ocfs2_controld without trying to
    actually run mount(1).
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit 81209cfe7dd8c60b89b8153171a5908578f3fd88
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:37:32 2008 -0800

    libo2cb: Add the client protocol files.
    
    The control daemon protocol is added to libo2cb.  It is only built when
    libcman is detected.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit 34fe6e431cbc15e7f49c432cea4326883e9dd6e2
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:33:51 2008 -0800

    configure: Check for libcman and cpg.
    
    Check for the cman and cpg libraries.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit d0e27b4973586f713949475b77332af998265a12
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:33:51 2008 -0800

    o2cb.init: Bring a userspace cluster online.
    
    When available, the ocfs2_controld.<stackname> daemon will be started.
    The control daemon is specific to <stackname>.  If
    ocfs2_controld.<stackname> does not exist, that stack is unsupported.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit 560a2d0c7c01d7042096ec881430c35ca3a94ccf
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:33:52 2008 -0800

    o2cb.init: Manage stack plugins
    
    The o2cb.init script now loads and unloads the appropriate stack
    plugins.  It knows not to complain when older drivers are in use.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit 0e687fe4760666387e715c25982ca01229eb7753
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:33:52 2008 -0800

    libo2cb: Create operation structures for the cluster stack.
    
    This allows each stack to handle
    begin_group_join/complete_group_join/group_leave as appropriate.
    Currently only the classic stack is implemented.
    
    o2cb_init() will now fail if there is a problem reading
    /sys/fs/ocfs2/cluster_stack.  If the file does not exist we default to
    the classic stack for compatibility with older drivers.
    
    Move the "o2cb" stack operations to static functions, adding them to the
    "classic_stack" operation structure.
    
    Finally, have the external APIs merely fill in the default cluster name
    and call the stack operations.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit e14ecdad1cdac35e12b3cd316d9e64a110d390b4
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:33:52 2008 -0800

    o2cb.init: Store the configured stack name.
    
    Allow "/etc/init.d/o2cb configure" to ask the name of the cluster stack
    to use.  During startup, store that name in sysfs.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit 28adc7f2aed795e233b6a7ecf5bdbe06fa20e4f3
Author: Joel Becker <joel.becker at oracle.com>
Date:   Tue Mar 11 17:18:55 2008 -0700

    o2cb: change the heartbeat API
    
    - o2cb_[start|stop]_heartbeat_region() have been replaced by
      o2cb_begin_group_join(), o2cb_complete_group_join(), and
      o2cb_group_leave().  These functions now take a service name to describe
      who is accessing the region.  The service is usually the mountpoint,
      but tools will use their program name.
    - Failed mounts pass an error to o2cb_complete_group_join(), which will
      handle stopping any started region.  Thus, failed mounts should not
      call o2cb_group_leave() like they used to call
      o2cb_stop_heartbeat_region().
    - mount.ocfs2 called ocfs2_start_heartbeat().  Change it to call
      o2cb_begin_group_join() and o2cb_complete_group_join().
    - umount.ocfs2 is changed to call o2cb_group_leave() after umount(2).
    - All of the other tools never called ocfs2_hb_ctl.  They call
      ocfs2_initalize_dlm() and ocfs2_shutdown_dlm().  These functions have
      been changed to call the new o2cb_group_* API.  This works for all
      tools.
    - ocfs2_hb_ctl is now only useful for querying the state and
      starting/stopping regions by hand.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit c8ebaa73fad84aa65fe0e04b363144bab9fa3f20
Author: Joel Becker <joel.becker at oracle.com>
Date:   Tue Mar 11 17:17:44 2008 -0700

    umount.ocfs2: Add umount.ocfs2 to pair mount.ocfs2
    
    Rather than use a userspace_helper callout, use the umount.<fstype>
    functionality available in mount(8) since 2.12j.
    
    - Remove OCFS2_FSTYPE and promote OCFS2_FS_NAME to the o2cb header
    - Remove ocfs2_hb_ctl calls from mount.ocfs2.  It now calls
      ocfs2_start_heartbeat() directly.
    - Add umount.ocfs2 to call ocfs2_stop_heartbeat().
    
    As we will rely on umount.ocfs2 to clear heartbeat when a volume is
    unmounted, we don't want the kernel calling ocfs2_hb_ctl anymore.  Set
    /proc/sys/fs/ocfs2/nm/hb_ctl_path to "/bin/true".  This will be a noop,
    but will not break existing kernel modules.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit e7e8ff9e8d80b1bd8c15b309e9e1e59de886da49
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:33:52 2008 -0800

    o2cb.init: Eliminate the single-path load_actions scheme.
    
    The o2cb.init script had an array of actions that are run at load time.
    Upon unload, they are run in reverse.  This worked great for a single
    backing cluster stack, but does not work well when we want to support
    multiple schemes.  The steps are now broken out.
    
    The mechanism for loading modules and pseudo-filesystems could not handle
    compiled-in drivers.  Because depmod works great with loading modules for
    filesystems, the code can just mount a filesystem and let depmod do the
    rest.
    
    o2cb.init is moved to o2cb.init.sh.  This allows us to propagate
    variables to the init script when the time comes.  This involves adding
    ALL_RULES to Postamble.make, something that already has happened in
    Makebo.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit 21cdcd0dfcfc7aa5c6c4fd4d36f6a13f4a8e73be
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:33:53 2008 -0800

    o2cb: Ignore files in cluster directory.
    
    The cluster directory usually only contains subdirectories.  However,
    if it were to contain an attribute file, libo2cb and o2cb.init will see it
    as a cluster name.  Teach libo2cb to only look at S_ISDIR().  Teach
    o2cb.init to only look at test -d.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit 9c807564735a549389b65d54cefa7ae565563b60
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 22:12:05 2008 -0800

    ocfs2-tools: Turn on support for the extended slot map
    
    This just enables the new extended slot map in the supported bitmask.  The
    tools will now open filesystems with the extended slot map.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit 8e456069163580282b619a697382eef1eadf8309
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 22:13:12 2008 -0800

    tunefs.ocfs2: Turn on and off the extended slot map
    
    Support for the extended slot map.  It can be enabled or disabled.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit 6b2ddb1c62d1aff5d60c9c728322086b311507d9
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 22:12:05 2008 -0800

    debugfs.ocfs2: Support the extended slot map.
    
    debugfs.ocfs2 uses lower-level access to read the slot map.  Add the
    extended slot map calls.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit 1f8aac28704b9e36b1015953b52219cdadd2fb48
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:06:18 2008 -0800

    mkfs.ocfs2: Support the extended slot map.
    
    mkfs.ocfs2 had an open-coded function for writing an initial slot map.
    It is removed in favor of ocfs2_format_slot_map(), which can handle
    both the old and new formats.  The feature string "extended-slotmap" is
    added to trigger the new format.
    
    The format of the slot map is moved to where we can use ocfs2_open() before
    calling ocfs2_format_slot_map().  It's perfectly safe to do there, as no
    one can mount without a slot map.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit 783021e1f3cfbbcd8135ac00069c016f61dfb287
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 23:11:51 2008 -0800

    libocfs2: Add extended slot map support
    
    Add the code for reading, writing, loading, and storing the extended
    format.  Also introduce the ocfs2_format_slot_map() function.
    
    The new format allows for larger node numbers (up to UINT32_MAX), more slots
    (it is sized as a regular file), and has extra space for future updates.
    
    Signed-of-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit da5112099e6fe3c07f4eeeb271c0129d0f3691e7
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 22:12:06 2008 -0800

    ocfs2-tools: Remove open-coded slot map access.
    
    Anywhere the tools need to access the slot map, they open-code access.
    Introduce a set of functions in libocfs2 to manage the slot map.  The
    best is the load/store functions, which provide an in-memory structure
    to isolate users from the specifics of the format.
    
    We clean up the open-coded places as well.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

commit 4e1281db787168148e2834de3da93e139374a5b9
Author: Joel Becker <joel.becker at oracle.com>
Date:   Sat Jan 12 22:12:06 2008 -0800

    ocfs2-tools: Import the latest ocfs2_fs.h
    
    The extended slot map is defined in the latest version of ocfs2_fs.h.  In
    addition, it defines a proper data structure for the old slot map.
    
    This is a straight import from te kernel sources.  The only modification
    is to remove OCFS2_FEATURE_INCOMPAT_EXTENDED_SLOT_MAP from the SUPPORTED
    bitmask.  It will be added back when the tools support is complete.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

-----------------------------------------------------------------------

Summary of changes:
 Config.make.in                            |    7 +
 Makefile                                  |    2 +-
 Postamble.make                            |    2 +-
 configure.in                              |  117 +++-
 debugfs.ocfs2/commands.c                  |   18 +-
 debugfs.ocfs2/dump.c                      |   32 +-
 debugfs.ocfs2/include/dump.h              |    3 +-
 debugfs.ocfs2/utils.c                     |   58 +-
 fsck.ocfs2/Makefile                       |    2 +-
 fsck.ocfs2/fsck.c                         |   76 ++-
 fsck.ocfs2/fsck.ocfs2.checks.8.in         |   12 +
 fswreck/Makefile                          |    2 +-
 include/o2cb/Makefile                     |    2 +-
 include/o2cb/o2cb.h                       |   48 +-
 include/o2cb/o2cb_client_proto.h          |   70 ++
 include/o2dlm/o2dlm.h                     |   27 +-
 include/ocfs2-kernel/ocfs2_fs.h           |   79 ++-
 include/ocfs2/ocfs2.h                     |   65 ++-
 libo2cb/Makefile                          |    7 +-
 libo2cb/client_proto.c                    |  450 +++++++++++
 libo2cb/o2cb_abi.c                        |  886 +++++++++++++++++++++-
 libo2cb/o2cb_err.et                       |    3 +
 libo2dlm/.gitignore                       |    1 +
 libo2dlm/Makefile                         |   25 +-
 libo2dlm/libdlm-compat.h                  |  289 +++++++
 libo2dlm/o2dlm.c                          |  785 ++++++++++++++++----
 libo2dlm/o2dlm_test.c                     |    3 +
 libocfs2/Makefile                         |    2 +-
 libocfs2/checkhb.c                        |   53 +--
 libocfs2/dlm.c                            |  122 +++-
 libocfs2/feature_string.c                 |    8 +-
 libocfs2/heartbeat.c                      |   20 -
 libocfs2/ocfs2_err.et                     |    5 +-
 libocfs2/slot_map.c                       |  470 ++++++++++++-
 listuuid/Makefile                         |    2 +-
 mkfs.ocfs2/Makefile                       |    2 +-
 mkfs.ocfs2/check.c                        |  210 +++++-
 mkfs.ocfs2/mkfs.c                         |  130 +++-
 mkfs.ocfs2/mkfs.h                         |    3 +
 mount.ocfs2/.gitignore                    |    1 +
 mount.ocfs2/Makefile                      |   22 +-
 mount.ocfs2/mount.ocfs2.c                 |  101 ++--
 mount.ocfs2/umount.ocfs2.c                |  260 +++++++
 mounted.ocfs2/Makefile                    |    2 +-
 mounted.ocfs2/mounted.c                   |   43 +-
 o2dlm.pc.in                               |    2 +-
 ocfs2_controld/.gitignore                 |    4 +
 ocfs2_controld/Makefile                   |   52 ++
 ocfs2_controld/ckpt.c                     |  705 +++++++++++++++++
 ocfs2_controld/cman.c                     |  303 ++++++++
 ocfs2_controld/cpg.c                      |  758 +++++++++++++++++++
 ocfs2_controld/main.c                     | 1164 +++++++++++++++++++++++++++++
 ocfs2_controld/mount.c                    |  846 +++++++++++++++++++++
 ocfs2_controld/ocfs2_controld.h           |  112 +++
 ocfs2_controld/test_client.c              |  391 ++++++++++
 ocfs2_hb_ctl/Makefile                     |    2 +-
 ocfs2_hb_ctl/ocfs2_hb_ctl.c               |   59 ++-
 ocfs2cdsl/Makefile                        |    2 +-
 ocfs2console/ocfs2interface/Makefile      |    2 +-
 tunefs.ocfs2/Makefile                     |   12 +-
 tunefs.ocfs2/features.c                   |   14 +-
 tunefs.ocfs2/format_slotmap.c             |   60 ++
 tunefs.ocfs2/tunefs.c                     |  137 +++-
 tunefs.ocfs2/tunefs.h                     |    8 +-
 vendor/common/.gitignore                  |    1 +
 vendor/common/51-ocfs2.rules              |    2 +
 vendor/common/Makefile                    |   16 +-
 vendor/common/{o2cb.init => o2cb.init.sh} |  935 ++++++++++++++++++------
 vendor/common/ocfs2-tools.spec-generic.in |    5 +-
 69 files changed, 9387 insertions(+), 732 deletions(-)
 create mode 100644 include/o2cb/o2cb_client_proto.h
 create mode 100644 libo2cb/client_proto.c
 create mode 100644 libo2dlm/libdlm-compat.h
 create mode 100644 mount.ocfs2/umount.ocfs2.c
 create mode 100644 ocfs2_controld/.gitignore
 create mode 100644 ocfs2_controld/Makefile
 create mode 100644 ocfs2_controld/ckpt.c
 create mode 100644 ocfs2_controld/cman.c
 create mode 100644 ocfs2_controld/cpg.c
 create mode 100644 ocfs2_controld/main.c
 create mode 100644 ocfs2_controld/mount.c
 create mode 100644 ocfs2_controld/ocfs2_controld.h
 create mode 100644 ocfs2_controld/test_client.c
 create mode 100644 tunefs.ocfs2/format_slotmap.c
 create mode 100644 vendor/common/51-ocfs2.rules
 rename vendor/common/{o2cb.init => o2cb.init.sh} (56%)
 mode change 100755 => 100644


hooks/post-receive
-- 
Tools to manage the ocfs2 filesystem.



More information about the Ocfs2-tools-commits mailing list