X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Ftarget%2Ftgt_handler.c;h=8742c9aad682d6828b13c8f2ad3e2ce893c0ab81;hb=9cb4e3fcfdd314cff77b89e36cb7138f4e409c41;hp=af9cb580a8cd8294faea6b46aaa019fa794c1e97;hpb=0723b8be34503b31dbfc6c877d7a855091c625b4;p=fs%2Flustre-release.git diff --git a/lustre/target/tgt_handler.c b/lustre/target/tgt_handler.c index af9cb58..8742c9a 100644 --- a/lustre/target/tgt_handler.c +++ b/lustre/target/tgt_handler.c @@ -1417,7 +1417,7 @@ static int tgt_handle_lfsck_query(struct tgt_session_info *tsi) { struct lfsck_request *request; struct lfsck_reply *reply; - int rc = 0; + int rc; ENTRY; request = req_capsule_client_get(tsi->tsi_pill, &RMF_LFSCK_REQUEST); @@ -1428,12 +1428,10 @@ static int tgt_handle_lfsck_query(struct tgt_session_info *tsi) if (reply == NULL) RETURN(-ENOMEM); - reply->lr_status = tgt_lfsck_query(tsi->tsi_env, - tsi->tsi_tgt->lut_bottom, request); - if (reply->lr_status < 0) - rc = reply->lr_status; + rc = tgt_lfsck_query(tsi->tsi_env, tsi->tsi_tgt->lut_bottom, request); + reply->lr_status = rc; - RETURN(rc); + RETURN(rc < 0 ? rc : 0); } struct tgt_handler tgt_lfsck_handlers[] = { @@ -1542,15 +1540,16 @@ int tgt_brw_lock(struct ldlm_namespace *ns, struct ldlm_res_id *res_id, LASSERT(mode == LCK_PR || mode == LCK_PW); LASSERT(!lustre_handle_is_used(lh)); - if (nrbufs == 0 || !(nb[0].flags & OBD_BRW_SRVLOCK)) + if (nrbufs == 0 || !(nb[0].rnb_flags & OBD_BRW_SRVLOCK)) RETURN(0); for (i = 1; i < nrbufs; i++) - if (!(nb[i].flags & OBD_BRW_SRVLOCK)) + if (!(nb[i].rnb_flags & OBD_BRW_SRVLOCK)) RETURN(-EFAULT); - RETURN(tgt_extent_lock(ns, res_id, nb[0].offset, - nb[nrbufs - 1].offset + nb[nrbufs - 1].len - 1, + RETURN(tgt_extent_lock(ns, res_id, nb[0].rnb_offset, + nb[nrbufs - 1].rnb_offset + + nb[nrbufs - 1].rnb_len - 1, lh, mode, &flags)); } EXPORT_SYMBOL(tgt_brw_lock); @@ -1561,8 +1560,10 @@ void tgt_brw_unlock(struct obd_ioobj *obj, struct niobuf_remote *niob, ENTRY; LASSERT(mode == LCK_PR || mode == LCK_PW); - LASSERT((obj->ioo_bufcnt > 0 && (niob[0].flags & OBD_BRW_SRVLOCK)) == + LASSERT((obj->ioo_bufcnt > 0 && + (niob[0].rnb_flags & OBD_BRW_SRVLOCK)) == lustre_handle_is_used(lh)); + if (lustre_handle_is_used(lh)) tgt_extent_unlock(lh, mode); EXIT; @@ -1739,7 +1740,7 @@ int tgt_brw_read(struct tgt_session_info *tsi) nob = 0; for (i = 0; i < npages; i++) { - int page_rc = local_nb[i].rc; + int page_rc = local_nb[i].lnb_rc; if (page_rc < 0) { rc = page_rc; @@ -1748,16 +1749,16 @@ int tgt_brw_read(struct tgt_session_info *tsi) nob += page_rc; if (page_rc != 0) { /* some data! */ - LASSERT(local_nb[i].page != NULL); - ptlrpc_prep_bulk_page_nopin(desc, local_nb[i].page, + LASSERT(local_nb[i].lnb_page != NULL); + ptlrpc_prep_bulk_page_nopin(desc, local_nb[i].lnb_page, local_nb[i].lnb_page_offset, page_rc); } - if (page_rc != local_nb[i].len) { /* short read */ + if (page_rc != local_nb[i].lnb_len) { /* short read */ /* All subsequent pages should be 0 */ while (++i < npages) - LASSERT(local_nb[i].rc == 0); + LASSERT(local_nb[i].lnb_rc == 0); break; } } @@ -1872,7 +1873,7 @@ static void tgt_warn_on_cksum(struct ptlrpc_request *req, POSTID(&body->oa.o_oi), local_nb[0].lnb_file_offset, local_nb[npages-1].lnb_file_offset + - local_nb[npages-1].len - 1, + local_nb[npages - 1].lnb_len - 1, client_cksum, server_cksum); } @@ -1945,7 +1946,7 @@ int tgt_brw_write(struct tgt_session_info *tsi) sizeof(*remote_nb)) RETURN(err_serious(-EPROTO)); - if ((remote_nb[0].flags & OBD_BRW_MEMALLOC) && + if ((remote_nb[0].rnb_flags & OBD_BRW_MEMALLOC) && (exp->exp_connection->c_peer.nid == exp->exp_connection->c_self)) memory_pressure_set(); @@ -2008,9 +2009,9 @@ int tgt_brw_write(struct tgt_session_info *tsi) /* NB Having prepped, we must commit... */ for (i = 0; i < npages; i++) - ptlrpc_prep_bulk_page_nopin(desc, local_nb[i].page, + ptlrpc_prep_bulk_page_nopin(desc, local_nb[i].lnb_page, local_nb[i].lnb_page_offset, - local_nb[i].len); + local_nb[i].lnb_len); rc = sptlrpc_svc_prep_bulk(req, desc); if (rc != 0) @@ -2071,15 +2072,15 @@ skip_transfer: /* set per-requested niobuf return codes */ for (i = j = 0; i < niocount; i++) { - int len = remote_nb[i].len; + int len = remote_nb[i].rnb_len; nob += len; rcs[i] = 0; do { LASSERT(j < npages); - if (local_nb[j].rc < 0) - rcs[i] = local_nb[j].rc; - len -= local_nb[j].len; + if (local_nb[j].lnb_rc < 0) + rcs[i] = local_nb[j].lnb_rc; + len -= local_nb[j].lnb_len; j++; } while (len > 0); LASSERT(len == 0);