mirror of
https://github.com/ceph/ceph
synced 2025-02-05 18:03:54 +00:00
*** empty log message ***
git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@100 29311d96-e01e-0410-9327-a35deaab8ce9
This commit is contained in:
parent
76eddbff13
commit
20125b93f6
@ -17,6 +17,10 @@ ISSUES
|
||||
|
||||
- is it practical for replicas to not know who the authority is?
|
||||
|
||||
- better authority knowledge of replicas, especially with
|
||||
- sync
|
||||
- lock
|
||||
??
|
||||
|
||||
FIX
|
||||
- hash+export: encode list of replicated dir inodes so they can be discovered before import is procesed.
|
||||
|
@ -20,7 +20,7 @@ md_config_t g_conf = {
|
||||
|
||||
client_cache_size: 100,
|
||||
client_cache_mid: .5,
|
||||
client_requests: 1000,
|
||||
client_requests: 5000,
|
||||
|
||||
log_messages: true,
|
||||
log_interval: 10.0,
|
||||
@ -31,7 +31,7 @@ md_config_t g_conf = {
|
||||
|
||||
fake_clock: true,
|
||||
|
||||
debug: 11,
|
||||
debug: 10,
|
||||
|
||||
mdcache_size: MDS_CACHE_SIZE,
|
||||
mdcache_mid: .8,
|
||||
@ -42,6 +42,6 @@ md_config_t g_conf = {
|
||||
mdbal_replicate_threshold: 500,
|
||||
mdbal_unreplicate_threshold: 200,
|
||||
|
||||
mds_heartbeat_op_interval: 50
|
||||
mds_heartbeat_op_interval: 5000
|
||||
};
|
||||
|
||||
|
@ -19,7 +19,9 @@ ostream& operator<<(ostream& out, CDir& dir)
|
||||
{
|
||||
string path;
|
||||
dir.get_inode()->make_path(path);
|
||||
return out << "[dir " << dir.ino() << " " << path << "/]";
|
||||
out << "[dir " << dir.ino() << " " << path;
|
||||
if (dir.is_import()) out << " IMPORT";
|
||||
return out << "/]";
|
||||
}
|
||||
|
||||
|
||||
|
@ -2753,7 +2753,7 @@ void MDCache::handle_export_dir(MExportDir *m)
|
||||
CDir *dir = idir->dir;
|
||||
|
||||
int oldauth = m->get_source();
|
||||
dout(7) << "handle_export_dir, import_dir " << *dir << " from " << oldauth << endl;
|
||||
dout(7) << "handle_export_dir, import " << *dir << " from " << oldauth << endl;
|
||||
assert(dir->is_auth() == false);
|
||||
|
||||
show_imports();
|
||||
@ -2791,6 +2791,8 @@ void MDCache::handle_export_dir(MExportDir *m)
|
||||
dir->inode->get(CINODE_PIN_IMPORT); // must keep it pinned
|
||||
|
||||
containing_import = dir; // imported exports nested under *in
|
||||
|
||||
dout(7) << " new import at " << *dir << endl;
|
||||
}
|
||||
|
||||
// i shouldn't be waiting for any ReplicateHashedAck's yet
|
||||
@ -3206,7 +3208,7 @@ void MDCache::handle_export_dir_notify(MExportDirNotify *m)
|
||||
// yay, we're the authority
|
||||
dout(7) << "handle_export_dir_notify on " << *in << " new_auth " << m->get_new_auth() << " updated, telling replicas" << endl;
|
||||
|
||||
assert(in->dir_auth != mds->get_nodeid() || in->is_hashed()); // shouldn't explicitly refer to self
|
||||
assert(in->dir_auth != mds->get_nodeid() || in->dir_is_hashed()); // shouldn't explicitly refer to self
|
||||
|
||||
bool wasmine = in->dir_authority(mds->get_cluster()) == mds->get_nodeid();
|
||||
if (wasmine) {
|
||||
|
Loading…
Reference in New Issue
Block a user