]> git.proxmox.com Git - proxmox-backup.git/commitdiff
backup: index readers: drop useless shared lock
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Fri, 9 Oct 2020 10:45:36 +0000 (12:45 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Fri, 9 Oct 2020 10:59:31 +0000 (12:59 +0200)
This is only acquired in those two methods, both as shared. So it has
no use.

It seems, that it was planned in the past that the index deletion
should take the exclusive, while read and write takes the shared
flock on the index, as one can guess from the lock comments in commit
046521895307aa8bde8bab7ea3ef9e437d5ab5e5

But then later, in commit c8ec450e379f54e7ac648b3a3ff701b37e9a6620)
the documented semantics where changed to use a temp file and do an
atomic rename instead for atomicity.

The reader shared flock on the index file was done inbetween,
probably as preparatory step, but was not removed again when strategy
was changed to using the file rename instead.

Do so now, to avoid confusion of readers and a useless flock.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
src/backup/dynamic_index.rs
src/backup/fixed_index.rs

index 1cc4e53bff74f5de3ab8066b88cb225d3e4ab49a..8731a4185805219a8012a2ee2d1335a181351cd2 100644 (file)
@@ -90,12 +90,6 @@ impl DynamicIndexReader {
     }
 
     pub fn new(mut file: std::fs::File) -> Result<Self, Error> {
-        if let Err(err) =
-            nix::fcntl::flock(file.as_raw_fd(), nix::fcntl::FlockArg::LockSharedNonblock)
-        {
-            bail!("unable to get shared lock - {}", err);
-        }
-
         // FIXME: This is NOT OUR job! Check the callers of this method and remove this!
         file.seek(SeekFrom::Start(0))?;
 
index a2317f0bd563dd3a21d7ba7cd6dfe56e8abb1fc3..eff50055fe8d2cdc74e54d10ba6be3dfb2e12e67 100644 (file)
@@ -65,12 +65,6 @@ impl FixedIndexReader {
     }
 
     pub fn new(mut file: std::fs::File) -> Result<Self, Error> {
-        if let Err(err) =
-            nix::fcntl::flock(file.as_raw_fd(), nix::fcntl::FlockArg::LockSharedNonblock)
-        {
-            bail!("unable to get shared lock - {}", err);
-        }
-
         file.seek(SeekFrom::Start(0))?;
 
         let header_size = std::mem::size_of::<FixedIndexHeader>();