summaryrefslogtreecommitdiff
path: root/mkfs.aya/src
diff options
context:
space:
mode:
authorChuyan Zhang <me@zcy.moe>2023-12-01 21:18:52 -0800
committerChuyan Zhang <me@zcy.moe>2023-12-01 21:18:52 -0800
commit4e8448778cdec05f994f0e2772432fd90b6219d5 (patch)
treec02e3f9dd7ef0993178e785f2ce85844bbf1b2bf /mkfs.aya/src
parent4c34414b26bf71e747ea3ecb2586645bab4aba52 (diff)
downloadmyfs-4e8448778cdec05f994f0e2772432fd90b6219d5.tar.gz
myfs-4e8448778cdec05f994f0e2772432fd90b6219d5.zip
Fix mount options
Diffstat (limited to 'mkfs.aya/src')
-rw-r--r--mkfs.aya/src/main.rs11
1 files changed, 9 insertions, 2 deletions
diff --git a/mkfs.aya/src/main.rs b/mkfs.aya/src/main.rs
index 00bef5b..939f9d1 100644
--- a/mkfs.aya/src/main.rs
+++ b/mkfs.aya/src/main.rs
@@ -16,6 +16,10 @@ use crate::ioctl::ioctl_blkgetsize64;
#[command(author, version, about)]
struct Args {
block_device: Option<PathBuf>,
+ #[arg(short, long)]
+ user_id: Option<u32>,
+ #[arg(short, long)]
+ group_id: Option<u32>,
#[arg(short, action = clap::ArgAction::Count)]
verbosity: u8,
}
@@ -40,6 +44,9 @@ fn main() {
let device_path = args.block_device
.expect("Not device path specified.");
let verbosity = args.verbosity;
+ let uid = args.user_id.unwrap_or_else(get_current_uid);
+ let gid = args.group_id.unwrap_or_else(get_current_gid);
+
let log_level = match verbosity {
0 => LevelFilter::Error,
1 => LevelFilter::Warn,
@@ -53,8 +60,8 @@ fn main() {
let mut fs = AyaFS::new(
disk,
device_size as usize / BLOCK_SIZE,
- get_current_uid(),
- get_current_gid(),
+ uid,
+ gid,
);
fs.write_back();
}