From: Daniel Hokka Zakrisson Date: Tue, 19 Dec 2006 19:18:12 +0000 (+0000) Subject: Add --immutable, --~immutable and --!immutable. X-Git-Tag: release-0.30.214~174 X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=df4a683742df97801b80a4cbfdbcbb3a46240ad5;p=util-vserver.git Add --immutable, --~immutable and --!immutable. git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@2431 94cd875c-1c1d-0410-91d2-eb244daf1a30 --- diff --git a/src/fstool.c b/src/fstool.c index 63fb044..d1df02a 100644 --- a/src/fstool.c +++ b/src/fstool.c @@ -196,25 +196,27 @@ int main(int argc, char *argv[]) case CMD_HELP : showHelp(1, argv[0], 0); case CMD_VERSION : showVersion(); case CMD_IMMU : args.set_mask |= VC_IATTR_IMMUTABLE; /*@fallthrough@*/ - case CMD_IMMUX : args.set_mask |= VC_IATTR_IUNLINK; break; - case CMD_ADMIN : args.set_mask |= VC_IATTR_ADMIN; break; - case CMD_WATCH : args.set_mask |= VC_IATTR_WATCH; break; - case CMD_HIDE : args.set_mask |= VC_IATTR_HIDE; break; - case CMD_BARRIER : args.set_mask |= VC_IATTR_BARRIER; break; + case CMD_IMMUX : args.set_mask |= VC_IATTR_IUNLINK; break; + case CMD_IMMUTABLE : args.set_mask |= VC_IATTR_IMMUTABLE; break; + case CMD_ADMIN : args.set_mask |= VC_IATTR_ADMIN; break; + case CMD_WATCH : args.set_mask |= VC_IATTR_WATCH; break; + case CMD_HIDE : args.set_mask |= VC_IATTR_HIDE; break; + case CMD_BARRIER : args.set_mask |= VC_IATTR_BARRIER; break; case CMD_UNSET_IMMU : args.del_mask |= VC_IATTR_IMMUTABLE; /*@fallthrough@*/ - case CMD_UNSET_IMMUX : args.del_mask |= VC_IATTR_IUNLINK; break; - case CMD_UNSET_ADMIN : args.del_mask |= VC_IATTR_ADMIN; break; - case CMD_UNSET_WATCH : args.del_mask |= VC_IATTR_WATCH; break; - case CMD_UNSET_HIDE : args.del_mask |= VC_IATTR_HIDE; break; - case CMD_UNSET_BARRIER : args.del_mask |= VC_IATTR_BARRIER; break; - case 'R' : args.do_recurse = true; break; - case 'a' : args.do_display_dot = true; break; - case 'd' : args.do_display_dir = true; break; - case 'n' : args.do_mapping = false; break; - case 's' : args.do_set = true; break; - case 'u' : args.do_unset = true; break; - case 'c' : args.ctx_str = optarg; break; - case 'x' : args.local_fs = true; break; + case CMD_UNSET_IMMUX : args.del_mask |= VC_IATTR_IUNLINK; break; + case CMD_UNSET_IMMUTABLE : args.del_mask |= VC_IATTR_IMMUTABLE; break; + case CMD_UNSET_ADMIN : args.del_mask |= VC_IATTR_ADMIN; break; + case CMD_UNSET_WATCH : args.del_mask |= VC_IATTR_WATCH; break; + case CMD_UNSET_HIDE : args.del_mask |= VC_IATTR_HIDE; break; + case CMD_UNSET_BARRIER : args.del_mask |= VC_IATTR_BARRIER; break; + case 'R' : args.do_recurse = true; break; + case 'a' : args.do_display_dot = true; break; + case 'd' : args.do_display_dir = true; break; + case 'n' : args.do_mapping = false; break; + case 's' : args.do_set = true; break; + case 'u' : args.do_unset = true; break; + case 'c' : args.ctx_str = optarg; break; + case 'x' : args.local_fs = true; break; default : WRITE_MSG(2, "Try '"); WRITE_STR(2, argv[0]); diff --git a/src/fstool.h b/src/fstool.h index 90f5b67..4705dfe 100644 --- a/src/fstool.h +++ b/src/fstool.h @@ -39,6 +39,7 @@ #define CMD_UNSET_HIDE 0x8023 #define CMD_UNSET_BARRIER 0x8024 #define CMD_UNSET_IMMUX 0x8025 +#define CMD_UNSET_IMMUTABLE 0x8026 struct stat; diff --git a/src/setattr.c b/src/setattr.c index 4513ac9..7f4c2ad 100644 --- a/src/setattr.c +++ b/src/setattr.c @@ -58,6 +58,9 @@ CMDLINE_OPTIONS[] = { { "iunlink-but-not-immutable", no_argument, 0, CMD_IMMUX }, { "~iunlink-but-not-immutable", no_argument, 0, CMD_UNSET_IMMUX }, { "!iunlink-but-not-immutable", no_argument, 0, CMD_UNSET_IMMUX }, + { "immutable", no_argument, 0, CMD_IMMUTABLE }, + { "~immutable", no_argument, 0, CMD_UNSET_IMMUTABLE }, + { "!immutable", no_argument, 0, CMD_UNSET_IMMUTABLE }, { 0,0,0,0 } };