Whamcloud - gitweb
b=22889 OSS Kernel panic - Kernel BUG at fs/jbd/transaction.c:1155
authorDmitry Zogin <dmitry.zoguine@oracle.com>
Fri, 4 Jun 2010 18:31:39 +0000 (14:31 -0400)
committerRobert Read <robert.read@oracle.com>
Fri, 4 Jun 2010 23:38:45 +0000 (16:38 -0700)
  extend truncate transaction to have enough blocks for last_rcvd and VBR

 o=andreas.dilger
 i=tappro
 i=oleg.drokin

lustre/obdfilter/filter.c

index e4bed09..e144254 100644 (file)
@@ -3273,9 +3273,9 @@ int filter_setattr_internal(struct obd_export *exp, struct dentry *dentry,
         if (OBD_FAIL_CHECK(OBD_FAIL_OST_SETATTR_CREDITS))
                 fsfilt_extend(exp->exp_obd, inode, 0, handle);
 
         if (OBD_FAIL_CHECK(OBD_FAIL_OST_SETATTR_CREDITS))
                 fsfilt_extend(exp->exp_obd, inode, 0, handle);
 
-        /* The truncate might have used up our transaction credits.  Make
-         * sure we have one left for the last_rcvd update. */
-        err = fsfilt_extend(exp->exp_obd, inode, 1, handle);
+       /* The truncate might have used up our transaction credits.  Make sure
+        * we have two left for the last_rcvd and VBR inode version updates. */
+        err = fsfilt_extend(exp->exp_obd, inode, 2, handle);
 
         rc = filter_finish_transno(exp, inode, oti, rc, sync);
         if (sync) {
 
         rc = filter_finish_transno(exp, inode, oti, rc, sync);
         if (sync) {