Whamcloud - gitweb
LU-9679 general: add missing spaces near punctuation
[fs/lustre-release.git] / lustre / mdt / mdt_io.c
index b4b6802..840e4d7 100644 (file)
@@ -204,14 +204,14 @@ static int mdt_rw_hpreq_check(struct ptlrpc_request *req)
        if (opc == OST_READ)
                pa.lpa_mode |= LCK_PR;
 
-       DEBUG_REQ(D_RPCTRACE, req, "%s %s: refresh rw locks: "DFID"\n",
+       DEBUG_REQ(D_RPCTRACE, req, "%s %s: refresh rw locks for " DFID,
                  tgt_name(tsi->tsi_tgt), current->comm, PFID(&tsi->tsi_fid));
 
        mdt_prolong_dom_lock(tsi, &pa);
 
        if (pa.lpa_blocks_cnt > 0) {
                CDEBUG(D_DLMTRACE,
-                      "%s: refreshed %u locks timeout for req %p.\n",
+                      "%s: refreshed %u locks timeout for req %p\n",
                       tgt_name(tsi->tsi_tgt), pa.lpa_blocks_cnt, req);
                RETURN(1);
        }
@@ -383,6 +383,7 @@ static int mdt_preprw_read(const struct lu_env *env, struct obd_export *exp,
 {
        struct dt_object *dob;
        int i, j, rc, tot_bytes = 0;
+       int maxlnb = *nr_local;
        int level;
 
        ENTRY;
@@ -420,11 +421,12 @@ static int mdt_preprw_read(const struct lu_env *env, struct obd_export *exp,
        dob = mdt_obj2dt(mo);
        /* parse remote buffers to local buffers and prepare the latter */
        for (i = 0, j = 0; i < niocount; i++) {
-               rc = dt_bufs_get(env, dob, rnb + i, lnb + j, 0);
+               rc = dt_bufs_get(env, dob, rnb + i, lnb + j, maxlnb, 0);
                if (unlikely(rc < 0))
                        GOTO(buf_put, rc);
                /* correct index for local buffers to continue with */
                j += rc;
+               maxlnb -= rc;
                *nr_local += rc;
                tot_bytes += rnb[i].rnb_len;
        }
@@ -454,6 +456,7 @@ static int mdt_preprw_write(const struct lu_env *env, struct obd_export *exp,
 {
        struct dt_object *dob;
        int i, j, k, rc = 0, tot_bytes = 0;
+       int maxlnb = *nr_local;
 
        ENTRY;
 
@@ -491,7 +494,7 @@ static int mdt_preprw_write(const struct lu_env *env, struct obd_export *exp,
        dob = mdt_obj2dt(mo);
        /* parse remote buffers to local buffers and prepare the latter */
        for (i = 0, j = 0; i < obj->ioo_bufcnt; i++) {
-               rc = dt_bufs_get(env, dob, rnb + i, lnb + j, 1);
+               rc = dt_bufs_get(env, dob, rnb + i, lnb + j, maxlnb, 1);
                if (unlikely(rc < 0))
                        GOTO(err, rc);
                /* correct index for local buffers to continue with */
@@ -501,6 +504,7 @@ static int mdt_preprw_write(const struct lu_env *env, struct obd_export *exp,
                                lnb[j + k].lnb_rc = -ENOSPC;
                }
                j += rc;
+               maxlnb -= rc;
                *nr_local += rc;
                tot_bytes += rnb[i].rnb_len;
        }
@@ -983,7 +987,7 @@ int mdt_do_glimpse(const struct lu_env *env, struct ldlm_namespace *ns,
        enum ldlm_mode mode;
        struct ldlm_lock *lock;
        struct ldlm_glimpse_work *gl_work;
-       struct list_head gl_list;
+       LIST_HEAD(gl_list);
        int rc;
 
        ENTRY;
@@ -1024,7 +1028,6 @@ int mdt_do_glimpse(const struct lu_env *env, struct ldlm_namespace *ns,
        gl_work->gl_lock = LDLM_LOCK_GET(lock);
        /* The glimpse callback is sent to one single IO lock. As a result,
         * the gl_work list is just composed of one element */
-       INIT_LIST_HEAD(&gl_list);
        list_add_tail(&gl_work->gl_list, &gl_list);
        /* There is actually no need for a glimpse descriptor when glimpsing
         * IO locks */
@@ -1507,7 +1510,7 @@ int mdt_dom_read_on_open(struct mdt_thread_info *mti, struct mdt_device *mdt,
                len = tail;
                offset = mbo->mbo_dom_size - len;
        }
-       LASSERT((offset % PAGE_SIZE) == 0);
+       LASSERT((offset & ~PAGE_MASK) == 0);
        rc = req_capsule_server_grow(pill, &RMF_NIOBUF_INLINE,
                                     sizeof(*rnb) + len);
        if (rc != 0) {
@@ -1544,7 +1547,7 @@ int mdt_dom_read_on_open(struct mdt_thread_info *mti, struct mdt_device *mdt,
        if (lnb == NULL)
                GOTO(unlock, rc = -ENOMEM);
 
-       rc = dt_bufs_get(env, mo, rnb, lnb, 0);
+       rc = dt_bufs_get(env, mo, rnb, lnb, lnbs, 0);
        if (unlikely(rc < 0))
                GOTO(free, rc);
        LASSERT(rc <= lnbs);