From: Aneesh Kumar K.V Date: Wed, 27 Apr 2011 06:56:43 +0000 (+0530) Subject: virtio-9p: removexattr on default acl should return 0 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=a09947617cc3d0035f485d9804cd26c5a895b683;p=osstest%2Fqemu.git 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 Signed-off-by: Venkateswararao Jujjuri --- diff --git a/hw/9pfs/virtio-9p-posix-acl.c b/hw/9pfs/virtio-9p-posix-acl.c index e4e077710..575abe86b 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; }