[Ocfs2-tools-commits] branch, controld-fixes, created. ocfs2-tools-1.4.0-265-g8578c6b

svn-commits at oss.oracle.com svn-commits at oss.oracle.com
Wed Apr 8 15:21:13 PDT 2009


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, controld-fixes has been created
        at  8578c6bd2606638634f62f7b86885a5d9046c733 (commit)

- Log -----------------------------------------------------------------
commit 8578c6bd2606638634f62f7b86885a5d9046c733
Author: Joel Becker <joel.becker at oracle.com>
Date:   Thu Mar 12 18:20:22 2009 -0700

    ocfs2_controld: Retry the global checkpoint until it's installed.
    
    The global checkpoint is installed by the first ocfs2_controld to join
    the group.  It's read by every subsequent ocfs2_controld to join the
    group.  However, if they are all starting at the same time, the
    subsequent daemons may try to read the global checkpoint before the
    first daemon is finished installing it.
    
    We teach the subsequent daemons to keep retrying until the global
    checkpoint is installed.  If the first daemon dies before installing the
    checkpoint, the subsequent daemons will give up.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 91ee910e6da866bde9f7abdcd6f3d78349f9697c
Author: Joel Becker <joel.becker at oracle.com>
Date:   Thu Mar 12 18:02:59 2009 -0700

    ocfs2_controld: Retry CKPT operations indefinitely.
    
    The CKPT service code assumed that TRY_AGAIN was a rare case.  However,
    openais returns TRY_AGAIN whenever it's busy doing anything.  So we
    can't just retry twice and give up.
    
    It's safe to retry indefinitely in the face of TRY_AGAIN, so we'll do
    so.  During initialization, we won't be allowing mounts yet.  During
    shutdown, we want to wait for shutdown.  Any time, the process can be
    killed.
    
    We're also going to wait indefinitely when we see EEXIST while creating
    a checkpoint.  EEXIST means one of two things:
    
     1) Another daemon is up and running.  This one is just going to sit
        here printing to the log until it's killed or the other one dies.
        This will confuse people; they'll stop the running daemon, but not
        be able to unload the stack.  We have to do this because of the
        second reason.
    
     2) The daemon was stopped and then immediately restarted.  AIS cleans
        up the checkpoint in a lazy fashion, so there is no guarantee the
        checkpoint is gone by the time the new daemon starts up.  So we can
        get an EEXIST for a little while until AIS gets around to the
        cleanup.  Because scheduling, etc, can take a while, we don't know
        how long that will be.  So we keep retrying.  Eventually, AIS will
        clean up the checkpoint from the daemon that exited and let us
        create our new one.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 61f2711aae1d4e5ba61e14863ceaab444dae5314
Author: Joel Becker <joel.becker at oracle.com>
Date:   Thu Mar 12 18:00:13 2009 -0700

    ocfs2_controld: Add a couple helpers for functions that retry operations
    
    Add a helper function to sleep for a certain number of milliseconds, and
    add another function that will increase a count, printing an error
    whenever that count is a power of two.  eg:
    
        retry_warning(retrycount, "Still trying to do this operation");
    
    This increments retrycount every time it is called, but only prints the
    log_error() when retrycount is a power of two.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 4e5cc45662fd9cf20b93cd852cc9535a5ee27078
Author: Coly Li <coly.li at suse.de>
Date:   Sat Mar 7 21:11:14 2009 +0800

    ocfs2-tools: Use open64() when opening large files
    
    ocfs2-tools usually is opening devices.  In the modern world, they are
    almost always larger than 2GB.  Thus ocfs2-tools needs to use the
    64bit loff_t.
    
    This patch changes some missed open() calls to open64().
    
    Signed-off-by: Coly Li <coly.li at suse.de>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 50150f2825d0f57414b66c783a28104debf046d9
Author: Joel Becker <joel.becker at oracle.com>
Date:   Wed Mar 11 18:04:17 2009 -0700

    libocfs2: Fix errno return from ocfs2_get_device_sectsize()
    
    ocfs2_get_device_sectsize() is declared as returning errcode_t, but it
    was returning a raw errno when open64() failed.  Let's give it a proper
    error.
    
    Signed-off-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Tao Ma <tao.ma at oracle.com>

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


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



More information about the Ocfs2-tools-commits mailing list