]> git.proxmox.com Git - pxar.git/commitdiff
encoder: only provide a LinkOffset on regular files
authorWolfgang Bumiller <w.bumiller@proxmox.com>
Fri, 5 Jun 2020 13:05:12 +0000 (15:05 +0200)
committerWolfgang Bumiller <w.bumiller@proxmox.com>
Fri, 5 Jun 2020 13:05:12 +0000 (15:05 +0200)
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
src/encoder/aio.rs
src/encoder/mod.rs
src/encoder/sync.rs

index 5a337d24a9fa16ba388156377491b16bd72fb0b6..75568cf6c2dc81e0990d2236a605339efed15601 100644 (file)
@@ -138,7 +138,7 @@ impl<'a, T: SeqWrite + 'a> Encoder<'a, T> {
         metadata: &Metadata,
         file_name: PF,
         target: PT,
-    ) -> io::Result<LinkOffset> {
+    ) -> io::Result<()> {
         self.inner
             .add_symlink(metadata, file_name.as_ref(), target.as_ref())
             .await
@@ -162,7 +162,7 @@ impl<'a, T: SeqWrite + 'a> Encoder<'a, T> {
         metadata: &Metadata,
         file_name: P,
         device: format::Device,
-    ) -> io::Result<LinkOffset> {
+    ) -> io::Result<()> {
         self.inner
             .add_device(metadata, file_name.as_ref(), device)
             .await
@@ -173,7 +173,7 @@ impl<'a, T: SeqWrite + 'a> Encoder<'a, T> {
         &mut self,
         metadata: &Metadata,
         file_name: P,
-    ) -> io::Result<LinkOffset> {
+    ) -> io::Result<()> {
         self.inner.add_fifo(metadata, file_name.as_ref()).await
     }
 
@@ -182,7 +182,7 @@ impl<'a, T: SeqWrite + 'a> Encoder<'a, T> {
         &mut self,
         metadata: &Metadata,
         file_name: P,
-    ) -> io::Result<LinkOffset> {
+    ) -> io::Result<()> {
         self.inner.add_socket(metadata, file_name.as_ref()).await
     }
 }
index 79f6db54fd089fca0158add87b47f1951efc8309..d05a860b0bf5c2e012dac0dd442d4516774d775d 100644 (file)
@@ -348,13 +348,14 @@ impl<'a, T: SeqWrite + 'a> EncoderImpl<'a, T> {
         metadata: &Metadata,
         file_name: &Path,
         target: &Path,
-    ) -> io::Result<LinkOffset> {
-        self.add_file_entry(
+    ) -> io::Result<()> {
+        let _ofs: LinkOffset = self.add_file_entry(
             Some(metadata),
             file_name,
             Some((format::PXAR_SYMLINK, target.as_os_str().as_bytes())),
         )
-        .await
+        .await?;
+        Ok(())
     }
 
     /// Return a file offset usable with `add_hardlink`.
@@ -389,7 +390,7 @@ impl<'a, T: SeqWrite + 'a> EncoderImpl<'a, T> {
         metadata: &Metadata,
         file_name: &Path,
         device: format::Device,
-    ) -> io::Result<LinkOffset> {
+    ) -> io::Result<()> {
         if !metadata.is_device() {
             io_bail!("entry added via add_device must have a device mode in its metadata");
         }
@@ -401,30 +402,33 @@ impl<'a, T: SeqWrite + 'a> EncoderImpl<'a, T> {
                 size_of::<format::Device>(),
             )
         };
-        self.add_file_entry(
+        let _ofs: LinkOffset = self.add_file_entry(
             Some(metadata),
             file_name,
             Some((format::PXAR_DEVICE, device)),
         )
-        .await
+        .await?;
+        Ok(())
     }
 
     /// Return a file offset usable with `add_hardlink`.
-    pub async fn add_fifo(&mut self, metadata: &Metadata, file_name: &Path) -> io::Result<LinkOffset> {
+    pub async fn add_fifo(&mut self, metadata: &Metadata, file_name: &Path) -> io::Result<()> {
         if !metadata.is_fifo() {
             io_bail!("entry added via add_device must be of type fifo in its metadata");
         }
 
-        self.add_file_entry(Some(metadata), file_name, None).await
+        let _ofs: LinkOffset = self.add_file_entry(Some(metadata), file_name, None).await?;
+        Ok(())
     }
 
     /// Return a file offset usable with `add_hardlink`.
-    pub async fn add_socket(&mut self, metadata: &Metadata, file_name: &Path) -> io::Result<LinkOffset> {
+    pub async fn add_socket(&mut self, metadata: &Metadata, file_name: &Path) -> io::Result<()> {
         if !metadata.is_socket() {
             io_bail!("entry added via add_device must be of type socket in its metadata");
         }
 
-        self.add_file_entry(Some(metadata), file_name, None).await
+        let _ofs: LinkOffset = self.add_file_entry(Some(metadata), file_name, None).await?;
+        Ok(())
     }
 
     /// Return a file offset usable with `add_hardlink`.
index d32d8f62b5aa1c0949f96ee3a87a8d5322d64a18..5d3696ffc0e30103447a08883c3051468d4fd809 100644 (file)
@@ -119,7 +119,7 @@ impl<'a, T: SeqWrite + 'a> Encoder<'a, T> {
         metadata: &Metadata,
         file_name: PF,
         target: PT,
-    ) -> io::Result<LinkOffset> {
+    ) -> io::Result<()> {
         poll_result_once(
             self.inner
                 .add_symlink(metadata, file_name.as_ref(), target.as_ref()),
@@ -142,7 +142,7 @@ impl<'a, T: SeqWrite + 'a> Encoder<'a, T> {
         metadata: &Metadata,
         file_name: P,
         device: format::Device,
-    ) -> io::Result<LinkOffset> {
+    ) -> io::Result<()> {
         poll_result_once(self.inner.add_device(metadata, file_name.as_ref(), device))
     }
 
@@ -151,7 +151,7 @@ impl<'a, T: SeqWrite + 'a> Encoder<'a, T> {
         &mut self,
         metadata: &Metadata,
         file_name: P,
-    ) -> io::Result<LinkOffset> {
+    ) -> io::Result<()> {
         poll_result_once(self.inner.add_fifo(metadata, file_name.as_ref()))
     }
 
@@ -160,7 +160,7 @@ impl<'a, T: SeqWrite + 'a> Encoder<'a, T> {
         &mut self,
         metadata: &Metadata,
         file_name: P,
-    ) -> io::Result<LinkOffset> {
+    ) -> io::Result<()> {
         poll_result_once(self.inner.add_socket(metadata, file_name.as_ref()))
     }
 }