if (dn.is_auth_pinned())
out << " ap=" << dn.get_num_auth_pins() << "+" << dn.get_num_nested_auth_pins();
- out << " ino=" << dn.get_linkage()->get_inode()->ino;
+ {
+ const CInode *inode = dn.get_linkage()->get_inode();
+ out << " ino=";
+ if (inode) {
+ out << inode->ino();
+ } else {
+ out << "(nil)";
+ }
+ }
out << " state=" << dn.get_state();
if (dn.is_new()) out << "|new";
if (inotable->is_marked_free(inode.ino)) {
LogChannelRef clog = in->mdcache->mds->clog;
- clog->error() << "scrub: inode wrongly marked free: 0x" << std::hex
- << inode.ino;
+ clog->error() << "scrub: inode wrongly marked free: " << inode.ino;
if (in->scrub_infop->header->get_repair()) {
bool repaired = inotable->repair(inode.ino);
if (repaired) {
- clog->error() << "inode table repaired for inode: 0x" << std::hex
- << inode.ino;
+ clog->error() << "inode table repaired for inode: " << inode.ino;
inotable->save();
} else {
}
assert(is_marked_free(id));
- dout(10) << "repair: before status. ino = 0x" << std::hex << id << " pver =" << projected_version << " ver= " << version << dendl;
+ dout(10) << "repair: before status. ino = " << id << " pver =" << projected_version << " ver= " << version << dendl;
free.erase(id);
projected_free.erase(id);
projected_version = ++version;
- dout(10) << "repair: after status. ino = 0x" << std::hex <<id << " pver =" << projected_version << " ver= " << version << dendl;
+ dout(10) << "repair: after status. ino = " << id << " pver =" << projected_version << " ver= " << version << dendl;
return true;
}
{
if (free.contains(ino)) {
inodeno_t min = free.begin().get_start();
- std::cerr << "Erasing 0x" << std::hex << min << " to 0x" << ino << std::dec << std::endl;
+ std::cerr << "Erasing " << min << " to " << ino << std::endl;
free.erase(min, ino - min + 1);
projected_free = free;
projected_version = ++version;
CDir *dir = in->get_dirfrag(fg);
if (!dir) {
- ss << "frag 0x" << std::hex << in->ino() << "/" << fg << " not in cache ("
+ ss << "frag " << in->ino() << "/" << fg << " not in cache ("
"use `dirfrag ls` to see if it should exist)";
return NULL;
}
*/
void PurgeQueue::push(const PurgeItem &pi, Context *completion)
{
- dout(4) << "pushing inode 0x" << std::hex << pi.ino << std::dec << dendl;
+ dout(4) << "pushing inode " << pi.ino << dendl;
Mutex::Locker l(lock);
// Callers should have waited for open() before using us
<< journaler.get_read_pos() << dendl;
on_error->complete(0);
}
- dout(20) << " executing item (0x" << std::hex << item.ino
- << std::dec << ")" << dendl;
+ dout(20) << " executing item (" << item.ino << ")" << dendl;
_execute_item(item, journaler.get_read_pos());
}
ops_in_flight -= _calculate_ops(iter->second);
logger->set(l_pq_executing_ops, ops_in_flight);
- dout(10) << "completed item for ino 0x" << std::hex << iter->second.ino
- << std::dec << dendl;
+ dout(10) << "completed item for ino " << iter->second.ino << dendl;
in_flight.erase(iter);
logger->set(l_pq_executing, in_flight.size());
// of per-inode damage, but it's actually more likely that
// this indicates something wrong with the MDS (like maybe
// it has the wrong auth caps?)
- mds->clog->error() << " OSD read error while recovering size for inode 0x"
- << std::hex << in->ino() << std::dec;
+ mds->clog->error() << " OSD read error while recovering size"
+ " for inode " << in->ino();
mds->damaged();
}
}
dout(0) << "EMetaBlob.replay invalid layout on ino " << *in
<< ": " << in->inode.layout << dendl;
std::ostringstream oss;
- oss << "Invalid layout for inode 0x" << std::hex << in->inode.ino
- << std::dec << " in journal";
+ oss << "Invalid layout for inode " << in->ino() << " in journal";
mds->clog->error() << oss.str();
mds->damaged();
ceph_abort(); // Should be unreachable because damaged() calls respawn()