From: Danny Al-Gaaf Date: Fri, 1 Mar 2013 10:41:06 +0000 (+0100) Subject: mds/Locker.cc: use static_cast instead of C-Style cast X-Git-Tag: v0.59~54^2~44 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=c02e317f538eb88b9a6c2622754f140e299ef73d;p=ceph.git mds/Locker.cc: use static_cast instead of C-Style cast Use static_cast() instead of C-Style cast. Signed-off-by: Danny Al-Gaaf --- diff --git a/src/mds/Locker.cc b/src/mds/Locker.cc index 55e4a371ad29..38fa208b9d57 100644 --- a/src/mds/Locker.cc +++ b/src/mds/Locker.cc @@ -72,22 +72,22 @@ void Locker::dispatch(Message *m) // inter-mds locking case MSG_MDS_LOCK: - handle_lock((MLock*)m); + handle_lock(static_cast(m)); break; // inter-mds caps case MSG_MDS_INODEFILECAPS: - handle_inode_file_caps((MInodeFileCaps*)m); + handle_inode_file_caps(static_cast(m)); break; // client sync case CEPH_MSG_CLIENT_CAPS: - handle_client_caps((MClientCaps*)m); + handle_client_caps(static_cast(m)); break; case CEPH_MSG_CLIENT_CAPRELEASE: - handle_client_cap_release((MClientCapRelease*)m); + handle_client_cap_release(static_cast(m)); break; case CEPH_MSG_CLIENT_LEASE: - handle_client_lease((MClientLease*)m); + handle_client_lease(static_cast(m)); break; default: @@ -407,7 +407,7 @@ bool Locker::acquire_locks(MDRequest *mdr, else rdlock_finish(stray, mdr, &need_issue); if (need_issue) - issue_set.insert((CInode*)stray->get_parent()); + issue_set.insert(static_cast(stray->get_parent())); } // lock @@ -447,7 +447,7 @@ bool Locker::acquire_locks(MDRequest *mdr, else rdlock_finish(stray, mdr, &need_issue); if (need_issue) - issue_set.insert((CInode*)stray->get_parent()); + issue_set.insert(static_cast(stray->get_parent())); } mdr->done_locking = true; @@ -479,7 +479,7 @@ void Locker::_drop_rdlocks(Mutation *mut, set *pneed_issue) MDSCacheObject *p = (*mut->rdlocks.begin())->get_parent(); rdlock_finish(*mut->rdlocks.begin(), mut, &ni); if (ni) - pneed_issue->insert((CInode*)p); + pneed_issue->insert(static_cast(p)); } } @@ -501,7 +501,7 @@ void Locker::_drop_non_rdlocks(Mutation *mut, set *pneed_issue) bool ni = false; xlock_finish(lock, mut, &ni); if (ni) - pneed_issue->insert((CInode*)p); + pneed_issue->insert(static_cast(p)); } while (!mut->remote_wrlocks.empty()) { @@ -515,7 +515,7 @@ void Locker::_drop_non_rdlocks(Mutation *mut, set *pneed_issue) MDSCacheObject *p = (*mut->wrlocks.begin())->get_parent(); wrlock_finish(*mut->wrlocks.begin(), mut, &ni); if (ni) - pneed_issue->insert((CInode*)p); + pneed_issue->insert(static_cast(p)); } for (set::iterator p = slaves.begin(); p != slaves.end(); p++) { @@ -542,7 +542,7 @@ void Locker::cancel_locking(Mutation *mut, set *pneed_issue) if (lock->is_stable()) eval(lock, &need_issue); if (need_issue) - pneed_issue->insert((CInode *)lock->get_parent()); + pneed_issue->insert(static_cast(lock->get_parent())); } } else { lock->finish_waiters(SimpleLock::WAIT_REMOTEXLOCK); @@ -604,7 +604,7 @@ void Locker::eval_gather(SimpleLock *lock, bool first, bool *pneed_issue, listget_cap_shift(); if (lock->get_type() != CEPH_LOCK_DN) - in = (CInode *)lock->get_parent(); + in = static_cast(lock->get_parent()); bool need_issue = false; @@ -673,13 +673,13 @@ void Locker::eval_gather(SimpleLock *lock, bool first, bool *pneed_issue, listencode_locked_state(reply->get_data()); mds->send_message_mds(reply, auth); next = LOCK_MIX_SYNC2; - ((ScatterLock *)lock)->start_flush(); + (static_cast(lock))->start_flush(); } break; case LOCK_MIX_SYNC2: - ((ScatterLock *)lock)->finish_flush(); - ((ScatterLock *)lock)->clear_flushed(); + (static_cast(lock))->finish_flush(); + (static_cast(lock))->clear_flushed(); case LOCK_SYNC_MIX2: // do nothing, we already acked @@ -698,7 +698,7 @@ void Locker::eval_gather(SimpleLock *lock, bool first, bool *pneed_issue, listencode_locked_state(data); mds->send_message_mds(new MLock(lock, LOCK_AC_LOCKACK, mds->get_nodeid(), data), auth); - ((ScatterLock *)lock)->start_flush(); + (static_cast(lock))->start_flush(); // we'll get an AC_LOCKFLUSHED to complete } break; @@ -722,7 +722,7 @@ void Locker::eval_gather(SimpleLock *lock, bool first, bool *pneed_issue, listis_dirty() && !lock->is_flushed()) { - scatter_writebehind((ScatterLock*)lock); + scatter_writebehind(static_cast(lock)); mds->mdlog->flush(); return; } @@ -733,13 +733,13 @@ void Locker::eval_gather(SimpleLock *lock, bool first, bool *pneed_issue, liststart_scatter((ScatterLock *)lock); + in->start_scatter(static_cast(lock)); if (lock->get_parent()->is_replicated()) { bufferlist softdata; lock->encode_locked_state(softdata); send_lock_message(lock, LOCK_AC_MIX, softdata); } - ((ScatterLock*)lock)->clear_scatter_wanted(); + (static_cast(lock))->clear_scatter_wanted(); break; // to sync @@ -893,10 +893,10 @@ void Locker::try_eval(MDSCacheObject *p, int mask) if (mask & CEPH_LOCK_DN) { assert(mask == CEPH_LOCK_DN); bool need_issue = false; // ignore this, no caps on dentries - CDentry *dn = (CDentry *)p; + CDentry *dn = static_cast(p); eval_any(&dn->lock, &need_issue); } else { - CInode *in = (CInode *)p; + CInode *in = static_cast(p); eval(in, mask); } } @@ -937,7 +937,7 @@ void Locker::try_eval(SimpleLock *lock, bool *pneed_issue) * checks above due to the auth_pin held by the master. */ if (lock->is_scatterlock()) { - ScatterLock *slock = (ScatterLock *)lock; + ScatterLock *slock = static_cast(lock); if (slock->get_scatter_wanted() && slock->get_state() != LOCK_MIX) { scatter_mix(slock, pneed_issue); @@ -1011,10 +1011,10 @@ void Locker::eval(SimpleLock *lock, bool *need_issue) { switch (lock->get_type()) { case CEPH_LOCK_IFILE: - return file_eval((ScatterLock*)lock, need_issue); + return file_eval(static_cast(lock), need_issue); case CEPH_LOCK_IDFT: case CEPH_LOCK_INEST: - return scatter_eval((ScatterLock*)lock, need_issue); + return scatter_eval(static_cast(lock), need_issue); default: return simple_eval(lock, need_issue); } @@ -1036,7 +1036,7 @@ bool Locker::_rdlock_kick(SimpleLock *lock, bool as_anon) //else simple_sync(lock); } else if (lock->get_sm() == &sm_filelock) { - CInode *in = (CInode*)lock->get_parent(); + CInode *in = static_cast(lock->get_parent()); if (lock->get_state() == LOCK_EXCL && in->get_target_loner() >= 0 && !as_anon) // as_anon => caller wants SYNC, not XSYN @@ -1091,7 +1091,7 @@ bool Locker::rdlock_start(SimpleLock *lock, MDRequest *mut, bool as_anon) CInode *in = 0; if (lock->get_type() != CEPH_LOCK_DN) - in = (CInode *)lock->get_parent(); + in = static_cast(lock->get_parent()); /* if (!lock->get_parent()->is_auth() && @@ -1217,7 +1217,7 @@ void Locker::wrlock_force(SimpleLock *lock, Mutation *mut) { if (lock->get_type() == CEPH_LOCK_IVERSION || lock->get_type() == CEPH_LOCK_DVERSION) - return local_wrlock_grab((LocalLock*)lock, mut); + return local_wrlock_grab(static_cast(lock), mut); dout(7) << "wrlock_force on " << *lock << " on " << *lock->get_parent() << dendl; @@ -1230,14 +1230,14 @@ bool Locker::wrlock_start(SimpleLock *lock, MDRequest *mut, bool nowait) { if (lock->get_type() == CEPH_LOCK_IVERSION || lock->get_type() == CEPH_LOCK_DVERSION) - return local_wrlock_start((LocalLock*)lock, mut); + return local_wrlock_start(static_cast(lock), mut); dout(10) << "wrlock_start " << *lock << " on " << *lock->get_parent() << dendl; bool want_scatter = lock->get_parent()->is_auth() && ((CInode*)lock->get_parent())->has_subtree_root_dirfrag(); - CInode *in = (CInode *)lock->get_parent(); + CInode *in = static_cast(lock->get_parent()); client_t client = mut->get_client(); while (1) { @@ -1260,7 +1260,7 @@ bool Locker::wrlock_start(SimpleLock *lock, MDRequest *mut, bool nowait) return false; if (want_scatter) - scatter_mix((ScatterLock*)lock); + scatter_mix(static_cast(lock)); else simple_lock(lock); @@ -1291,7 +1291,7 @@ void Locker::wrlock_finish(SimpleLock *lock, Mutation *mut, bool *pneed_issue) { if (lock->get_type() == CEPH_LOCK_IVERSION || lock->get_type() == CEPH_LOCK_DVERSION) - return local_wrlock_finish((LocalLock*)lock, mut); + return local_wrlock_finish(static_cast(lock), mut); dout(7) << "wrlock_finish on " << *lock << " on " << *lock->get_parent() << dendl; lock->put_wrlock(); @@ -1362,7 +1362,7 @@ bool Locker::xlock_start(SimpleLock *lock, MDRequest *mut) { if (lock->get_type() == CEPH_LOCK_IVERSION || lock->get_type() == CEPH_LOCK_DVERSION) - return local_xlock_start((LocalLock*)lock, mut); + return local_xlock_start(static_cast(lock), mut); dout(7) << "xlock_start on " << *lock << " on " << *lock->get_parent() << dendl; client_t client = mut->get_client(); @@ -1428,7 +1428,7 @@ bool Locker::xlock_start(SimpleLock *lock, MDRequest *mut) void Locker::_finish_xlock(SimpleLock *lock, bool *pneed_issue) { assert(!lock->is_stable()); - if (lock->get_type() != CEPH_LOCK_DN && ((CInode*)lock->get_parent())->get_loner() >= 0) + if (lock->get_type() != CEPH_LOCK_DN && (static_cast(lock->get_parent())->get_loner()) >= 0) lock->set_state(LOCK_EXCL); else lock->set_state(LOCK_LOCK); @@ -1444,7 +1444,7 @@ void Locker::xlock_finish(SimpleLock *lock, Mutation *mut, bool *pneed_issue) { if (lock->get_type() == CEPH_LOCK_IVERSION || lock->get_type() == CEPH_LOCK_DVERSION) - return local_xlock_finish((LocalLock*)lock, mut); + return local_xlock_finish(static_cast(lock), mut); dout(10) << "xlock_finish on " << *lock << " " << *lock->get_parent() << dendl; @@ -1495,7 +1495,7 @@ void Locker::xlock_finish(SimpleLock *lock, Mutation *mut, bool *pneed_issue) try_eval(lock, &do_issue); if (do_issue) { - CInode *in = (CInode*)lock->get_parent(); + CInode *in = static_cast(lock->get_parent()); if (in->is_head()) { if (pneed_issue) *pneed_issue = true; @@ -1866,7 +1866,7 @@ void Locker::remove_stale_leases(Session *session) while (!p.end()) { ClientLease *l = *p; ++p; - CDentry *parent = (CDentry*)l->parent; + CDentry *parent = static_cast(l->parent); dout(15) << " removing lease on " << *parent << dendl; parent->remove_client_lease(l, this); } @@ -3018,7 +3018,7 @@ void Locker::issue_client_lease(CDentry *dn, client_t client, void Locker::revoke_client_leases(SimpleLock *lock) { int n = 0; - CDentry *dn = (CDentry*)lock->get_parent(); + CDentry *dn = static_cast(lock->get_parent()); for (map::iterator p = dn->client_lease_map.begin(); p != dn->client_lease_map.end(); p++) { @@ -3027,7 +3027,7 @@ void Locker::revoke_client_leases(SimpleLock *lock) n++; assert(lock->get_type() == CEPH_LOCK_DN); - CDentry *dn = (CDentry*)lock->get_parent(); + CDentry *dn = static_cast(lock->get_parent()); int mask = 1 | CEPH_LOCK_DN; // old and new bits // i should also revoke the dir ICONTENT lease, if they have it! @@ -3136,7 +3136,7 @@ void Locker::handle_lock(MLock *m) //break; case CEPH_LOCK_IFILE: - handle_file_lock((ScatterLock*)lock, m); + handle_file_lock(static_cast(lock), m); break; default: @@ -3293,7 +3293,7 @@ void Locker::simple_eval(SimpleLock *lock, bool *need_issue) CInode *in = 0; int wanted = 0; if (lock->get_type() != CEPH_LOCK_DN) { - in = (CInode*)lock->get_parent(); + in = static_cast(lock->get_parent()); in->get_caps_wanted(&wanted, NULL, lock->get_cap_shift()); } @@ -3328,7 +3328,7 @@ bool Locker::simple_sync(SimpleLock *lock, bool *need_issue) CInode *in = 0; if (lock->get_cap_shift()) - in = (CInode *)lock->get_parent(); + in = static_cast(lock->get_parent()); int old_state = lock->get_state(); @@ -3372,7 +3372,7 @@ bool Locker::simple_sync(SimpleLock *lock, bool *need_issue) if (!gather && lock->is_dirty()) { lock->get_parent()->auth_pin(lock); - scatter_writebehind((ScatterLock*)lock); + scatter_writebehind(static_cast(lock)); mds->mdlog->flush(); return false; } @@ -3407,7 +3407,7 @@ void Locker::simple_excl(SimpleLock *lock, bool *need_issue) CInode *in = 0; if (lock->get_cap_shift()) - in = (CInode *)lock->get_parent(); + in = static_cast(lock->get_parent()); switch (lock->get_state()) { case LOCK_SCAN: @@ -3464,7 +3464,7 @@ void Locker::simple_lock(SimpleLock *lock, bool *need_issue) CInode *in = 0; if (lock->get_cap_shift()) - in = (CInode *)lock->get_parent(); + in = static_cast(lock->get_parent()); int old_state = lock->get_state(); @@ -3472,13 +3472,13 @@ void Locker::simple_lock(SimpleLock *lock, bool *need_issue) case LOCK_SCAN: lock->set_state(LOCK_SCAN_LOCK); break; case LOCK_SYNC: lock->set_state(LOCK_SYNC_LOCK); break; case LOCK_XSYN: - file_excl((ScatterLock*)lock, need_issue); + file_excl(static_cast(lock), need_issue); if (lock->get_state() != LOCK_EXCL) return; // fall-thru case LOCK_EXCL: lock->set_state(LOCK_EXCL_LOCK); break; case LOCK_MIX: lock->set_state(LOCK_MIX_LOCK); - ((ScatterLock *)lock)->clear_unscatter_wanted(); + (static_cast(lock))->clear_unscatter_wanted(); break; case LOCK_TSYN: lock->set_state(LOCK_TSYN_LOCK); break; default: assert(0); @@ -3527,7 +3527,7 @@ void Locker::simple_lock(SimpleLock *lock, bool *need_issue) if (!gather && lock->is_dirty()) { lock->get_parent()->auth_pin(lock); - scatter_writebehind((ScatterLock*)lock); + scatter_writebehind(static_cast(lock)); mds->mdlog->flush(); return; } @@ -3550,7 +3550,7 @@ void Locker::simple_xlock(SimpleLock *lock) CInode *in = 0; if (lock->get_cap_shift()) - in = (CInode *)lock->get_parent(); + in = static_cast(lock->get_parent()); if (lock->is_stable()) lock->get_parent()->auth_pin(lock); @@ -3627,7 +3627,7 @@ Some notes on scatterlocks. void Locker::scatter_writebehind(ScatterLock *lock) { - CInode *in = (CInode*)lock->get_parent(); + CInode *in = static_cast(lock->get_parent()); dout(10) << "scatter_writebehind " << in->inode.mtime << " on " << *lock << " on " << *in << dendl; // journal @@ -3661,7 +3661,7 @@ void Locker::scatter_writebehind(ScatterLock *lock) void Locker::scatter_writebehind_finish(ScatterLock *lock, Mutation *mut) { - CInode *in = (CInode*)lock->get_parent(); + CInode *in = static_cast(lock->get_parent()); dout(10) << "scatter_writebehind_finish on " << *lock << " on " << *in << dendl; in->pop_and_dirty_projected_inode(mut->ls); @@ -3725,7 +3725,7 @@ void Locker::scatter_eval(ScatterLock *lock, bool *need_issue) return; } - CInode *in = (CInode*)lock->get_parent(); + CInode *in = static_cast(lock->get_parent()); if (!in->has_subtree_root_dirfrag() || in->is_base()) { // i _should_ be sync. if (!lock->is_wrlocked() && @@ -3765,7 +3765,7 @@ void Locker::mark_updated_scatterlock(ScatterLock *lock) */ void Locker::scatter_nudge(ScatterLock *lock, Context *c, bool forcelockchange) { - CInode *p = (CInode *)lock->get_parent(); + CInode *p = static_cast(lock->get_parent()); if (p->is_frozen() || p->is_freezing()) { dout(10) << "scatter_nudge waiting for unfreeze on " << *p << dendl; @@ -3813,11 +3813,11 @@ void Locker::scatter_nudge(ScatterLock *lock, Context *c, bool forcelockchange) switch (lock->get_type()) { case CEPH_LOCK_IFILE: if (p->is_replicated() && lock->get_state() != LOCK_MIX) - scatter_mix((ScatterLock*)lock); + scatter_mix(static_cast(lock)); else if (lock->get_state() != LOCK_LOCK) - simple_lock((ScatterLock*)lock); + simple_lock(static_cast(lock)); else - simple_sync((ScatterLock*)lock); + simple_sync(static_cast(lock)); break; case CEPH_LOCK_IDFT: @@ -3902,7 +3902,7 @@ void Locker::scatter_tempsync(ScatterLock *lock, bool *need_issue) assert(0 == "not fully implemented, at least not for filelock"); - CInode *in = (CInode *)lock->get_parent(); + CInode *in = static_cast(lock->get_parent()); switch (lock->get_state()) { case LOCK_SYNC: assert(0); // this shouldn't happen @@ -4035,7 +4035,7 @@ void Locker::local_xlock_finish(LocalLock *lock, Mutation *mut) void Locker::file_eval(ScatterLock *lock, bool *need_issue) { - CInode *in = (CInode*)lock->get_parent(); + CInode *in = static_cast(lock->get_parent()); int loner_wanted, other_wanted; int wanted = in->get_caps_wanted(&loner_wanted, &other_wanted, CEPH_CAP_SFILE); dout(7) << "file_eval wanted=" << gcap_string(wanted) @@ -4132,7 +4132,7 @@ void Locker::scatter_mix(ScatterLock *lock, bool *need_issue) { dout(7) << "scatter_mix " << *lock << " on " << *lock->get_parent() << dendl; - CInode *in = (CInode*)lock->get_parent(); + CInode *in = static_cast(lock->get_parent()); assert(in->is_auth()); assert(lock->is_stable()); @@ -4224,7 +4224,7 @@ void Locker::scatter_mix(ScatterLock *lock, bool *need_issue) void Locker::file_excl(ScatterLock *lock, bool *need_issue) { - CInode *in = (CInode*)lock->get_parent(); + CInode *in = static_cast(lock->get_parent()); dout(7) << "file_excl " << *lock << " on " << *lock->get_parent() << dendl; assert(in->is_auth()); @@ -4287,7 +4287,7 @@ void Locker::file_excl(ScatterLock *lock, bool *need_issue) void Locker::file_xsyn(SimpleLock *lock, bool *need_issue) { dout(7) << "file_xsyn on " << *lock << " on " << *lock->get_parent() << dendl; - CInode *in = (CInode *)lock->get_parent(); + CInode *in = static_cast(lock->get_parent()); assert(in->is_auth()); assert(in->get_loner() >= 0 && in->mds_caps_wanted.empty()); @@ -4323,7 +4323,7 @@ void Locker::file_xsyn(SimpleLock *lock, bool *need_issue) void Locker::file_recover(ScatterLock *lock) { - CInode *in = (CInode *)lock->get_parent(); + CInode *in = static_cast(lock->get_parent()); dout(7) << "file_recover " << *lock << " on " << *in << dendl; assert(in->is_auth()); @@ -4358,7 +4358,7 @@ void Locker::file_recover(ScatterLock *lock) /* This function DOES put the passed message before returning */ void Locker::handle_file_lock(ScatterLock *lock, MLock *m) { - CInode *in = (CInode*)lock->get_parent(); + CInode *in = static_cast(lock->get_parent()); int from = m->get_asker(); if (mds->is_rejoin()) { @@ -4390,8 +4390,8 @@ void Locker::handle_file_lock(ScatterLock *lock, MLock *m) break; } - ((ScatterLock *)lock)->finish_flush(); - ((ScatterLock *)lock)->clear_flushed(); + (static_cast(lock))->finish_flush(); + (static_cast(lock))->clear_flushed(); // ok lock->decode_locked_state(m->get_data()); @@ -4413,8 +4413,8 @@ void Locker::handle_file_lock(ScatterLock *lock, MLock *m) break; case LOCK_AC_LOCKFLUSHED: - ((ScatterLock *)lock)->finish_flush(); - ((ScatterLock *)lock)->clear_flushed(); + (static_cast(lock))->finish_flush(); + (static_cast(lock))->clear_flushed(); break; case LOCK_AC_MIX: