#include "MetaRequest.h"
#undef dout_prefix
-#define dout_prefix *_dout << "client" << whoami << " "
+#define dout_prefix *_dout << "client." << whoami << " "
#define tout(cct) if (!cct->_conf->client_trace.empty()) traceout
#define DOUT_SUBSYS client
#undef dout_prefix
-#define dout_prefix *_dout << "client" << (whoami >= 0 ? whoami:client->get_nodeid()) << " "
+#define dout_prefix *_dout << "client." << (whoami >= 0 ? whoami:client->get_nodeid()) << " "
// traces
//void trace_include(SyntheticClient *syn, Client *cl, string& prefix);
fp_mount_point = mount_point;
- cerr << "ldceph init: mounted on " << mount_point << " as client" << client->get_nodeid() << std::endl;
+ cerr << "ldceph init: mounted on " << mount_point << " as client." << client->get_nodeid() << std::endl;
refresh_cwd();
}
if (client_lease_map.count(c))
l = client_lease_map[c];
else {
- dout(20) << "add_client_lease client" << c << " on " << lock << dendl;
+ dout(20) << "add_client_lease client." << c << " on " << lock << dendl;
if (client_lease_map.empty())
get(PIN_CLIENTLEASE);
l = client_lease_map[c] = new ClientLease(c, this);
bool gather = false;
- dout(20) << "remove_client_lease client" << l->client << " on " << lock << dendl;
+ dout(20) << "remove_client_lease client." << l->client << " on " << lock << dendl;
lock.put_client_lease();
if (lock.get_num_client_lease() == 0 && !lock.is_stable())
gather = true;
void CInode::add_need_snapflush(CInode *snapin, snapid_t snapid, client_t client)
{
- dout(10) << "add_need_snapflush client" << client << " snapid " << snapid << " on " << snapin << dendl;
+ dout(10) << "add_need_snapflush client." << client << " snapid " << snapid << " on " << snapin << dendl;
if (client_need_snapflush.empty()) {
get(CInode::PIN_NEEDSNAPFLUSH);
void CInode::remove_need_snapflush(CInode *snapin, snapid_t snapid, client_t client)
{
- dout(10) << "remove_need_snapflush client" << client << " snapid " << snapid << " on " << snapin << dendl;
+ dout(10) << "remove_need_snapflush client." << client << " snapid " << snapid << " on " << snapin << dendl;
set<client_t>& clients = client_need_snapflush[snapid];
clients.erase(client);
if (clients.empty()) {
if (in->is_auth() && in->is_head()) {
if (in->choose_ideal_loner() >= 0) {
if (in->try_set_loner()) {
- dout(10) << "eval set loner to client" << in->get_loner() << dendl;
+ dout(10) << "eval set loner to client." << in->get_loner() << dendl;
need_issue = true;
mask = -1;
} else
- dout(10) << "eval want loner client" << in->get_wanted_loner() << " but failed to set it" << dendl;
+ dout(10) << "eval want loner client." << in->get_wanted_loner() << " but failed to set it" << dendl;
} else
dout(10) << "eval doesn't want loner" << dendl;
}
client_t loner = in->get_loner();
if (loner >= 0) {
- dout(7) << "issue_caps loner client" << loner
+ dout(7) << "issue_caps loner client." << loner
<< " allowed=" << ccap_string(loner_allowed)
<< ", xlocker allowed=" << ccap_string(xlocker_allowed)
<< ", others allowed=" << ccap_string(all_allowed)
int pending = cap->pending();
int wanted = cap->wanted();
- dout(20) << " client" << it->first
+ dout(20) << " client." << it->first
<< " pending " << ccap_string(pending)
<< " allowed " << ccap_string(allowed)
<< " wanted " << ccap_string(wanted)
// skip if suppress, and not revocation
if (cap->is_suppress() && !(pending & ~allowed)) {
- dout(20) << " suppressed and !revoke, skipping client" << it->first << dendl;
+ dout(20) << " suppressed and !revoke, skipping client." << it->first << dendl;
continue;
}
int after = cap->pending();
if (seq > 0) {
- dout(7) << " sending MClientCaps to client" << it->first
+ dout(7) << " sending MClientCaps to client." << it->first
<< " seq " << cap->get_last_seq()
<< " new pending " << ccap_string(after) << " was " << ccap_string(before)
<< dendl;
if (cap->is_suppress())
continue;
if (cap->pending() & (CEPH_CAP_FILE_WR|CEPH_CAP_FILE_BUFFER)) {
- dout(10) << "share_inode_max_size with client" << client << dendl;
+ dout(10) << "share_inode_max_size with client." << client << dendl;
MClientCaps *m = new MClientCaps(CEPH_CAP_OP_GRANT,
in->ino(),
in->find_snaprealm()->inode->ino(),
void Locker::_do_null_snapflush(CInode *head_in, client_t client, snapid_t follows)
{
- dout(10) << "_do_null_snapflish client" << client << " follows " << follows << " on " << *head_in << dendl;
+ dout(10) << "_do_null_snapflish client." << client << " follows " << follows << " on " << *head_in << dendl;
map<snapid_t, set<client_t> >::iterator p = head_in->client_need_snapflush.begin();
while (p != head_in->client_need_snapflush.end()) {
snapid_t snapid = p->first;
if (follows > snapid)
break;
if (clients.count(client)) {
- dout(10) << " doing async NULL snapflush on " << snapid << " from client" << client << dendl;
+ dout(10) << " doing async NULL snapflush on " << snapid << " from client." << client << dendl;
CInode *sin = mdcache->get_inode(head_in->ino(), snapid);
if (!sin) {
// hrm, look forward until we find the inode.
if (!cap && in != head_in)
cap = head_in->get_client_cap(client);
if (!cap) {
- dout(7) << "handle_client_caps no cap for client" << client << " on " << *in << dendl;
+ dout(7) << "handle_client_caps no cap for client." << client << " on " << *in << dendl;
m->put();
return;
}
(head_in->client_need_snapflush.count(snap) &&
head_in->client_need_snapflush[snap].count(client))) {
dout(7) << " flushsnap snap " << snap
- << " client" << client << " on " << *in << dendl;
+ << " client." << client << " on " << *in << dendl;
// this cap now follows a later snap (i.e. the one initiating this flush, or later)
cap->client_follows = MAX(follows, in->first) + 1;
head_in->remove_need_snapflush(in, snap, client);
} else
- dout(7) << " not expecting flushsnap " << snap << " from client" << client << " on " << *in << dendl;
+ dout(7) << " not expecting flushsnap " << snap << " from client." << client << " on " << *in << dendl;
goto out;
}
}
if (m->get_dirty() && in->is_auth()) {
- dout(7) << " flush client" << client << " dirty " << ccap_string(m->get_dirty())
+ dout(7) << " flush client." << client << " dirty " << ccap_string(m->get_dirty())
<< " seq " << m->get_seq() << " on " << *in << dendl;
ack = new MClientCaps(CEPH_CAP_OP_FLUSH_ACK, in->ino(), 0, cap->get_cap_id(), m->get_seq(),
m->get_caps(), 0, m->get_dirty(), 0);
dn->remove_client_lease(l, this);
}
} else {
- mds->clog.warn() << "client" << client << " released lease on dn "
+ mds->clog.warn() << "client." << client << " released lease on dn "
<< dir->dirfrag() << "/" << dname << " which dne\n";
}
}
if (!cap)
return;
- dout(10) << "process_cap_update client" << client << " " << ccap_string(caps) << " on " << *in
+ dout(10) << "process_cap_update client." << client << " " << ccap_string(caps) << " on " << *in
<< (mdr ? "" : " (DEFERRED, no mdr)")
<< dendl;
// replica and lock
ClientLease *l = dn->get_client_lease(client);
if (!l) {
- dout(7) << "handle_client_lease didn't have lease for client" << client << " of " << *dn << dendl;
+ dout(7) << "handle_client_lease didn't have lease for client." << client << " of " << *dn << dendl;
m->put();
return;
}
if (l->seq != m->get_seq()) {
dout(7) << "handle_client_lease release - seq " << l->seq << " != provided " << m->get_seq() << dendl;
} else {
- dout(7) << "handle_client_lease client" << client
+ dout(7) << "handle_client_lease client." << client
<< " on " << *dn << dendl;
dn->remove_client_lease(l, this);
}
case CEPH_MDS_LEASE_RENEW:
{
- dout(7) << "handle_client_lease client" << client
+ dout(7) << "handle_client_lease client." << client
<< " renew on " << *dn << dendl;
int pool = 1; // fixme.. do something smart!
m->h.duration_ms = (int)(1000 * mdcache->client_lease_durations[pool]);
oldin->auth_pin(lock);
lock->set_state(LOCK_SNAP_SYNC); // gathering
lock->get_wrlock(true);
- dout(10) << " client" << client << " cap " << ccap_string(issued & cinode_lock_info[i].wr_caps)
+ dout(10) << " client." << client << " cap " << ccap_string(issued & cinode_lock_info[i].wr_caps)
<< " wrlock lock " << *lock << " on " << *oldin << dendl;
}
}
in->add_need_snapflush(oldin, *q, client);
}
} else {
- dout(10) << " ignoring client" << client << " cap follows " << cap->client_follows << dendl;
+ dout(10) << " ignoring client." << client << " cap follows " << cap->client_follows << dendl;
}
}
for (map<client_t,ceph_mds_cap_reconnect>::iterator q = p->second.begin();
q != p->second.end();
++q) {
- dout(10) << " claiming cap import " << p->first << " client" << q->first << " on " << *in << dendl;
+ dout(10) << " claiming cap import " << p->first << " client." << q->first << " on " << *in << dendl;
rejoin_import_cap(in, q->first, q->second, from);
}
}
for (map<client_t,ceph_mds_cap_reconnect>::iterator q = p->second.begin();
q != p->second.end();
++q) {
- dout(10) << " claiming cap import " << p->first << " client" << q->first << dendl;
+ dout(10) << " claiming cap import " << p->first << " client." << q->first << dendl;
cap_imports[p->first][q->first][from] = q->second;
}
}
for (map<int,ceph_mds_cap_reconnect>::iterator r = q->second.begin();
r != q->second.end();
++r) {
- dout(20) << " add_reconnected_cap " << in->ino() << " client" << q->first << dendl;
+ dout(20) << " add_reconnected_cap " << in->ino() << " client." << q->first << dendl;
add_reconnected_cap(in, q->first, inodeno_t(r->second.snaprealm));
rejoin_import_cap(in, q->first, r->second, r->first);
}
q != p->second.end();
q++) {
if (q->second == realm->inode->ino()) {
- dout(15) << " client" << q->first << " has correct realm " << q->second << dendl;
+ dout(15) << " client." << q->first << " has correct realm " << q->second << dendl;
} else {
- dout(15) << " client" << q->first << " has wrong realm " << q->second
+ dout(15) << " client." << q->first << " has wrong realm " << q->second
<< " != " << realm->inode->ino() << dendl;
if (realm->have_past_parents_open()) {
// ok, include in a split message _now_.
p++) {
Session *session = mds->sessionmap.get_session(entity_name_t::CLIENT(p->first.v));
if (session) {
- dout(10) << " client" << p->first
+ dout(10) << " client." << p->first
<< " split " << p->second->head.split
<< " inos " << p->second->split_inos
<< dendl;
mds->send_message_client_counted(p->second, session);
} else {
- dout(10) << " no session for client" << p->first << dendl;
+ dout(10) << " no session for client." << p->first << dendl;
p->second->put();
}
}
void MDCache::rejoin_import_cap(CInode *in, client_t client, ceph_mds_cap_reconnect& icr, int frommds)
{
- dout(10) << "rejoin_import_cap for client" << client << " from mds." << frommds
+ dout(10) << "rejoin_import_cap for client." << client << " from mds." << frommds
<< " on " << *in << dendl;
Session *session = mds->sessionmap.get_session(entity_name_t::CLIENT(client.v));
assert(session);
ceph_mds_cap_reconnect *rc = get_replay_cap_reconnect(in->ino(), client);
if (rc) {
in->reconnect_cap(client, *rc, session);
- dout(10) << "try_reconnect_cap client" << client
+ dout(10) << "try_reconnect_cap client." << client
<< " reconnect wanted " << ccap_string(rc->wanted)
<< " issue " << ccap_string(rc->issued)
<< " on " << *in << dendl;
void MDCache::finish_snaprealm_reconnect(client_t client, SnapRealm *realm, snapid_t seq)
{
if (seq < realm->get_newest_seq()) {
- dout(10) << "finish_snaprealm_reconnect client" << client << " has old seq " << seq << " < "
+ dout(10) << "finish_snaprealm_reconnect client." << client << " has old seq " << seq << " < "
<< realm->get_newest_seq()
<< " on " << *realm << dendl;
// send an update
dout(10) << " ...or not, no session for this client!" << dendl;
}
} else {
- dout(10) << "finish_snaprealm_reconnect client" << client << " up to date"
+ dout(10) << "finish_snaprealm_reconnect client." << client << " up to date"
<< " on " << *realm << dendl;
}
}
p++) {
Capability *cap = in->get_client_cap(p->first);
if (!cap) {
- dout(10) << " client" << p->first << " has range " << p->second << " but no cap on " << *in << dendl;
+ dout(10) << " client." << p->first << " has range " << p->second << " but no cap on " << *in << dendl;
recover = true;
break;
}
ClientLease *r = client_leases[pool].front();
if (r->ttl > now) break;
CDentry *dn = (CDentry*)r->parent;
- dout(10) << " expiring client" << r->client << " lease of " << *dn << dendl;
+ dout(10) << " expiring client." << r->client << " lease of " << *dn << dendl;
dn->remove_client_lease(r, mds->locker);
}
int after = client_leases[pool].size();
if (sessionmap.have_session(entity_name_t::CLIENT(client.v))) {
send_message_client_counted(m, sessionmap.get_session(entity_name_t::CLIENT(client.v)));
} else {
- dout(10) << "send_message_client_counted no session for client" << client << " " << *m << dendl;
+ dout(10) << "send_message_client_counted no session for client." << client << " " << *m << dendl;
}
}
it != in->client_caps.end();
it++) {
Capability *cap = it->second;
- dout(7) << "finish_export_inode telling client" << it->first
+ dout(7) << "finish_export_inode telling client." << it->first
<< " exported caps on " << *in << dendl;
MClientCaps *m = new MClientCaps(CEPH_CAP_OP_EXPORT,
in->ino(),
for (map<client_t,Capability::Export>::iterator it = cap_map.begin();
it != cap_map.end();
it++) {
- dout(10) << "finish_import_inode_caps for client" << it->first << " on " << *in << dendl;
+ dout(10) << "finish_import_inode_caps for client." << it->first << " on " << *in << dendl;
Session *session = mds->sessionmap.get_session(entity_name_t::CLIENT(it->first.v));
assert(session);