Lines Matching refs:ipimap
107 int diMount(struct inode *ipimap) in diMount() argument
126 mp = read_metapage(ipimap, in diMount()
127 IMAPBLKNO << JFS_SBI(ipimap->i_sb)->l2nbperpage, in diMount()
170 imap->im_ipimap = ipimap; in diMount()
171 JFS_IP(ipimap)->i_imap = imap; in diMount()
191 int diUnmount(struct inode *ipimap, int mounterror) in diUnmount() argument
193 struct inomap *imap = JFS_IP(ipimap)->i_imap; in diUnmount()
199 if (!(mounterror || isReadOnly(ipimap))) in diUnmount()
200 diSync(ipimap); in diUnmount()
205 truncate_inode_pages(ipimap->i_mapping, 0); in diUnmount()
219 int diSync(struct inode *ipimap) in diSync() argument
222 struct inomap *imp = JFS_IP(ipimap)->i_imap; in diSync()
230 mp = get_metapage(ipimap, in diSync()
231 IMAPBLKNO << JFS_SBI(ipimap->i_sb)->l2nbperpage, in diSync()
263 filemap_write_and_wait(ipimap->i_mapping); in diSync()
265 diWriteSpecial(ipimap, 0); in diSync()
308 struct inode *ipimap; in diRead() local
321 ipimap = sbi->ipimap; in diRead()
322 JFS_IP(ip)->ipimap = ipimap; in diRead()
328 imap = JFS_IP(ipimap)->i_imap; in diRead()
329 IREAD_LOCK(ipimap, RDWRLOCK_IMAP); in diRead()
331 IREAD_UNLOCK(ipimap); in diRead()
378 mp = read_metapage(ipimap, pageno << sbi->l2nbperpage, PSIZE, 1); in diRead()
445 JFS_IP(ip)->ipimap = sbi->ipaimap2; in diReadSpecial()
448 JFS_IP(ip)->ipimap = sbi->ipaimap; in diReadSpecial()
486 if ((inum == FILESYSTEM_I) && (JFS_IP(ip)->ipimap == sbi->ipaimap)) { in diReadSpecial()
613 struct inode *ipimap; in diWrite() local
621 ipimap = jfs_ip->ipimap; in diWrite()
627 JFS_IP(ipimap)->i_imap->im_nbperiext)) { in diWrite()
657 mp = read_metapage(ipimap, pageno << sbi->l2nbperpage, PSIZE, 1); in diWrite()
672 txLock(tid, ipimap, mp, tlckINODE | tlckENTRY)) == NULL) in diWrite()
872 struct inode *ipimap = JFS_SBI(ip->i_sb)->ipimap; in diFree() local
873 struct inomap *imap = JFS_IP(ipimap)->i_imap; in diFree()
912 IREAD_LOCK(ipimap, RDWRLOCK_IMAP); in diFree()
917 IREAD_UNLOCK(ipimap); in diFree()
937 IREAD_UNLOCK(ipimap); in diFree()
949 IREAD_UNLOCK(ipimap); in diFree()
978 IREAD_UNLOCK(ipimap); in diFree()
1000 IREAD_UNLOCK(ipimap); in diFree()
1133 IREAD_UNLOCK(ipimap); in diFree()
1249 tid = txBegin(ipimap->i_sb, COMMIT_FORCE); in diFree()
1250 mutex_lock(&JFS_IP(ipimap)->commit_mutex); in diFree()
1259 tlck = txLock(tid, ipimap, mp, tlckINODE | tlckFREE); in diFree()
1267 iplist[0] = ipimap; in diFree()
1283 mutex_unlock(&JFS_IP(ipimap)->commit_mutex); in diFree()
1291 IREAD_UNLOCK(ipimap); in diFree()
1346 struct inode *ipimap; in diAlloc() local
1355 ipimap = JFS_SBI(pip->i_sb)->ipimap; in diAlloc()
1356 imap = JFS_IP(ipimap)->i_imap; in diAlloc()
1357 JFS_IP(ip)->ipimap = ipimap; in diAlloc()
1403 IREAD_LOCK(ipimap, RDWRLOCK_IMAP); in diAlloc()
1408 IREAD_UNLOCK(ipimap); in diAlloc()
1446 IREAD_UNLOCK(ipimap); in diAlloc()
1515 IREAD_UNLOCK(ipimap); in diAlloc()
1529 IREAD_UNLOCK(ipimap); in diAlloc()
1583 IREAD_UNLOCK(ipimap); in diAlloc()
1596 IREAD_UNLOCK(ipimap); in diAlloc()
2175 struct inode *ipimap; in diNewExt() local
2192 ipimap = imap->im_ipimap; in diNewExt()
2193 sbi = JFS_SBI(ipimap->i_sb); in diNewExt()
2273 if ((rc = dbAlloc(ipimap, hint, (s64) imap->im_nbperiext, &blkno))) in diNewExt()
2287 dmp = get_metapage(ipimap, blkno + i, PSIZE, 1); in diNewExt()
2456 struct inode *ipimap; in diNewIAG() local
2467 ipimap = imap->im_ipimap; in diNewIAG()
2468 sb = ipimap->i_sb; in diNewIAG()
2489 IWRITE_LOCK(ipimap, RDWRLOCK_IMAP); in diNewIAG()
2491 if (ipimap->i_size >> L2PSIZE != imap->im_nextiag + 1) { in diNewIAG()
2492 IWRITE_UNLOCK(ipimap); in diNewIAG()
2508 IWRITE_UNLOCK(ipimap); in diNewIAG()
2522 if ((rc = dbAlloc(ipimap, 0, (s64) xlen, &xaddr))) { in diNewIAG()
2524 IWRITE_UNLOCK(ipimap); in diNewIAG()
2534 mutex_lock(&JFS_IP(ipimap)->commit_mutex); in diNewIAG()
2538 xtInsert(tid, ipimap, 0, blkno, xlen, &xaddr, 0))) { in diNewIAG()
2540 mutex_unlock(&JFS_IP(ipimap)->commit_mutex); in diNewIAG()
2544 dbFree(ipimap, xaddr, (s64) xlen); in diNewIAG()
2547 IWRITE_UNLOCK(ipimap); in diNewIAG()
2553 ipimap->i_size += PSIZE; in diNewIAG()
2554 inode_add_bytes(ipimap, PSIZE); in diNewIAG()
2557 mp = get_metapage(ipimap, blkno, PSIZE, 0); in diNewIAG()
2563 xtTruncate(tid, ipimap, ipimap->i_size - PSIZE, in diNewIAG()
2568 mutex_unlock(&JFS_IP(ipimap)->commit_mutex); in diNewIAG()
2571 IWRITE_UNLOCK(ipimap); in diNewIAG()
2603 iplist[0] = ipimap; in diNewIAG()
2607 mutex_unlock(&JFS_IP(ipimap)->commit_mutex); in diNewIAG()
2622 diSync(ipimap); in diNewIAG()
2625 IWRITE_UNLOCK(ipimap); in diNewIAG()
2629 IREAD_LOCK(ipimap, RDWRLOCK_IMAP); in diNewIAG()
2633 IREAD_UNLOCK(ipimap); in diNewIAG()
2677 struct inode *ipimap = imap->im_ipimap; in diIAGRead() local
2681 blkno = IAGTOLBLK(iagno, JFS_SBI(ipimap->i_sb)->l2nbperpage); in diIAGRead()
2684 *mpp = read_metapage(ipimap, blkno, PSIZE, 0); in diIAGRead()
2737 diUpdatePMap(struct inode *ipimap, in diUpdatePMap() argument
2750 imap = JFS_IP(ipimap)->i_imap; in diUpdatePMap()
2755 jfs_error(ipimap->i_sb, "the iag is outside the map\n"); in diUpdatePMap()
2759 IREAD_LOCK(ipimap, RDWRLOCK_IMAP); in diUpdatePMap()
2761 IREAD_UNLOCK(ipimap); in diUpdatePMap()
2783 jfs_error(ipimap->i_sb, in diUpdatePMap()
2788 jfs_error(ipimap->i_sb, in diUpdatePMap()
2804 jfs_error(ipimap->i_sb, in diUpdatePMap()
2810 jfs_error(ipimap->i_sb, in diUpdatePMap()
2859 int diExtendFS(struct inode *ipimap, struct inode *ipbmap) in diExtendFS() argument
2862 struct inomap *imap = JFS_IP(ipimap)->i_imap; in diExtendFS()
2903 jfs_error(ipimap->i_sb, "unexpected value of iagnum\n"); in diExtendFS()
2979 jfs_error(ipimap->i_sb, "numinos or numfree incorrect\n"); in diExtendFS()