[Ocfs2-commits] branch, master, updated. ocfs2-1.4.0-114-g96cb761
svn-commits at oss.oracle.com
svn-commits at oss.oracle.com
Fri Apr 17 18:07:02 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 "The ocfs2 filesystem version 1.4".
The branch, master has been updated
via 96cb76137242e2a29cf80552ac364ec0cd679313 (commit)
via 33aa40ed04921d8da4fcc059d5c987137316c84e (commit)
via 951d9716c9d2d0ec3d717369a1b330068cf7249e (commit)
via cc6bb77df8b3ef933a428d1bc4f2e0f229f75899 (commit)
via 607f434070732655c2f5ca26f5fbe41909ebef63 (commit)
via b57885997a773ad52190c307642107158be7bded (commit)
via f098be0f6ecf371d18037307ae24545459ccbb83 (commit)
via 4d8f63079d2360dc6781f1c0f9bec4be911c2bdc (commit)
via 3f9ddd224b15d6387507f5ea779cc9ee52005183 (commit)
via c4534a5cbbbb98f30620f4a5b50733ece9ddae86 (commit)
via 2633c2afcc5dba4c9b74af53e7395990efd04d7e (commit)
via 805f2b576a150e962ba49ed7fba3af51af28f2e2 (commit)
via 12af190d87014b823892f8430bd823233d67b5da (commit)
via 7ea896ea31376d955ec2ca5c20b6028007cc8c51 (commit)
via f76196f17edb65c26a3b6969131c0488d290e845 (commit)
via b5b6eaff65ec728183f655f08c04551dd88e7b75 (commit)
via c676ef0bbe920c9b94e5248c109fd24db6f6a81c (commit)
via d0d2117c46ad3fa199cf3239021d92ade4425c34 (commit)
via c09bf40f1e5404723780f9166e0057a7ab56537c (commit)
via 1cd9f1f86a5e4557c0af5b81a13e67bbc889c7dd (commit)
via 95d17010c865a66496cd94572b87e59c5a994d22 (commit)
via 1e4db33dadc76f14b64a1e9b28d96cc327226c32 (commit)
via c87f7b9b3527619989e72050d9aef398ee0ef3cf (commit)
via 78667902808ada3bab401019c3a35c1d133ecb4f (commit)
via 101f90d66ca389386b49afeed8e23e17c643b1a4 (commit)
via f2a67413fd02ddd171225e8bba8098807011ad26 (commit)
from 99f8a0aed260820afb524a673677b3b4c806ec50 (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 96cb76137242e2a29cf80552ac364ec0cd679313
Author: Srinivas Eeda <srinivas.eeda at oracle.com>
Date: Wed Apr 15 15:21:13 2009 -0700
ocfs2: recover orphans in offline slots during recovery and mount
Mainline commit 9140db04ef185f934acf2b1b15b3dd5e6a6bfc22
During recovery, a node recovers orphans in it's slot and the dead node(s). But
if the dead nodes were holding orphans in offline slots, they will be left
unrecovered.
If the dead node is the last one to die and is holding orphans in other slots
and is the first one to mount, then it only recovers it's own slot, which
leaves orphans in offline slots.
This patch queues complete_recovery to clean orphans for all offline slots
during mount and node recovery.
Signed-off-by: Srinivas Eeda <srinivas.eeda at oracle.com>
commit 33aa40ed04921d8da4fcc059d5c987137316c84e
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date: Wed Apr 15 15:20:40 2009 -0700
ocfs2/dlm: Tweak mle_state output
Mainline commit 9405dccfd3201d2b76e120949bec81ba8cfbd2d0
The debugfs file, mle_state, now prints the number of largest number of mles
in one hash link.
Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
Signed-off-by: Mark Fasheh <mfasheh at suse.com>
commit 951d9716c9d2d0ec3d717369a1b330068cf7249e
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date: Wed Apr 15 15:20:34 2009 -0700
ocfs2/dlm: Do not purge lockres that is being migrated dlm_purge_lockres()
Mainline commit 516b7e52abc7efd61c084b217c61985a403828ed
This patch attempts to fix a fine race between purging and migration.
Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
Signed-off-by: Mark Fasheh <mfasheh at suse.com>
commit cc6bb77df8b3ef933a428d1bc4f2e0f229f75899
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date: Wed Apr 15 15:20:28 2009 -0700
ocfs2/dlm: Remove struct dlm_lock_name in struct dlm_master_list_entry
Mainline commit 7141514b8307734c117f100c4a3637887c5def45
This patch removes struct dlm_lock_name and adds the entries directly
to struct dlm_master_list_entry. Under the new scheme, both mles that
are backed by a lockres or not, will have the name populated in mle->mname.
This allows us to get rid of code that was figuring out the location of
the mle name.
Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
Signed-off-by: Mark Fasheh <mfasheh at suse.com>
commit 607f434070732655c2f5ca26f5fbe41909ebef63
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date: Wed Apr 15 15:20:22 2009 -0700
ocfs2/dlm: Show the number of lockres/mles in dlm_state
Mainline commit e64ff14607ac90b2f3349550a41cc8dc0c0b1324
This patch shows the number of lockres' and mles in the debugfs file, dlm_state.
Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
Signed-off-by: Mark Fasheh <mfasheh at suse.com>
commit b57885997a773ad52190c307642107158be7bded
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date: Wed Apr 15 15:20:12 2009 -0700
ocfs2/dlm: dlm_set_lockres_owner() and dlm_change_lockres_owner() inlined
Mainline commit 7d62a978a8c85cd82301615840d744f0d83b87e7
This patch inlines dlm_set_lockres_owner() and dlm_change_lockres_owner().
Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
Signed-off-by: Mark Fasheh <mfasheh at suse.com>
commit f098be0f6ecf371d18037307ae24545459ccbb83
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date: Wed Apr 15 15:20:06 2009 -0700
ocfs2/dlm: Improve lockres counts
Mainline commit 6800791ab773453bdec337efb3f0cec6557f3bb3
This patch replaces the lockres counts that tracked the number number of
locally and remotely mastered lockres' with a current and total count. The
total count is the number of lockres' that have been created since the dlm
domain was created.
The number of locally and remotely mastered counts can be computed using
the locking_state output.
Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
Signed-off-by: Mark Fasheh <mfasheh at suse.com>
commit 4d8f63079d2360dc6781f1c0f9bec4be911c2bdc
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date: Wed Apr 15 15:20:01 2009 -0700
ocfs2/dlm: Track number of mles
Mainline commit 2041d8fdcec7603401829f60810c1dbd5e96c043
The lifetime of a mle is limited to the duration of the lockres mastery
process. While typically this lifetime is fairly short, we have noticed
the number of mles explode under certain circumstances. This patch tracks
the number of each different types of mles and should help us determine
how best to speed up the mastery process.
Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
Signed-off-by: Mark Fasheh <mfasheh at suse.com>
commit 3f9ddd224b15d6387507f5ea779cc9ee52005183
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date: Wed Apr 15 15:19:55 2009 -0700
ocfs2/dlm: Indent dlm_cleanup_master_list()
Mainline commit 67ae1f0604da3bcf3ed6dec59ac71d07e54a404c
The previous patch explicitly did not indent dlm_cleanup_master_list()
so as to make the patch readable. This patch properly indents the
function.
Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
Signed-off-by: Mark Fasheh <mfasheh at suse.com>
commit c4534a5cbbbb98f30620f4a5b50733ece9ddae86
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date: Wed Apr 15 15:19:49 2009 -0700
ocfs2/dlm: Activate dlm->master_hash for master list entries
Mainline commit 2ed6c750d645d09b5948e46fada3ca1fda3157b5
With this patch, the mles are stored in a hash and not a simple list.
This should improve the mle lookup time when the number of outstanding
masteries is large.
Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
Signed-off-by: Mark Fasheh <mfasheh at suse.com>
commit 2633c2afcc5dba4c9b74af53e7395990efd04d7e
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date: Wed Apr 15 15:19:44 2009 -0700
ocfs2/dlm: Create and destroy the dlm->master_hash
Mainline commit e2b66ddcce922529e058cf74d839c4c49c8379a1
This patch adds code to create and destroy the dlm->master_hash.
Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
Signed-off-by: Mark Fasheh <mfasheh at suse.com>
commit 805f2b576a150e962ba49ed7fba3af51af28f2e2
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date: Wed Apr 15 15:19:37 2009 -0700
ocfs2/dlm: Refactor dlm_clean_master_list()
Mainline commit c2cd4a44333034203cb198915e2b75c3227d41bf
This patch refactors dlm_clean_master_list() so as to make it
easier to convert the mle list to a hash.
Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
Signed-off-by: Mark Fasheh <mfasheh at suse.com>
commit 12af190d87014b823892f8430bd823233d67b5da
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date: Wed Apr 15 15:19:28 2009 -0700
ocfs2/dlm: Clean up struct dlm_lock_name
Mainline commit f77a9a78c3a1d995b3bf948dbcad5c4a1b2302d5
For master mle, the name it stored in the attached lockres in struct qstr.
For block and migration mle, the name is stored inline in struct dlm_lock_name.
This patch attempts to make struct dlm_lock_name look like a struct qstr. While
we could use struct qstr, we don't because we want to avoid having to malloc
and free the lockname string as the mle's lifetime is fairly short.
Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
Signed-off-by: Mark Fasheh <mfasheh at suse.com>
commit 7ea896ea31376d955ec2ca5c20b6028007cc8c51
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date: Wed Apr 15 15:19:22 2009 -0700
ocfs2/dlm: Encapsulate adding and removing of mle from dlm->master_list
Mainline commit 1c0845773ad9f4875603b752235aea8aa04565f3
This patch encapsulates adding and removing of the mle from the
dlm->master_list. This patch is part of the series of patches that
converts the mle list to a mle hash.
Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
Signed-off-by: Mark Fasheh <mfasheh at suse.com>
commit f76196f17edb65c26a3b6969131c0488d290e845
Author: Tao Ma <tao.ma at oracle.com>
Date: Wed Apr 15 15:21:08 2009 -0700
ocfs2: Optimize inode group allocation by recording last used group.
Mainline commit feb473a6e8bd19297d0f3bb377b25055c0228c0a
In ocfs2, the block group search looks for the "emptiest" group
to allocate from. So if the allocator has many equally(or almost
equally) empty groups, new block group will tend to get spread
out amongst them.
So we add osb_inode_alloc_group in ocfs2_super to record the last
used inode allocation group.
For more details, please see
http://oss.oracle.com/osswiki/OCFS2/DesignDocs/InodeAllocationStrategy.
Signed-off-by: Tao Ma <tao.ma at oracle.com>
commit b5b6eaff65ec728183f655f08c04551dd88e7b75
Author: Tao Ma <tao.ma at oracle.com>
Date: Wed Apr 15 15:20:57 2009 -0700
ocfs2: Allocate inode groups from global_bitmap.
Mainline commit 60ca81e82dae4aa2e8ae84cf96b4d08535931669
Inode groups used to be allocated from local alloc file,
but since we want all inodes to be contiguous enough, we
will try to allocate them directly from global_bitmap.
Signed-off-by: Tao Ma <tao.ma at oracle.com>
commit c676ef0bbe920c9b94e5248c109fd24db6f6a81c
Author: Tao Ma <tao.ma at oracle.com>
Date: Wed Apr 15 15:20:51 2009 -0700
ocfs2: Optimize inode allocation by remembering last group
Mainline commit 138211515c102807a16c02fdc15feef1f6ef8124
In ocfs2, the inode block search looks for the "emptiest" inode
group to allocate from. So if an inode alloc file has many equally
(or almost equally) empty groups, new inodes will tend to get
spread out amongst them, which in turn can put them all over the
disk. This is undesirable because directory operations on conceptually
"nearby" inodes force a large number of seeks.
So we add ip_last_used_group in core directory inodes which records
the last used allocation group. Another field named ip_last_used_slot
is also added in case inode stealing happens. When claiming new inode,
we passed in directory's inode so that the allocation can use this
information.
For more details, please see
http://oss.oracle.com/osswiki/OCFS2/DesignDocs/InodeAllocationStrategy.
Signed-off-by: Tao Ma <tao.ma at oracle.com>
commit d0d2117c46ad3fa199cf3239021d92ade4425c34
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date: Wed Apr 15 15:18:17 2009 -0700
ocfs2: Remove debugfs file local_alloc_stats
Mainline commit 59b526a30722f29e5dba6210a6e0fc34e3149b94
This patch removes the debugfs file local_alloc_stats as that information
is now included in the fs_state debugfs file.
Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
Signed-off-by: Mark Fasheh <mfasheh at suse.com>
commit c09bf40f1e5404723780f9166e0057a7ab56537c
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date: Wed Apr 15 15:18:01 2009 -0700
ocfs2: Expose the file system state via debugfs
Mainline commit 50397507e856455b3f5cb3d5c7c482209f9e46a0
This patch creates a per mount debugfs file, fs_state, which exposes
information like, cluster stack in use, states of the downconvert, recovery
and commit threads, number of journal txns, some allocation stats, list of
all slots, etc.
Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
Signed-off-by: Mark Fasheh <mfasheh at suse.com>
commit 1cd9f1f86a5e4557c0af5b81a13e67bbc889c7dd
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date: Wed Apr 15 15:16:38 2009 -0700
ocfs2/hb: Expose the list of heartbeating nodes via debugfs
Mainline commit 87d3d3f3931f3e0fca44fbb5c06ad45fc4dca9bc
This patch creates a debugfs file, o2hb/livesnodes, which exposes the
aggregate list of heartbeating node across all heartbeat regions.
Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
Signed-off-by: Mark Fasheh <mfasheh at suse.com>
commit 95d17010c865a66496cd94572b87e59c5a994d22
Author: wengang wang <wen.gang.wang at oracle.com>
Date: Wed Apr 15 15:19:15 2009 -0700
ocfs2: add IO error check in ocfs2_get_sector()
Mainline commit 28d57d437786eb3e44f1ca3f0f41e7cfe29c6dd4
Check for IO error in ocfs2_get_sector().
Signed-off-by: Wengang Wang <wen.gang.wang at oracle.com>
Signed-off-by: Mark Fasheh <mfasheh at suse.com>
commit 1e4db33dadc76f14b64a1e9b28d96cc327226c32
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date: Wed Apr 15 15:19:08 2009 -0700
ocfs2/dlm: Make dlm_assert_master_handler() kill itself instead of the asserter
Mainline commit 53ecd25e148615e0ed2a72635cc76f4773f97f90
In dlm_assert_master_handler(), if we get an incorrect assert master from a node
that, we reply with EINVAL asking the asserter to die. The problem is that an
assert is sent after so many hoops, it is invariably the node that thinks the
asserter is wrong, is actually wrong. So instead of killing the asserter, this
patch kills the assertee.
This patch papers over a race that is still being addressed.
Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
Acked-by: Joel Becker <joel.becker at oracle.com>
Signed-off-by: Mark Fasheh <mfasheh at suse.com>
commit c87f7b9b3527619989e72050d9aef398ee0ef3cf
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date: Wed Apr 15 15:18:48 2009 -0700
ocfs2/dlm: Use ast_lock to protect ast_list
Mainline commit dabc47de7a23f57522dc762d9d2ad875700d3497
The code was using dlm->spinlock instead of dlm->ast_lock to protect the
ast_list. This patch fixes the issue.
Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
Acked-by: Joel Becker <joel.becker at oracle.com>
Signed-off-by: Mark Fasheh <mfasheh at suse.com>
commit 78667902808ada3bab401019c3a35c1d133ecb4f
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date: Wed Apr 15 15:18:35 2009 -0700
ocfs2: Cleanup the lockname print in dlmglue.c
Mainline commit c74ff8bb2235d848beb67fcfddae71ecbe3f92b1
The dentry lock has a different format than other locks. This patch fixes
ocfs2_log_dlm_error() macro to make it print the dentry lock correctly.
Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
Acked-by: Joel Becker <joel.becker at oracle.com>
Signed-off-by: Mark Fasheh <mfasheh at suse.com>
commit 101f90d66ca389386b49afeed8e23e17c643b1a4
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date: Wed Apr 15 15:18:25 2009 -0700
ocfs2/dlm: Retract fix for race between purge and migrate
Mainline commit 7dc102b737e9f49dac426161294cb2d326a97d8e
Mainline commit d4f7e650e55af6b235871126f747da88600e8040 attempts to delay
the dlm_thread from sending the drop ref message if the lockres is being
migrated. The problem is that we make the dlm_thread wait for the migration
to complete. This causes a deadlock as dlm_thread also participates in the
lockres migration process.
A better fix for the original oss bugzilla#1012 is in testing.
Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
Acked-by: Joel Becker <joel.becker at oracle.com>
Signed-off-by: Mark Fasheh <mfasheh at suse.com>
commit f2a67413fd02ddd171225e8bba8098807011ad26
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date: Wed Apr 15 15:17:38 2009 -0700
ocfs2: Wakeup the downconvert thread after a successful cancel convert
Mainline commit a4b91965d39d5d53b470d6aa62cba155a6f3ffe1
When two nodes holding PR locks on a resource concurrently attempt to
upconvert the locks to EX, the master sends a BAST to one of the nodes. This
message tells that node to first cancel convert the upconvert request,
followed by downconvert to a NL. Only when this lock is downconverted to NL,
can the master upconvert the first node's lock to EX.
While the fs was doing the cancel convert, it was forgetting to wake up the
dc thread after a successful cancel, leading to a deadlock.
Reported-and-Tested-by: David Teigland <teigland at redhat.com>
Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
Signed-off-by: Mark Fasheh <mfasheh at suse.com>
-----------------------------------------------------------------------
Summary of changes:
fs/ocfs2/cluster/heartbeat.c | 96 ++++++++++-
fs/ocfs2/cluster/heartbeat.h | 3 +-
fs/ocfs2/cluster/nodemanager.c | 9 +-
fs/ocfs2/dlm/dlmcommon.h | 58 ++++--
fs/ocfs2/dlm/dlmdebug.c | 87 ++++++----
fs/ocfs2/dlm/dlmdomain.c | 29 +++-
fs/ocfs2/dlm/dlmmaster.c | 399 ++++++++++++++++++++--------------------
fs/ocfs2/dlm/dlmthread.c | 23 ++-
fs/ocfs2/dlm/dlmunlock.c | 4 +-
fs/ocfs2/dlmglue.c | 20 ++-
fs/ocfs2/inode.c | 2 +
fs/ocfs2/inode.h | 4 +
fs/ocfs2/journal.c | 141 ++++++++++++--
fs/ocfs2/journal.h | 2 +
fs/ocfs2/localalloc.c | 86 ---------
fs/ocfs2/namei.c | 4 +-
fs/ocfs2/ocfs2.h | 11 +-
fs/ocfs2/suballoc.c | 106 +++++++++--
fs/ocfs2/suballoc.h | 2 +
fs/ocfs2/super.c | 178 ++++++++++++++++++
20 files changed, 875 insertions(+), 389 deletions(-)
hooks/post-receive
--
The ocfs2 filesystem version 1.4
More information about the Ocfs2-commits
mailing list