diff --git a/src/tape/drive/linux_tape.rs b/src/tape/drive/linux_tape.rs index 86c88372..adc87acb 100644 --- a/src/tape/drive/linux_tape.rs +++ b/src/tape/drive/linux_tape.rs @@ -308,7 +308,7 @@ impl TapeDriver for LinuxTapeHandle { Ok(()) } - fn current_file_number(&mut self) -> Result { + fn current_file_number(&mut self) -> Result { let mut status = mtget::default(); self.mtnop()?; @@ -320,7 +320,7 @@ impl TapeDriver for LinuxTapeHandle { if status.mt_fileno < 0 { bail!("current_file_number failed (got {})", status.mt_fileno); } - Ok(status.mt_fileno as usize) + Ok(status.mt_fileno as u64) } fn erase_media(&mut self, fast: bool) -> Result<(), Error> { diff --git a/src/tape/drive/mod.rs b/src/tape/drive/mod.rs index 9709f702..67a48a05 100644 --- a/src/tape/drive/mod.rs +++ b/src/tape/drive/mod.rs @@ -49,7 +49,7 @@ pub trait TapeDriver { fn move_to_eom(&mut self) -> Result<(), Error>; /// Current file number - fn current_file_number(&mut self) -> Result; + fn current_file_number(&mut self) -> Result; /// Completely erase the media fn erase_media(&mut self, fast: bool) -> Result<(), Error>; diff --git a/src/tape/drive/virtual_tape.rs b/src/tape/drive/virtual_tape.rs index 2facb139..b7a8f5e7 100644 --- a/src/tape/drive/virtual_tape.rs +++ b/src/tape/drive/virtual_tape.rs @@ -167,12 +167,12 @@ impl TapeDriver for VirtualTapeHandle { Ok(()) // do nothing for now } - fn current_file_number(&mut self) -> Result { + fn current_file_number(&mut self) -> Result { let status = self.load_status() .map_err(|err| format_err!("current_file_number failed: {}", err.to_string()))?; match status.current_tape { - Some(VirtualTapeStatus { pos, .. }) => { Ok(pos)}, + Some(VirtualTapeStatus { pos, .. }) => { Ok(pos as u64)}, None => bail!("current_file_number failed: drive is empty (no tape loaded)."), } }