X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fosd-zfs%2Fosd_io.c;h=3fe29ef287d88762af882db66423e111542db91f;hb=df1d59429cbfd1ea2464e863458b6a4a268e516b;hp=c041c8e91c9a89105a658bcb3fd9c4e7c0d4e75e;hpb=11db1a551172f596d1d284e8496530f9ce24ac81;p=fs%2Flustre-release.git diff --git a/lustre/osd-zfs/osd_io.c b/lustre/osd-zfs/osd_io.c index c041c8e..3fe29ef 100644 --- a/lustre/osd-zfs/osd_io.c +++ b/lustre/osd-zfs/osd_io.c @@ -328,7 +328,7 @@ static int osd_bufs_get_write(const struct lu_env *env, struct osd_object *obj, { struct osd_device *osd = osd_obj2dev(obj); int plen, off_in_block, sz_in_block; - int i = 0, npages = 0; + int rc, i = 0, npages = 0; arc_buf_t *abuf; uint32_t bs; uint64_t dummy; @@ -351,7 +351,7 @@ static int osd_bufs_get_write(const struct lu_env *env, struct osd_object *obj, abuf = dmu_request_arcbuf(obj->oo_db, bs); if (unlikely(abuf == NULL)) - GOTO(out_err, -ENOMEM); + GOTO(out_err, rc = -ENOMEM); cfs_atomic_inc(&osd->od_zerocopy_loan); @@ -402,7 +402,7 @@ static int osd_bufs_get_write(const struct lu_env *env, struct osd_object *obj, lnb[i].page = alloc_page(OSD_GFP_IO); if (unlikely(lnb[i].page == NULL)) - GOTO(out_err, -ENOMEM); + GOTO(out_err, rc = -ENOMEM); LASSERT(lnb[i].page->mapping == NULL); lnb[i].page->mapping = (void *)obj; @@ -424,7 +424,7 @@ static int osd_bufs_get_write(const struct lu_env *env, struct osd_object *obj, out_err: osd_bufs_put(env, &obj->oo_dt, lnb, npages); - RETURN(-ENOMEM); + RETURN(rc); } static int osd_bufs_get(const struct lu_env *env, struct dt_object *dt,