Whamcloud - gitweb
LU-2082 osp: print address of object in osp_object_create()
[fs/lustre-release.git] / lustre / osp / osp_md_object.c
index f9b8aaa..9a59588 100644 (file)
@@ -322,7 +322,7 @@ static int osp_get_attr_from_req(const struct lu_env *env,
                return -EPROTO;
 
        obdo_le_to_cpu(wobdo, wobdo);
-       lustre_get_wire_obdo(lobdo, wobdo);
+       lustre_get_wire_obdo(NULL, lobdo, wobdo);
        la_from_obdo(attr, lobdo, lobdo->o_valid);
 
        return 0;
@@ -355,7 +355,7 @@ static int osp_md_declare_object_create(const struct lu_env *env,
        osi->osi_obdo.o_valid = 0;
        LASSERT(S_ISDIR(attr->la_mode));
        obdo_from_la(&osi->osi_obdo, attr, attr->la_valid);
-       lustre_set_wire_obdo(&osi->osi_obdo, &osi->osi_obdo);
+       lustre_set_wire_obdo(NULL, &osi->osi_obdo, &osi->osi_obdo);
        obdo_cpu_to_le(&osi->osi_obdo, &osi->osi_obdo);
 
        bufs[0] = (char *)&osi->osi_obdo;
@@ -545,7 +545,7 @@ static int osp_md_declare_attr_set(const struct lu_env *env,
        LASSERT(!(attr->la_valid & (LA_MODE | LA_TYPE)));
        obdo_from_la(&osi->osi_obdo, (struct lu_attr *)attr,
                     attr->la_valid);
-       lustre_set_wire_obdo(&osi->osi_obdo, &osi->osi_obdo);
+       lustre_set_wire_obdo(NULL, &osi->osi_obdo, &osi->osi_obdo);
        obdo_cpu_to_le(&osi->osi_obdo, &osi->osi_obdo);
 
        buf = (char *)&osi->osi_obdo;
@@ -579,6 +579,7 @@ static int osp_md_declare_xattr_set(const struct lu_env *env,
        char                    *bufs[3] = {(char *)name, (char *)buf->lb_buf };
        int                     rc;
 
+       LASSERT(buf->lb_len > 0 && buf->lb_buf != NULL);
        update = osp_find_create_update_loc(th, dt);
        if (IS_ERR(update)) {
                CERROR("%s: Get OSP update buf failed: rc = %d\n",
@@ -661,8 +662,9 @@ static int osp_md_xattr_get(const struct lu_env *env, struct dt_object *dt,
        LASSERT(size > 0 && size < CFS_PAGE_SIZE);
        LASSERT(ea_buf != NULL);
 
-       buf->lb_len = size;
-       memcpy(buf->lb_buf, ea_buf, size);
+       rc = size;
+       if (buf->lb_buf != NULL)
+               memcpy(buf->lb_buf, ea_buf, size);
 out:
        if (req != NULL)
                ptlrpc_req_finished(req);
@@ -932,9 +934,11 @@ static void osp_it_put(const struct lu_env *env, struct dt_it *di)
 static int osp_it_next(const struct lu_env *env, struct dt_it *di)
 {
        struct dt_object *dt = (struct dt_object *)di;
-       struct osp_object *osp_obj = dt2osp_obj(dt);
-       if (osp_obj->opo_empty)
+       struct osp_object *o = dt2osp_obj(dt);
+
+       if (o->opo_empty)
                return 1;
+
        return 0;
 }
 
@@ -1093,30 +1097,6 @@ static int osp_md_object_destroy(const struct lu_env *env,
        RETURN(rc);
 }
 
-struct dt_object_operations osp_md_obj_ops = {
-       .do_read_lock         = osp_md_object_read_lock,
-       .do_write_lock        = osp_md_object_write_lock,
-       .do_read_unlock       = osp_md_object_read_unlock,
-       .do_write_unlock      = osp_md_object_write_unlock,
-       .do_write_locked      = osp_md_object_write_locked,
-       .do_declare_create    = osp_md_declare_object_create,
-       .do_create            = osp_md_object_create,
-       .do_declare_ref_add   = osp_md_declare_ref_add,
-       .do_ref_add           = osp_md_object_ref_add,
-       .do_declare_ref_del   = osp_md_declare_object_ref_del,
-       .do_ref_del           = osp_md_object_ref_del,
-       .do_declare_destroy   = osp_md_declare_object_destroy,
-       .do_destroy           = osp_md_object_destroy,
-       .do_ah_init           = osp_md_ah_init,
-       .do_attr_get          = osp_md_attr_get,
-       .do_declare_attr_set  = osp_md_declare_attr_set,
-       .do_attr_set          = osp_md_attr_set,
-       .do_declare_xattr_set = osp_md_declare_xattr_set,
-       .do_xattr_set         = osp_md_xattr_set,
-       .do_xattr_get         = osp_md_xattr_get,
-       .do_index_try         = osp_md_index_try,
-};
-
 static int osp_md_object_lock(const struct lu_env *env,
                              struct dt_object *dt,
                              struct lustre_handle *lh,
@@ -1155,7 +1135,27 @@ static int osp_md_object_lock(const struct lu_env *env,
        return rc == ELDLM_OK ? 0 : -EIO;
 }
 
-struct dt_lock_operations osp_md_lock_ops = {
+struct dt_object_operations osp_md_obj_ops = {
+       .do_read_lock         = osp_md_object_read_lock,
+       .do_write_lock        = osp_md_object_write_lock,
+       .do_read_unlock       = osp_md_object_read_unlock,
+       .do_write_unlock      = osp_md_object_write_unlock,
+       .do_write_locked      = osp_md_object_write_locked,
+       .do_declare_create    = osp_md_declare_object_create,
+       .do_create            = osp_md_object_create,
+       .do_declare_ref_add   = osp_md_declare_ref_add,
+       .do_ref_add           = osp_md_object_ref_add,
+       .do_declare_ref_del   = osp_md_declare_object_ref_del,
+       .do_ref_del           = osp_md_object_ref_del,
+       .do_declare_destroy   = osp_md_declare_object_destroy,
+       .do_destroy           = osp_md_object_destroy,
+       .do_ah_init           = osp_md_ah_init,
+       .do_attr_get          = osp_md_attr_get,
+       .do_declare_attr_set  = osp_md_declare_attr_set,
+       .do_attr_set          = osp_md_attr_set,
+       .do_declare_xattr_set = osp_md_declare_xattr_set,
+       .do_xattr_set         = osp_md_xattr_set,
+       .do_xattr_get         = osp_md_xattr_get,
+       .do_index_try         = osp_md_index_try,
        .do_object_lock       = osp_md_object_lock,
 };
-