]> Pileus Git - ~andy/linux/commitdiff
Merge with /home/shaggy/git/linus-clean/
authorDave Kleikamp <shaggy@austin.ibm.com>
Tue, 24 Jan 2006 20:34:47 +0000 (14:34 -0600)
committerDave Kleikamp <shaggy@austin.ibm.com>
Tue, 24 Jan 2006 20:34:47 +0000 (14:34 -0600)
fs/jfs/jfs_dmap.c
fs/jfs/jfs_dtree.c

index 2967b73934151f2291b2d0123dacb2f125239020..038d8b76d113567054f6dc93f7292df1ade3030f 100644 (file)
@@ -125,7 +125,7 @@ static int dbGetL2AGSize(s64 nblocks);
  * into the table, with the table elements yielding the maximum
  * binary buddy of free bits within the character.
  */
-static s8 budtab[256] = {
+static const s8 budtab[256] = {
        3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
        2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
        2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
index 404f33eae50792b2d3508507745890c28600dce8..6c3f083198468a686af3ed7c4dcc6bcbaf782dd8 100644 (file)
@@ -1005,6 +1005,9 @@ static int dtSplitUp(tid_t tid,
 
                DT_PUTPAGE(smp);
 
+               if (!DO_INDEX(ip))
+                       ip->i_size = xlen << sbi->l2bsize;
+
                goto freeKeyName;
        }
 
@@ -1055,7 +1058,9 @@ static int dtSplitUp(tid_t tid,
                                xaddr = addressPXD(pxd) + xlen;
                                dbFree(ip, xaddr, (s64) n);
                        }
-               }
+               } else if (!DO_INDEX(ip))
+                       ip->i_size = lengthPXD(pxd) << sbi->l2bsize;
+
 
              extendOut:
                DT_PUTPAGE(smp);
@@ -1098,6 +1103,9 @@ static int dtSplitUp(tid_t tid,
                goto splitOut;
        }
 
+       if (!DO_INDEX(ip))
+               ip->i_size += PSIZE;
+
        /*
         * propagate up the router entry for the leaf page just split
         *
@@ -2424,6 +2432,9 @@ static int dtDeleteUp(tid_t tid, struct inode *ip,
                break;
        }
 
+       if (!DO_INDEX(ip))
+               ip->i_size -= PSIZE;
+
        return 0;
 }