[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