From 7c61106048a58ef989024d202d172dc28fecbe90 Mon Sep 17 00:00:00 2001
From: Cedric CAFFY <cedric.caffy@cern.ch>
Date: Tue, 18 Feb 2020 18:19:41 +0100
Subject: [PATCH] In DriveState::addDiskSpaceReservation and
 substractDiskSpaceReservation, use a reference to the
 mutable_disk_space_reservations item

---
 objectstore/DriveState.cpp      | 4 ++--
 scheduler/OStoreDB/OStoreDB.cpp | 1 +
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/objectstore/DriveState.cpp b/objectstore/DriveState.cpp
index 1411bda7a3..015709a672 100644
--- a/objectstore/DriveState.cpp
+++ b/objectstore/DriveState.cpp
@@ -293,7 +293,7 @@ std::map<std::string, uint64_t> DriveState::getDiskSpaceReservations() {
 //------------------------------------------------------------------------------
 void DriveState::addDiskSpaceReservation(const std::string& diskSystemName, uint64_t bytes) {
   checkPayloadWritable();
-  for (auto dsr: *m_payload.mutable_disk_space_reservations()) {
+  for (auto &dsr: *m_payload.mutable_disk_space_reservations()) {
     if (dsr.disk_system_name() == diskSystemName) {
       dsr.set_reserved_bytes(dsr.reserved_bytes() + bytes);
       return;
@@ -310,7 +310,7 @@ void DriveState::addDiskSpaceReservation(const std::string& diskSystemName, uint
 void DriveState::substractDiskSpaceReservation(const std::string& diskSystemName, uint64_t bytes) {
   checkPayloadWritable();
   size_t index=0;
-  for (auto dsr: *m_payload.mutable_disk_space_reservations()) {
+  for (auto &dsr: *m_payload.mutable_disk_space_reservations()) {
     if (dsr.disk_system_name() == diskSystemName) {
       if (bytes > dsr.reserved_bytes())
         throw NegativeDiskSpaceReservationReached(
diff --git a/scheduler/OStoreDB/OStoreDB.cpp b/scheduler/OStoreDB/OStoreDB.cpp
index 53a02d0c0a..78dd4916e1 100644
--- a/scheduler/OStoreDB/OStoreDB.cpp
+++ b/scheduler/OStoreDB/OStoreDB.cpp
@@ -3901,6 +3901,7 @@ void OStoreDB::RetrieveMount::reserveDiskSpace(const DiskSpaceReservationRequest
           .add("objectName", ds.getAddressIfSet());
     lc.log(log::DEBUG, "In RetrieveMount::reserveDiskSpace(): state after reservation.");
   }
+  //TODO BUG HERE, see mountId=\"10\" in downloads/tpsrv0*
   ds.commit();
 }
 
-- 
GitLab