diff options
author | Dave Kleikamp <shaggy@austin.ibm.com> | 2005-06-02 12:18:20 -0500 |
---|---|---|
committer | Dave Kleikamp <shaggy@austin.ibm.com> | 2005-06-02 12:18:20 -0500 |
commit | c2731509cfb538b9b38feaf657fab2334ea45253 (patch) | |
tree | cb7ad2847067b5ba436b78077c4abc61ce736444 /fs/jfs | |
parent | 7078253c085c037c070ca4e8bc9e9e7f18aa1e84 (diff) | |
download | linux-c2731509cfb538b9b38feaf657fab2334ea45253.tar.gz linux-c2731509cfb538b9b38feaf657fab2334ea45253.tar.bz2 linux-c2731509cfb538b9b38feaf657fab2334ea45253.zip |
JFS: kernel BUG at fs/jfs/jfs_txnmgr.c:859
add_missing_indices() must set tlck->type to tlckBTROOT when modifying
a root btree root to avoid a trap in txRelease()
Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com>
Diffstat (limited to 'fs/jfs')
-rw-r--r-- | fs/jfs/jfs_dtree.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/jfs/jfs_dtree.c b/fs/jfs/jfs_dtree.c index ac41f72d6d50..8676aee3ae48 100644 --- a/fs/jfs/jfs_dtree.c +++ b/fs/jfs/jfs_dtree.c @@ -2931,6 +2931,9 @@ static void add_missing_indices(struct inode *inode, s64 bn) ASSERT(p->header.flag & BT_LEAF); tlck = txLock(tid, inode, mp, tlckDTREE | tlckENTRY); + if (BT_IS_ROOT(mp)) + tlck->type |= tlckBTROOT; + dtlck = (struct dt_lock *) &tlck->lock; stbl = DT_GETSTBL(p); |