diff --git a/fs/jfs/jfs_imap.c b/fs/jfs/jfs_imap.c index a360b24ed320..ca25ff57c48a 100644 --- a/fs/jfs/jfs_imap.c +++ b/fs/jfs/jfs_imap.c @@ -2594,7 +2594,11 @@ diNewIAG(struct inomap * imap, int *iagnop, int agno, struct metapage ** mpp) txEnd(tid); mutex_unlock(&JFS_IP(ipimap)->commit_mutex); + IWRITE_UNLOCK(ipimap); + AG_UNLOCK(imap, agno); duplicateIXtree(sb, blkno, xlen, &xaddr); + AG_LOCK(imap, agno); + IWRITE_LOCK(ipimap, RDWRLOCK_IMAP); /* update the next available iag number */ imap->im_nextiag += 1;