Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/shaggy/jfs-2.6

+14 -7
+1 -2
fs/jfs/inode.c
··· 129 jfs_info("In jfs_delete_inode, inode = 0x%p", inode); 130 131 if (!is_bad_inode(inode) && 132 - (JFS_IP(inode)->fileset == cpu_to_le32(FILESYSTEM_I))) { 133 - 134 truncate_inode_pages(&inode->i_data, 0); 135 136 if (test_cflag(COMMIT_Freewmap, inode))
··· 129 jfs_info("In jfs_delete_inode, inode = 0x%p", inode); 130 131 if (!is_bad_inode(inode) && 132 + (JFS_IP(inode)->fileset == FILESYSTEM_I)) { 133 truncate_inode_pages(&inode->i_data, 0); 134 135 if (test_cflag(COMMIT_Freewmap, inode))
+1 -1
fs/jfs/jfs_dmap.c
··· 3055 * RETURN VALUES: 3056 * log2 number of blocks 3057 */ 3058 - int blkstol2(s64 nb) 3059 { 3060 int l2nb; 3061 s64 mask; /* meant to be signed */
··· 3055 * RETURN VALUES: 3056 * log2 number of blocks 3057 */ 3058 + static int blkstol2(s64 nb) 3059 { 3060 int l2nb; 3061 s64 mask; /* meant to be signed */
+11 -4
fs/jfs/jfs_txnmgr.c
··· 725 else 726 tlck->flag = tlckINODELOCK; 727 728 tlck->type = 0; 729 730 /* bind the tlock and the page */ ··· 1012 1013 /* bind the tlock and the object */ 1014 tlck->flag = tlckINODELOCK; 1015 tlck->ip = ip; 1016 tlck->mp = NULL; 1017 ··· 1082 linelock->flag = tlckLINELOCK; 1083 linelock->maxcnt = TLOCKLONG; 1084 linelock->index = 0; 1085 1086 /* append linelock after tlock */ 1087 linelock->next = tlock->next; ··· 2077 * 2078 * function: log from maplock of freed data extents; 2079 */ 2080 - void mapLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd, 2081 - struct tlock * tlck) 2082 { 2083 struct pxd_lock *pxdlock; 2084 int i, nlock; ··· 2216 * function: synchronously write pages locked by transaction 2217 * after txLog() but before txUpdateMap(); 2218 */ 2219 - void txForce(struct tblock * tblk) 2220 { 2221 struct tlock *tlck; 2222 lid_t lid, next; ··· 2365 */ 2366 else { /* (maplock->flag & mlckFREE) */ 2367 2368 - if (S_ISDIR(tlck->ip->i_mode)) 2369 txFreeMap(ipimap, maplock, 2370 tblk, COMMIT_PWMAP); 2371 else
··· 725 else 726 tlck->flag = tlckINODELOCK; 727 728 + if (S_ISDIR(ip->i_mode)) 729 + tlck->flag |= tlckDIRECTORY; 730 + 731 tlck->type = 0; 732 733 /* bind the tlock and the page */ ··· 1009 1010 /* bind the tlock and the object */ 1011 tlck->flag = tlckINODELOCK; 1012 + if (S_ISDIR(ip->i_mode)) 1013 + tlck->flag |= tlckDIRECTORY; 1014 tlck->ip = ip; 1015 tlck->mp = NULL; 1016 ··· 1077 linelock->flag = tlckLINELOCK; 1078 linelock->maxcnt = TLOCKLONG; 1079 linelock->index = 0; 1080 + if (tlck->flag & tlckDIRECTORY) 1081 + linelock->flag |= tlckDIRECTORY; 1082 1083 /* append linelock after tlock */ 1084 linelock->next = tlock->next; ··· 2070 * 2071 * function: log from maplock of freed data extents; 2072 */ 2073 + static void mapLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd, 2074 + struct tlock * tlck) 2075 { 2076 struct pxd_lock *pxdlock; 2077 int i, nlock; ··· 2209 * function: synchronously write pages locked by transaction 2210 * after txLog() but before txUpdateMap(); 2211 */ 2212 + static void txForce(struct tblock * tblk) 2213 { 2214 struct tlock *tlck; 2215 lid_t lid, next; ··· 2358 */ 2359 else { /* (maplock->flag & mlckFREE) */ 2360 2361 + if (tlck->flag & tlckDIRECTORY) 2362 txFreeMap(ipimap, maplock, 2363 tblk, COMMIT_PWMAP); 2364 else
+1
fs/jfs/jfs_txnmgr.h
··· 122 #define tlckLOG 0x0800 123 /* updateMap state */ 124 #define tlckUPDATEMAP 0x0080 125 /* freeLock state */ 126 #define tlckFREELOCK 0x0008 127 #define tlckWRITEPAGE 0x0004
··· 122 #define tlckLOG 0x0800 123 /* updateMap state */ 124 #define tlckUPDATEMAP 0x0080 125 + #define tlckDIRECTORY 0x0040 126 /* freeLock state */ 127 #define tlckFREELOCK 0x0008 128 #define tlckWRITEPAGE 0x0004