X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Fsrc%2Fshowattr.c;h=c5a04dda0acb9880035c723a335d9099f911608a;hb=a917f24ef7b003dcef54a3db2644cf9cb4bc2db2;hp=2062c120a7cf1b37f1b678e5882df4d75819715a;hpb=e0d0c3c5bdcd7fe1db5e7bfa956ad0b365f24d41;p=util-vserver.git diff --git a/util-vserver/src/showattr.c b/util-vserver/src/showattr.c index 2062c12..c5a04dd 100644 --- a/util-vserver/src/showattr.c +++ b/util-vserver/src/showattr.c @@ -80,14 +80,13 @@ fixupParams(struct Arguments UNUSED * args, int UNUSED argc) } static bool -getFlags(char const *name, struct stat const *exp_st, uint32_t *flags, uint32_t *mask) +getFlags(char const *name, uint32_t *flags, uint32_t *mask) { xid_t xid; *mask = ~0; - if (vc_get_iattr_compat(name, exp_st->st_dev, exp_st->st_ino, - &xid, flags, mask, &exp_st->st_mode)==-1) { - perror("vc_get_iattr_compat()"); + if (vc_get_iattr(name, &xid, flags, mask)==-1) { + perror("vc_get_iattr()"); return false; } @@ -95,8 +94,7 @@ getFlags(char const *name, struct stat const *exp_st, uint32_t *flags, uint32_t } bool -handleFile(char const *name, char const *display_name, - struct stat const *exp_st) +handleFile(char const *name, char const *display_name) { bool res = true; char buf[40]; @@ -106,14 +104,15 @@ handleFile(char const *name, char const *display_name, memset(buf, ' ', sizeof buf); - if (getFlags(name, exp_st, &flags, &mask)) { - // 1 1 0 0 - // fedcba9876543210fedcba9876543210 - static char const MARKER[33] = ".......x......ib.............hwa"; + if (getFlags(name, &flags, &mask)) { + // 1 1 0 0 + // fedcba9876543210fedcba9876543210 + static char const MARKER[33] = ".......x.....iub.............hwa"; int i; uint32_t used_flags = (VC_IATTR_XID|VC_IATTR_ADMIN| VC_IATTR_WATCH|VC_IATTR_HIDE| - VC_IATTR_BARRIER|VC_IATTR_IUNLINK); + VC_IATTR_BARRIER|VC_IATTR_IUNLINK| + VC_IATTR_IMMUTABLE); for (i=0; i<32; ++i) { if (used_flags & 1) { @@ -128,7 +127,7 @@ handleFile(char const *name, char const *display_name, } } else { - memcpy(buf, "ERR ", 6); + memcpy(buf, "ERR ", 7); res = false; }