diff options
Diffstat (limited to 'mkfs.aya/src/main.rs')
-rw-r--r-- | mkfs.aya/src/main.rs | 11 |
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(); } |