+
+/// Create drive state dir with correct permission
+pub fn create_drive_state_dir() -> Result<(), Error> {
+ let backup_user = crate::backup::backup_user()?;
+ let mode = nix::sys::stat::Mode::from_bits_truncate(0o0750);
+ let options = CreateOptions::new()
+ .perm(mode)
+ .owner(backup_user.uid)
+ .group(backup_user.gid);
+
+ create_path(DRIVE_STATE_DIR, None, Some(options))
+ .map_err(|err: Error| format_err!("unable to create drive state dir - {}", err))?;
+
+ Ok(())
+}
+
+/// Create changer state cache dir with correct permission
+pub fn create_changer_state_dir() -> Result<(), Error> {
+ let backup_user = crate::backup::backup_user()?;
+ let mode = nix::sys::stat::Mode::from_bits_truncate(0o0750);
+ let options = CreateOptions::new()
+ .perm(mode)
+ .owner(backup_user.uid)
+ .group(backup_user.gid);
+
+ create_path(CHANGER_STATE_DIR, None, Some(options))
+ .map_err(|err: Error| format_err!("unable to create changer state dir - {}", err))?;
+
+ Ok(())
+}