Whamcloud - gitweb
LU-1824 obdfilter: reset lnb[n].rc in filter_grant_check()
[fs/lustre-release.git] / lustre / obdfilter / filter_io.c
index df261ab..a946d90 100644 (file)
@@ -540,6 +540,7 @@ static int filter_grant_check(struct obd_export *exp, struct obdo *oa,
                         if (tmp)
                                 bytes += blocksize - tmp;
 
+                       lnb[n].rc = 0;
                         if ((lnb[n].flags & OBD_BRW_FROM_GRANT) &&
                             (oa->o_valid & OBD_MD_FLGRANT)) {
                                 if (resend) {
@@ -786,12 +787,11 @@ retry:
                CDEBUG(D_INODE, "retry after commit pending journals");
 
                retries = 1;
-               handle = fsfilt_start_log(obd, dentry->d_inode,
-                                         FSFILT_OP_SETATTR, NULL, 1);
-               if (handle != NULL) {
-                       fsfilt_commit_wait(obd, dentry->d_inode, handle);
+               handle = fsfilt_start(obd, dentry->d_inode,
+                                     FSFILT_OP_SETATTR, NULL);
+               if (handle != NULL &&
+                   fsfilt_commit(obd, dentry->d_inode, handle, 1) == 0)
                        goto retry;
-               }
        }
 
         filter_fmd_put(exp, fmd);