Add cow to setattr.
authorDaniel Hokka Zakrisson <daniel@hozac.com>
Thu, 8 Oct 2009 17:07:24 +0000 (17:07 +0000)
committerDaniel Hokka Zakrisson <daniel@hozac.com>
Thu, 8 Oct 2009 17:07:24 +0000 (17:07 +0000)
git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@2852 94cd875c-1c1d-0410-91d2-eb244daf1a30

lib/vserver.h
src/fstool.c
src/fstool.h
src/setattr.c

index 2224be7..e8dfb24 100644 (file)
 #define VC_IATTR_BARRIER               0x00010000u
 #define        VC_IATTR_IUNLINK                0x00020000u
 #define VC_IATTR_IMMUTABLE             0x00040000u
+#define VC_IATTR_COW                   0x00080000u
 
 
 // the flags
index 5188393..fa701ee 100644 (file)
@@ -204,6 +204,7 @@ int main(int argc, char *argv[])
       case CMD_HIDE            :  args.set_mask |= VC_IATTR_HIDE;      break;
       case CMD_BARRIER         :  args.set_mask |= VC_IATTR_BARRIER;   break;
       case CMD_WRITE           :  args.set_mask |= VC_IATTR_WRITE;     break;
+      case CMD_COW             :  args.set_mask |= VC_IATTR_COW;       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_IMMUTABLE :  args.del_mask |= VC_IATTR_IMMUTABLE; break;
@@ -212,6 +213,7 @@ int main(int argc, char *argv[])
       case CMD_UNSET_HIDE      :  args.del_mask |= VC_IATTR_HIDE;      break;
       case CMD_UNSET_BARRIER   :  args.del_mask |= VC_IATTR_BARRIER;   break;
       case CMD_UNSET_WRITE     :  args.del_mask |= VC_IATTR_WRITE;     break;
+      case CMD_UNSET_COW       :  args.del_mask |= VC_IATTR_COW;       break;
       case 'R'                 :  args.do_recurse     = true;          break;
       case 'a'                 :  args.do_display_dot = true;          break;
       case 'd'                 :  args.do_display_dir = true;          break;
index dfc4822..e8505cd 100644 (file)
@@ -34,6 +34,7 @@
 #define CMD_BARRIER            0x8014
 #define CMD_IMMUX              0x8015
 #define CMD_WRITE              0x8016
+#define CMD_COW                        0x8017
 #define CMD_UNSET_IMMU         0x8020
 #define CMD_UNSET_ADMIN                0x8021
 #define CMD_UNSET_WATCH                0x8022
@@ -42,6 +43,7 @@
 #define CMD_UNSET_IMMUX                0x8025
 #define CMD_UNSET_IMMUTABLE    0x8026
 #define CMD_UNSET_WRITE                0x8027
+#define CMD_UNSET_COW          0x8028
 
 
 struct stat;
index 60b0468..8063754 100644 (file)
@@ -64,6 +64,9 @@ CMDLINE_OPTIONS[] = {
   { "write",       no_argument, 0, CMD_WRITE },
   { "~write",      no_argument, 0, CMD_UNSET_WRITE },
   { "!write",      no_argument, 0, CMD_UNSET_WRITE },
+  { "cow",       no_argument, 0, CMD_COW },
+  { "~cow",      no_argument, 0, CMD_UNSET_COW },
+  { "!cow",      no_argument, 0, CMD_UNSET_COW },
   { 0,0,0,0 }
 };
 
@@ -75,7 +78,7 @@ showHelp(int fd, char const *cmd, int res)
   WRITE_MSG(fd, "Usage:  ");
   WRITE_STR(fd, cmd);
   WRITE_MSG(fd,
-           " [-Rx] [--[~](iunlink|admin|watch|hide|barrier|iunlink-but-not-immutable|immutable|write)]* [--] <file>+\n\n"
+           " [-Rx] [--[~](iunlink|admin|watch|hide|barrier|iunlink-but-not-immutable|immutable|write|cow)]* [--] <file>+\n\n"
            " Options:\n"
            "   -R  ...  recurse through directories\n"
            "   -x  ...  do not cross filesystems\n\n"