diff options
author | Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> | 2011-04-27 12:26:43 +0530 |
---|---|---|
committer | Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com> | 2011-04-27 08:26:05 -0700 |
commit | a09947617cc3d0035f485d9804cd26c5a895b683 (patch) | |
tree | a31be067a5702088b4a3dbbcd6a3e9a24ec3fd06 /hw/9pfs/virtio-9p-posix-acl.c | |
parent | 39792515185350a21ec84b9eb65aafd0bb65525c (diff) |
virtio-9p: removexattr on default acl should return 0
If we don't have default acl, removexattr on default acl
should return 0
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
Diffstat (limited to 'hw/9pfs/virtio-9p-posix-acl.c')
-rw-r--r-- | hw/9pfs/virtio-9p-posix-acl.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/hw/9pfs/virtio-9p-posix-acl.c b/hw/9pfs/virtio-9p-posix-acl.c index e4e0777107..575abe86b0 100644 --- a/hw/9pfs/virtio-9p-posix-acl.c +++ b/hw/9pfs/virtio-9p-posix-acl.c @@ -60,7 +60,7 @@ static int mp_pacl_removexattr(FsContext *ctx, ret = lremovexattr(rpath(ctx, path), MAP_ACL_ACCESS); if (ret == -1 && errno == ENODATA) { /* - * We don't get ENODATA error when trying to remote a + * We don't get ENODATA error when trying to remove a * posix acl that is not present. So don't throw the error * even in case of mapped security model */ @@ -103,7 +103,18 @@ static int mp_dacl_setxattr(FsContext *ctx, const char *path, const char *name, static int mp_dacl_removexattr(FsContext *ctx, const char *path, const char *name) { - return lremovexattr(rpath(ctx, path), MAP_ACL_DEFAULT); + int ret; + ret = lremovexattr(rpath(ctx, path), MAP_ACL_DEFAULT); + if (ret == -1 && errno == ENODATA) { + /* + * We don't get ENODATA error when trying to remove a + * posix acl that is not present. So don't throw the error + * even in case of mapped security model + */ + errno = 0; + ret = 0; + } + return ret; } |