From 07721d122ca8bee43e46f6e15217601ebb6da476 Mon Sep 17 00:00:00 2001 From: Venky Shankar Date: Tue, 7 Aug 2018 05:10:09 -0400 Subject: [PATCH] mds: access last std::vector element with `back()` ... rather than accessing it as an array. also convert to range loops whereever necessary. plus some style fixes. Fixes: https://tracker.ceph.com/issues/25113 Signed-off-by: Venky Shankar (cherry picked from commit f9b8ad5793d8265f131566233080613f475004aa) --- src/mds/Server.cc | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/mds/Server.cc b/src/mds/Server.cc index 0da3666fed75f..1eb3ae989d55c 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -2958,9 +2958,10 @@ CInode* Server::rdlock_path_pin_ref(MDRequestRef& mdr, int n, if (r > 0) return NULL; // delayed if (r < 0) { // error - if (r == -ENOENT && n == 0 && mdr->dn[n].size()) { - if (!no_lookup) - mdr->tracedn = mdr->dn[n][mdr->dn[n].size()-1]; + if (r == -ENOENT && n == 0 && !mdr->dn[n].empty()) { + if (!no_lookup) { + mdr->tracedn = mdr->dn[n].back(); + } respond_to_request(mdr, r); } else if (r == -ESTALE) { dout(10) << "FAIL on ESTALE but attempting recovery" << dendl; @@ -6248,7 +6249,7 @@ void Server::handle_client_unlink(MDRequestRef& mdr) return; } - CDentry *dn = trace[trace.size()-1]; + CDentry *dn = trace.back(); assert(dn); if (!dn->is_auth()) { mdcache->request_forward(mdr, dn->authority().first); @@ -6303,9 +6304,9 @@ void Server::handle_client_unlink(MDRequestRef& mdr) // lock set rdlocks, wrlocks, xlocks; - - for (int i=0; i<(int)trace.size()-1; i++) + for (int i=0; i<(int)trace.size()-1; i++) { rdlocks.insert(&trace[i]->lock); + } xlocks.insert(&dn->lock); wrlocks.insert(&diri->filelock); wrlocks.insert(&diri->nestlock); @@ -6629,7 +6630,7 @@ void Server::handle_slave_rmdir_prep(MDRequestRef& mdr) return; } assert(r == 0); - CDentry *dn = trace[trace.size()-1]; + CDentry *dn = trace.back(); dout(10) << " dn " << *dn << dendl; mdr->pin(dn); @@ -7036,7 +7037,7 @@ void Server::handle_client_rename(MDRequestRef& mdr) } assert(!srctrace.empty()); - CDentry *srcdn = srctrace[srctrace.size()-1]; + CDentry *srcdn = srctrace.back(); dout(10) << " srcdn " << *srcdn << dendl; if (srcdn->last != CEPH_NOSNAP) { respond_to_request(mdr, -EROFS); @@ -8191,7 +8192,7 @@ void Server::handle_slave_rename_prep(MDRequestRef& mdr) } assert(r == 0); // we shouldn't get an error here! - CDentry *destdn = trace[trace.size()-1]; + CDentry *destdn = trace.back(); CDentry::linkage_t *destdnl = destdn->get_projected_linkage(); dout(10) << " destdn " << *destdn << dendl; mdr->pin(destdn); @@ -8207,7 +8208,7 @@ void Server::handle_slave_rename_prep(MDRequestRef& mdr) // srcpath must not point to a null dentry assert(srci != nullptr); - CDentry *srcdn = trace[trace.size()-1]; + CDentry *srcdn = trace.back(); CDentry::linkage_t *srcdnl = srcdn->get_projected_linkage(); dout(10) << " srcdn " << *srcdn << dendl; mdr->pin(srcdn); -- 2.39.5