diff --git a/src/drives/fuse/fuse_drive.cpp b/src/drives/fuse/fuse_drive.cpp index 809ff0a2..64190c83 100644 --- a/src/drives/fuse/fuse_drive.cpp +++ b/src/drives/fuse/fuse_drive.cpp @@ -1242,7 +1242,7 @@ auto fuse_drive::truncate_impl(std::string api_path, off_t size) -> api_error { return res; } - open_file_data ofd = O_RDWR; + open_file_data ofd{O_RDWR}; std::uint64_t handle{}; std::shared_ptr open_file; if ((res = fm_->open(api_path, false, ofd, handle, open_file)) != @@ -1250,12 +1250,10 @@ auto fuse_drive::truncate_impl(std::string api_path, off_t size) -> api_error { return res; } - const auto cleanup = [this, &handle](const api_error &err) -> api_error { - fm_->close(handle); - return err; - }; + res = open_file->resize(static_cast(size)); + fm_->close(handle); - return cleanup(open_file->resize(static_cast(size))); + return res; } auto fuse_drive::unlink_impl(std::string api_path) -> api_error { diff --git a/src/file_manager/file_manager.cpp b/src/file_manager/file_manager.cpp index 721fa884..60e42e71 100644 --- a/src/file_manager/file_manager.cpp +++ b/src/file_manager/file_manager.cpp @@ -87,9 +87,9 @@ file_manager::~file_manager() { void file_manager::close(std::uint64_t handle) { unique_recur_mutex_lock file_lock(open_file_mtx_); - auto it = open_handle_lookup_.find(handle); - if (it != open_handle_lookup_.end()) { - auto *cur_file = it->second; + auto iter = open_handle_lookup_.find(handle); + if (iter != open_handle_lookup_.end()) { + auto *cur_file = iter->second; open_handle_lookup_.erase(handle); cur_file->remove(handle); @@ -109,9 +109,9 @@ void file_manager::close(std::uint64_t handle) { void file_manager::close_all(const std::string &api_path) { recur_mutex_lock file_lock(open_file_mtx_); std::vector handles; - auto it = open_file_lookup_.find(api_path); - if (it != open_file_lookup_.end()) { - handles = it->second->get_handles(); + auto iter = open_file_lookup_.find(api_path); + if (iter != open_file_lookup_.end()) { + handles = iter->second->get_handles(); } for (auto &handle : handles) {