[Ocfs2-commits] branch, master, updated. ocfs2-1.4.0-194-gb039e12
svn-commits at oss.oracle.com
svn-commits at oss.oracle.com
Fri Sep 10 11:41:31 PDT 2010
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 "The ocfs2 filesystem version 1.4".
The branch, master has been updated
via b039e1273837897b12b0e346f2ba5982713b15f7 (commit)
via 3cff70f48aa965e164ba0ac09391548bc4cee1a8 (commit)
via f20faccc1b8b53a46ca689f935ac6eb42f6bd8be (commit)
via adbd097b5bdc15c999bc04b16c6fba379cd5d3f2 (commit)
via 28acbe2e4f1d6b7e7bcf119976569d633678b1af (commit)
via 455e632557b8fee5aca509e4972fcff70f648cf9 (commit)
via c3a349f623b5bc9b515d8ac5c470e7647056deba (commit)
via 65ec88ade8a117cc22d1436c8e609be8e4a4d211 (commit)
via ec21749a173f2e8fe9e4d738b5d98f5a0f5372a4 (commit)
via 68f0510742024af926fdc6f4e7840482aca21b22 (commit)
via ba7adb44b39047206991153965f7fb787963c1e7 (commit)
via f788717e606371093676b82aafe3aaf64cabd3b1 (commit)
via 94fe6d5860c8fff9180fd306c914c09a2192af5d (commit)
via 1f667766cb67ed05b4d706aa82e8ad0b12eaae8b (commit)
from a06eb712e0dd1e9fc911b15662eb9447f883712a (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 b039e1273837897b12b0e346f2ba5982713b15f7
Author: Tristan Ye <tristan.ye at oracle.com>
Date: Fri Sep 10 11:12:28 2010 -0700
o2net: Disallow o2net accept connection request from itself.
Mainline commit 415cf32c9cdfcc60f34d0ac17f29634e941ba7d2
Currently, o2net_accept_one() is allowed to accept a connection from
listening node itself, such a fake connection will not be successfully
established due to no handshake detected afterwards, and later end up
with triggering connecting worker in a loop.
We're going to fix this by treating such connection request as 'invalid',
since we've got no chance of requesting connection from a node to itself
in a OCFS2 cluster.
The fix doesn't hurt user's scan for o2net-listener, it always gets a
successful connection from userpace.
Signed-off-by: Tristan Ye <tristan.ye at oracle.com>
Acked-by: Sunil Mushran <sunil.mushran at oracle.com>
Signed-off-by: Joel Becker <joel.becker at oracle.com>
commit 3cff70f48aa965e164ba0ac09391548bc4cee1a8
Author: Wengang Wang <wen.gang.wang at oracle.com>
Date: Fri Sep 10 11:14:41 2010 -0700
ocfs2/dlm: remove potential deadlock -V3
Mainline commit b11f1f1ab73fd358b1b734a9427744802202ba68
When we need to take both dlm_domain_lock and dlm->spinlock, we should take
them in order of: dlm_domain_lock then dlm->spinlock.
There is pathes disobey this order. That is calling dlm_lockres_put() with
dlm->spinlock held in dlm_run_purge_list. dlm_lockres_put() calls dlm_put() at
the ref and dlm_put() locks on dlm_domain_lock.
Fix:
Don't grab/put the dlm when the initialising/releasing lockres.
That grab is not required because we don't call dlm_unregister_domain()
based on refcount.
Signed-off-by: Wengang Wang <wen.gang.wang at oracle.com>
Cc: stable at kernel.org
Signed-off-by: Joel Becker <joel.becker at oracle.com>
commit f20faccc1b8b53a46ca689f935ac6eb42f6bd8be
Author: Wengang Wang <wen.gang.wang at oracle.com>
Date: Fri Sep 10 11:15:02 2010 -0700
ocfs2/dlm: avoid incorrect bit set in refmap on recovery master
Mainline commit a524812b7eaa7783d7811198921100f079034e61
In the following situation, there remains an incorrect bit in refmap on the
recovery master. Finally the recovery master will fail at purging the lockres
due to the incorrect bit in refmap.
1) node A has no interest on lockres A any longer, so it is purging it.
2) the owner of lockres A is node B, so node A is sending de-ref message
to node B.
3) at this time, node B crashed. node C becomes the recovery master. it recovers
lockres A(because the master is the dead node B).
4) node A migrated lockres A to node C with a refbit there.
5) node A failed to send de-ref message to node B because it crashed. The failure
is ignored. no other action is done for lockres A any more.
For mormal, re-send the deref message to it to recovery master can fix it. Well,
ignoring the failure of deref to the original master and not recovering the lockres
to recovery master has the same effect. And the later is simpler.
Signed-off-by: Wengang Wang <wen.gang.wang at oracle.com>
Acked-by: Srinivas Eeda <srinivas.eeda at oracle.com>
Cc: stable at kernel.org
Signed-off-by: Joel Becker <joel.becker at oracle.com>
commit adbd097b5bdc15c999bc04b16c6fba379cd5d3f2
Author: Srinivas Eeda <srinivas.eeda at oracle.com>
Date: Fri Sep 10 11:15:20 2010 -0700
ocfs2 fix o2dlm dlm run purgelist (rev 3)
Mainline commit 7beaf243787f85a2ef9213ccf13ab4a243283fde
This patch fixes two problems in dlm_run_purgelist
1. If a lockres is found to be in use, dlm_run_purgelist keeps trying to purge
the same lockres instead of trying the next lockres.
2. When a lockres is found unused, dlm_run_purgelist releases lockres spinlock
before setting DLM_LOCK_RES_DROPPING_REF and calls dlm_purge_lockres.
spinlock is reacquired but in this window lockres can get reused. This leads
to BUG.
This patch modifies dlm_run_purgelist to skip lockres if it's in use and purge
next lockres. It also sets DLM_LOCK_RES_DROPPING_REF before releasing the
lockres spinlock protecting it from getting reused.
Signed-off-by: Srinivas Eeda <srinivas.eeda at oracle.com>
Acked-by: Sunil Mushran <sunil.mushran at oracle.com>
Cc: stable at kernel.org
Signed-off-by: Joel Becker <joel.becker at oracle.com>
commit 28acbe2e4f1d6b7e7bcf119976569d633678b1af
Author: Wengang Wang <wen.gang.wang at oracle.com>
Date: Fri Sep 10 11:15:51 2010 -0700
ocfs2/dlm: fix a dead lock
Mainline commit 6d98c3ccb52f692f1a60339dde7c700686a5568b
When we have to take both dlm->master_lock and lockres->spinlock,
take them in order
lockres->spinlock and then dlm->master_lock.
The patch fixes a violation of the rule.
We can simply move taking dlm->master_lock to where we have dropped res->spinlock
since when we access res->state and free mle memory we don't need master_lock's
protection.
Signed-off-by: Wengang Wang <wen.gang.wang at oracle.com>
Cc: stable at kernel.org
Signed-off-by: Joel Becker <joel.becker at oracle.com>
commit 455e632557b8fee5aca509e4972fcff70f648cf9
Author: Wengang Wang <wen.gang.wang at oracle.com>
Date: Fri Sep 10 11:16:14 2010 -0700
ocfs2/dlm: Remove BUG_ON from migration in the rare case of a down node
Mainline commit a39953dd95ff10e311083d94f4f95c348cb22464
For migration, we are waiting for DLM_LOCK_RES_MIGRATING flag to be set
before sending DLM_MIG_LOCKRES_MSG message to the target. We are using
dlm_migration_can_proceed() for that purpose. However, if the node is
down, dlm_migration_can_proceed() will also return "go ahead". In this
rare case, the DLM_LOCK_RES_MIGRATING flag might not be set yet. Remove
the BUG_ON() that trips over this condition.
Signed-off-by: Wengang Wang <wen.gang.wang at oracle.com>
Signed-off-by: Joel Becker <joel.becker at oracle.com>
commit c3a349f623b5bc9b515d8ac5c470e7647056deba
Author: Wengang Wang <wen.gang.wang at oracle.com>
Date: Fri Sep 10 11:28:32 2010 -0700
ocfs2/dlm: don't access beyond bitmap size
Mainline commit f471c9df922a80ca9af1d9a490b4aab3f990ec19
dlm->recovery_map is defined as
unsigned long recovery_map[BITS_TO_LONGS(O2NM_MAX_NODES)];
We should treat O2NM_MAX_NODES as the bit map size in bits.
This patches fixes a bit operation that takes O2NM_MAX_NODES + 1 as bitmap size.
Signed-off-by: Wengang Wang <wen.gang.wang at oracle.com>
Signed-off-by: Joel Becker <joel.becker at oracle.com>
commit 65ec88ade8a117cc22d1436c8e609be8e4a4d211
Author: Julia Lawall <julia at diku.dk>
Date: Fri Sep 10 11:16:26 2010 -0700
fs/ocfs2/dlm: Add missing spin_unlock
Mainline commit 6469272c350872980891dbe38e81c936c43f2d9b
Add a spin_unlock missing on the error path. Unlock as in the other code
that leads to the leave label.
The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@@
expression E1;
@@
* spin_lock(E1,...);
<+... when != E1
if (...) {
... when != E1
* return ...;
}
...+>
* spin_unlock(E1,...);
// </smpl>
Signed-off-by: Julia Lawall <julia at diku.dk>
Signed-off-by: Joel Becker <joel.becker at oracle.com>
commit ec21749a173f2e8fe9e4d738b5d98f5a0f5372a4
Author: Wengang Wang <wen.gang.wang at oracle.com>
Date: Fri Sep 10 11:16:30 2010 -0700
ocfs2:dlm: avoid dlm->ast_lock lockres->spinlock dependency break
Mainline commit d9ef75221a6247b758e1d7e18edb661996e4b7cf
Currently we process a dirty lockres with the lockres->spinlock taken. While
during the process, we may need to lock on dlm->ast_lock. This breaks the
dependency of dlm->ast_lock(lock first) and lockres->spinlock(lock second).
This patch fixes the problem.
Since we can't release lockres->spinlock, we have to take dlm->ast_lock
just before taking the lockres->spinlock and release it after lockres->spinlock
is released. And use __dlm_queue_bast()/__dlm_queue_ast(), the nolock version,
in dlm_shuffle_lists(). There are no too many locks on a lockres, so there is no
performance harm.
Signed-off-by: Wengang Wang <wen.gang.wang at oracle.com>
Signed-off-by: Joel Becker <joel.becker at oracle.com>
commit 68f0510742024af926fdc6f4e7840482aca21b22
Author: Julia Lawall <julia at diku.dk>
Date: Fri Sep 10 11:16:35 2010 -0700
fs/ocfs2/dlm: Use kstrdup
Mainline commit 316ce2ba8e74a7bb9153b9f93adc883cb1ceb9fd
Use kstrdup when the goal of an allocation is copy a string into the
allocated region.
The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@@
expression from,to;
expression flag,E1,E2;
statement S;
@@
- to = kmalloc(strlen(from) + 1,flag);
+ to = kstrdup(from, flag);
... when != \(from = E1 \| to = E1 \)
if (to==NULL || ...) S
... when != \(from = E2 \| to = E2 \)
- strcpy(to, from);
// </smpl>
Signed-off-by: Julia Lawall <julia at diku.dk>
Signed-off-by: Joel Becker <joel.becker at oracle.com>
commit ba7adb44b39047206991153965f7fb787963c1e7
Author: Julia Lawall <julia at diku.dk>
Date: Fri Sep 10 11:16:39 2010 -0700
fs/ocfs2/dlm: Drop memory allocation cast
Mainline commit 3914ed0cec6532ab4feb202424fc95ad05024497
Drop cast on the result of kmalloc and similar functions.
The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@@
type T;
@@
- (T *)
(\(kmalloc\|kzalloc\|kcalloc\|kmem_cache_alloc\|kmem_cache_zalloc\|
kmem_cache_alloc_node\|kmalloc_node\|kzalloc_node\)(...))
// </smpl>
Signed-off-by: Julia Lawall <julia at diku.dk>
Signed-off-by: Joel Becker <joel.becker at oracle.com>
commit f788717e606371093676b82aafe3aaf64cabd3b1
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date: Fri Sep 10 11:29:59 2010 -0700
ocfs2/dlm: Make o2dlm domain join/leave messages KERN_NOTICE
Mainline commit 5c80d4c9e5489d5930412add87501702fe5f93fb
o2dlm join and leave messages are more than informational as they are
required for debugging locking issues. This patch changes them from
KERN_INFO to KERN_NOTICE.
Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
Signed-off-by: Joel Becker <joel.becker at oracle.com>
commit 94fe6d5860c8fff9180fd306c914c09a2192af5d
Author: Srinivas Eeda <srinivas.eeda at oracle.com>
Date: Fri Sep 10 11:16:49 2010 -0700
o2net: log socket state changes
Mainline commit 23fd9abdc8f63c72fe3324e83d454ccecedaec37
This patch logs socket state changes that lead to socket shutdown.
Signed-off-by: Srinivas Eeda <srinivas.eeda at oracle.com>
Signed-off-by: Joel Becker <joel.becker at oracle.com>
commit 1f667766cb67ed05b4d706aa82e8ad0b12eaae8b
Author: Srinivas Eeda <srinivas.eeda at oracle.com>
Date: Fri Sep 10 11:16:54 2010 -0700
ocfs2: Fix a race in o2dlm lockres mastery
Mainline commit 14741472a05245ed5778aa0aec055e1f920b6ef8
In o2dlm, the master of a lock resource keeps a map of all interested
nodes. This prevents the master from purging the resource before an
interested node can create a lock.
A race between the mastery thread and the mastery handler allowed an
interested node to discover who the master is without informing the
master directly. This is easily fixed by holding the dlm spinlock a
little longer in the mastery handler.
Signed-off-by: Srinivas Eeda <srinivas.eeda at oracle.com>
Signed-off-by: Joel Becker <joel.becker at oracle.com>
-----------------------------------------------------------------------
Summary of changes:
fs/ocfs2/cluster/tcp.c | 20 +++++--
fs/ocfs2/dlm/dlmast.c | 4 +-
fs/ocfs2/dlm/dlmcommon.h | 2 +
fs/ocfs2/dlm/dlmdomain.c | 11 ++--
fs/ocfs2/dlm/dlmlock.c | 2 +-
fs/ocfs2/dlm/dlmmaster.c | 53 ++++++++----------
fs/ocfs2/dlm/dlmrecovery.c | 24 ++++-----
fs/ocfs2/dlm/dlmthread.c | 130 ++++++++++++++++++++++----------------------
8 files changed, 125 insertions(+), 121 deletions(-)
hooks/post-receive
--
The ocfs2 filesystem version 1.4
More information about the Ocfs2-commits
mailing list