Whamcloud - gitweb
LU-1747 osd-zfs: Return zero when deleting nonexistent EAS
authorMinh Diep <mdiep@whamcloud.com>
Fri, 31 Aug 2012 04:33:54 +0000 (21:33 -0700)
committerOleg Drokin <green@whamcloud.com>
Mon, 17 Sep 2012 21:49:52 +0000 (17:49 -0400)
sanity 103 with ZFS targets fails:

[22] $ strace -o /tmp/tmo.strace cp -rp h i -- failed
 ~                                     ? cp: preserving permissions
for `i/x': No such file or directory
 ~                                     ? cp: preserving permissions
for `i': No such file or directory

The ENOENTs came from osd-zfs's osd_xattr_del(), when MDD tried to
delete "system.posix_acl_access".

Test-Parameters: envdefinitions=USE_OFD=yes,LOAD_MODULES_REMOTE=true
Signed-off-by: Minh Diep <mdiep@whamcloud.com>
Change-Id: I3736b1a89bec3174f7e0a6a848870adfa248d186
Reviewed-on: http://review.whamcloud.com/3833
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Li Wei <liwei@whamcloud.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
lustre/osd-zfs/osd_xattr.c

index c7ea065..614067c 100644 (file)
@@ -666,7 +666,7 @@ int __osd_xattr_del(const struct lu_env *env, struct osd_object *obj,
                return rc;
 
        if (obj->oo_xattr == ZFS_NO_OBJECT)
-               return rc;
+               return 0;
 
        rc = -zap_lookup(uos->os, obj->oo_xattr, name, sizeof(uint64_t), 1,
                        &xa_data_obj);