message: The mount calls are blocking operations and should not block other tasks
  The mount calls a moved to a blocking block in order to not block
  the executor.
diff: @@ -16,6 +16,7 @@ use std::path::Path;
  use thiserror::Error;
  pub use nix::mount::MsFlags as MountFlags;
  +use tokio::task;
  #[derive(Error, Debug)]
  pub enum Error {
  @@ -40,6 +41,7 @@ pub async fn mount(
  flags: MountFlags,
  data: Option<&str>,
  ) -> Result<(), Error> {
  + task::block_in_place(|| {
  nix::mount::mount(
  Some(source.as_os_str()),
  target.as_os_str(),
  @@ -56,11 +58,14 @@ pub async fn mount(
  ),
  error,
  })
  + })
  }
  pub async fn unmount(target: &Path) -> Result<(), Error> {
  + task::block_in_place(|| {
  nix::mount::umount(target.as_os_str()).map_err(|e| Error::Umount {
  context: format!("Failed to unmount {}", target.display()),
  error: e,
  })
  + })
  }
  