Whamcloud - gitweb
LU-2733 osd: not return "-ENOENT" for zfs osd_object_init
authorFan Yong <yong.fan@whamcloud.com>
Sat, 12 Jan 2013 23:02:35 +0000 (07:02 +0800)
committerOleg Drokin <oleg.drokin@intel.com>
Sat, 2 Feb 2013 07:00:09 +0000 (02:00 -0500)
For zfs backend, the osd_object_init() should not return
"-ENOENT" if osd_fid_lookup() cannot find the object,
which is normal for new created cases.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I76e5d802d0caf8ac3a9992278ec2f7c6c6e2cf07
Reviewed-on: http://review.whamcloud.com/5242
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Tested-by: Hudson
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
lustre/osd-zfs/osd_object.c

index b4fd1d3..ac6b52d 100644 (file)
@@ -382,6 +382,8 @@ static int osd_object_init(const struct lu_env *env, struct lu_object *l,
                        CERROR("%s: lookup "DFID"/"LPX64" failed: rc = %d\n",
                               osd->od_svname, PFID(lu_object_fid(l)), oid, rc);
                }
+       } else if (rc == -ENOENT) {
+               rc = 0;
        }
        LASSERT(osd_invariant(obj));
        RETURN(rc);