Changeset 2732

Show
Ignore:
Timestamp:
07/11/08 17:20:35 (4 months ago)
Author:
dhozac
Message:

Add support for IATTR_WRITE.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lib/vserver.h

    r2716 r2732  
    152152#define VC_IATTR_WATCH                  0x00000002u 
    153153#define VC_IATTR_HIDE                   0x00000004u 
    154 #define VC_IATTR_FLAGS                  0x00000007u 
     154#define VC_IATTR_WRITE                  0x00000008u 
     155#define VC_IATTR_FLAGS                  0x0000000fu 
    155156 
    156157#define VC_IATTR_BARRIER                0x00010000u 
  • trunk/src/fstool.c

    r2473 r2732  
    204204      case CMD_HIDE             :  args.set_mask |= VC_IATTR_HIDE;      break; 
    205205      case CMD_BARRIER          :  args.set_mask |= VC_IATTR_BARRIER;   break; 
     206      case CMD_WRITE            :  args.set_mask |= VC_IATTR_WRITE;     break; 
    206207      case CMD_UNSET_IMMU       :  args.del_mask |= VC_IATTR_IMMUTABLE; /*@fallthrough@*/ 
    207208      case CMD_UNSET_IMMUX      :  args.del_mask |= VC_IATTR_IUNLINK;   break; 
     
    211212      case CMD_UNSET_HIDE       :  args.del_mask |= VC_IATTR_HIDE;      break; 
    212213      case CMD_UNSET_BARRIER    :  args.del_mask |= VC_IATTR_BARRIER;   break; 
     214      case CMD_UNSET_WRITE      :  args.del_mask |= VC_IATTR_WRITE;     break; 
    213215      case 'R'                  :  args.do_recurse     = true;          break; 
    214216      case 'a'                  :  args.do_display_dot = true;          break; 
  • trunk/src/fstool.h

    r2473 r2732  
    3434#define CMD_BARRIER             0x8014 
    3535#define CMD_IMMUX               0x8015 
     36#define CMD_WRITE               0x8016 
    3637#define CMD_UNSET_IMMU          0x8020 
    3738#define CMD_UNSET_ADMIN         0x8021 
     
    4142#define CMD_UNSET_IMMUX         0x8025 
    4243#define CMD_UNSET_IMMUTABLE     0x8026 
     44#define CMD_UNSET_WRITE         0x8027 
    4345 
    4446 
  • trunk/src/setattr.c

    r2592 r2732  
    6262  { "~immutable",  no_argument, 0, CMD_UNSET_IMMUTABLE }, 
    6363  { "!immutable",  no_argument, 0, CMD_UNSET_IMMUTABLE }, 
     64  { "write",       no_argument, 0, CMD_WRITE }, 
     65  { "~write",      no_argument, 0, CMD_UNSET_WRITE }, 
     66  { "!write",      no_argument, 0, CMD_UNSET_WRITE }, 
    6467  { 0,0,0,0 } 
    6568}; 
     
    7376  WRITE_STR(fd, cmd); 
    7477  WRITE_MSG(fd, 
    75             " [-Rx] [--[~](iunlink|admin|watch|hide|barrier|iunlink-but-not-immutable|immutable)]* [--] <file>+\n\n" 
     78            " [-Rx] [--[~](iunlink|admin|watch|hide|barrier|iunlink-but-not-immutable|immutable|write)]* [--] <file>+\n\n" 
    7679            " Options:\n" 
    7780            "   -R  ...  recurse through directories\n" 
  • trunk/src/showattr.c

    r1980 r2732  
    108108      //                                     1       1       0       0 
    109109      //                              fedcba9876543210fedcba9876543210 
    110     static char const   MARKER[33] = ".......x.....iub.............hwa"; 
     110    static char const   MARKER[33] = ".......x.....iub............mhwa"; 
    111111    int         i; 
    112112    uint32_t            used_flags = (VC_IATTR_XID|VC_IATTR_ADMIN| 
    113113                                      VC_IATTR_WATCH|VC_IATTR_HIDE| 
    114114                                      VC_IATTR_BARRIER|VC_IATTR_IUNLINK| 
    115                                       VC_IATTR_IMMUTABLE); 
     115                                      VC_IATTR_IMMUTABLE|VC_IATTR_WRITE); 
    116116 
    117117    for (i=0; i<32; ++i) { 
     
    128128  }       
    129129  else { 
    130     memcpy(buf, "ERR   ", 7); 
     130    memcpy(buf, "ERR    ", 8); 
    131131    res = false; 
    132132  } 
    133133 
    134   Vwrite(1, buf, 8); 
     134  Vwrite(1, buf, 9); 
    135135  Vwrite(1, display_name, strlen(display_name)); 
    136136  Vwrite(1, "\n", 1);