Lines Matching refs:ipimap
94 int diMount(struct inode *ipimap) in diMount() argument
113 mp = read_metapage(ipimap, in diMount()
114 IMAPBLKNO << JFS_SBI(ipimap->i_sb)->l2nbperpage, in diMount()
157 imap->im_ipimap = ipimap; in diMount()
158 JFS_IP(ipimap)->i_imap = imap; in diMount()
178 int diUnmount(struct inode *ipimap, int mounterror) in diUnmount() argument
180 struct inomap *imap = JFS_IP(ipimap)->i_imap; in diUnmount()
186 if (!(mounterror || isReadOnly(ipimap))) in diUnmount()
187 diSync(ipimap); in diUnmount()
192 truncate_inode_pages(ipimap->i_mapping, 0); in diUnmount()
206 int diSync(struct inode *ipimap) in diSync() argument
209 struct inomap *imp = JFS_IP(ipimap)->i_imap; in diSync()
217 mp = get_metapage(ipimap, in diSync()
218 IMAPBLKNO << JFS_SBI(ipimap->i_sb)->l2nbperpage, in diSync()
250 filemap_write_and_wait(ipimap->i_mapping); in diSync()
252 diWriteSpecial(ipimap, 0); in diSync()
295 struct inode *ipimap; in diRead() local
308 ipimap = sbi->ipimap; in diRead()
309 JFS_IP(ip)->ipimap = ipimap; in diRead()
315 imap = JFS_IP(ipimap)->i_imap; in diRead()
316 IREAD_LOCK(ipimap, RDWRLOCK_IMAP); in diRead()
318 IREAD_UNLOCK(ipimap); in diRead()
365 mp = read_metapage(ipimap, pageno << sbi->l2nbperpage, PSIZE, 1); in diRead()
432 JFS_IP(ip)->ipimap = sbi->ipaimap2; in diReadSpecial()
435 JFS_IP(ip)->ipimap = sbi->ipaimap; in diReadSpecial()
473 if ((inum == FILESYSTEM_I) && (JFS_IP(ip)->ipimap == sbi->ipaimap)) { in diReadSpecial()
593 struct inode *ipimap; in diWrite() local
601 ipimap = jfs_ip->ipimap; in diWrite()
607 JFS_IP(ipimap)->i_imap->im_nbperiext)) { in diWrite()
637 mp = read_metapage(ipimap, pageno << sbi->l2nbperpage, PSIZE, 1); in diWrite()
652 txLock(tid, ipimap, mp, tlckINODE | tlckENTRY)) == NULL) in diWrite()
852 struct inode *ipimap = JFS_SBI(ip->i_sb)->ipimap; in diFree() local
853 struct inomap *imap = JFS_IP(ipimap)->i_imap; in diFree()
892 IREAD_LOCK(ipimap, RDWRLOCK_IMAP); in diFree()
897 IREAD_UNLOCK(ipimap); in diFree()
917 IREAD_UNLOCK(ipimap); in diFree()
929 IREAD_UNLOCK(ipimap); in diFree()
958 IREAD_UNLOCK(ipimap); in diFree()
980 IREAD_UNLOCK(ipimap); in diFree()
1113 IREAD_UNLOCK(ipimap); in diFree()
1229 tid = txBegin(ipimap->i_sb, COMMIT_FORCE); in diFree()
1230 mutex_lock(&JFS_IP(ipimap)->commit_mutex); in diFree()
1239 tlck = txLock(tid, ipimap, mp, tlckINODE | tlckFREE); in diFree()
1247 iplist[0] = ipimap; in diFree()
1263 mutex_unlock(&JFS_IP(ipimap)->commit_mutex); in diFree()
1271 IREAD_UNLOCK(ipimap); in diFree()
1326 struct inode *ipimap; in diAlloc() local
1335 ipimap = JFS_SBI(pip->i_sb)->ipimap; in diAlloc()
1336 imap = JFS_IP(ipimap)->i_imap; in diAlloc()
1337 JFS_IP(ip)->ipimap = ipimap; in diAlloc()
1383 IREAD_LOCK(ipimap, RDWRLOCK_IMAP); in diAlloc()
1388 IREAD_UNLOCK(ipimap); in diAlloc()
1426 IREAD_UNLOCK(ipimap); in diAlloc()
1495 IREAD_UNLOCK(ipimap); in diAlloc()
1509 IREAD_UNLOCK(ipimap); in diAlloc()
1563 IREAD_UNLOCK(ipimap); in diAlloc()
1576 IREAD_UNLOCK(ipimap); in diAlloc()
2155 struct inode *ipimap; in diNewExt() local
2172 ipimap = imap->im_ipimap; in diNewExt()
2173 sbi = JFS_SBI(ipimap->i_sb); in diNewExt()
2253 if ((rc = dbAlloc(ipimap, hint, (s64) imap->im_nbperiext, &blkno))) in diNewExt()
2267 dmp = get_metapage(ipimap, blkno + i, PSIZE, 1); in diNewExt()
2436 struct inode *ipimap; in diNewIAG() local
2447 ipimap = imap->im_ipimap; in diNewIAG()
2448 sb = ipimap->i_sb; in diNewIAG()
2469 IWRITE_LOCK(ipimap, RDWRLOCK_IMAP); in diNewIAG()
2471 if (ipimap->i_size >> L2PSIZE != imap->im_nextiag + 1) { in diNewIAG()
2472 IWRITE_UNLOCK(ipimap); in diNewIAG()
2488 IWRITE_UNLOCK(ipimap); in diNewIAG()
2502 if ((rc = dbAlloc(ipimap, 0, (s64) xlen, &xaddr))) { in diNewIAG()
2504 IWRITE_UNLOCK(ipimap); in diNewIAG()
2514 mutex_lock(&JFS_IP(ipimap)->commit_mutex); in diNewIAG()
2518 xtInsert(tid, ipimap, 0, blkno, xlen, &xaddr, 0))) { in diNewIAG()
2520 mutex_unlock(&JFS_IP(ipimap)->commit_mutex); in diNewIAG()
2524 dbFree(ipimap, xaddr, (s64) xlen); in diNewIAG()
2527 IWRITE_UNLOCK(ipimap); in diNewIAG()
2533 ipimap->i_size += PSIZE; in diNewIAG()
2534 inode_add_bytes(ipimap, PSIZE); in diNewIAG()
2537 mp = get_metapage(ipimap, blkno, PSIZE, 0); in diNewIAG()
2543 xtTruncate(tid, ipimap, ipimap->i_size - PSIZE, in diNewIAG()
2548 mutex_unlock(&JFS_IP(ipimap)->commit_mutex); in diNewIAG()
2551 IWRITE_UNLOCK(ipimap); in diNewIAG()
2583 iplist[0] = ipimap; in diNewIAG()
2587 mutex_unlock(&JFS_IP(ipimap)->commit_mutex); in diNewIAG()
2602 diSync(ipimap); in diNewIAG()
2605 IWRITE_UNLOCK(ipimap); in diNewIAG()
2609 IREAD_LOCK(ipimap, RDWRLOCK_IMAP); in diNewIAG()
2613 IREAD_UNLOCK(ipimap); in diNewIAG()
2657 struct inode *ipimap = imap->im_ipimap; in diIAGRead() local
2661 blkno = IAGTOLBLK(iagno, JFS_SBI(ipimap->i_sb)->l2nbperpage); in diIAGRead()
2664 *mpp = read_metapage(ipimap, blkno, PSIZE, 0); in diIAGRead()
2717 diUpdatePMap(struct inode *ipimap, in diUpdatePMap() argument
2730 imap = JFS_IP(ipimap)->i_imap; in diUpdatePMap()
2735 jfs_error(ipimap->i_sb, "the iag is outside the map\n"); in diUpdatePMap()
2739 IREAD_LOCK(ipimap, RDWRLOCK_IMAP); in diUpdatePMap()
2741 IREAD_UNLOCK(ipimap); in diUpdatePMap()
2763 jfs_error(ipimap->i_sb, in diUpdatePMap()
2768 jfs_error(ipimap->i_sb, in diUpdatePMap()
2784 jfs_error(ipimap->i_sb, in diUpdatePMap()
2790 jfs_error(ipimap->i_sb, in diUpdatePMap()
2839 int diExtendFS(struct inode *ipimap, struct inode *ipbmap) in diExtendFS() argument
2842 struct inomap *imap = JFS_IP(ipimap)->i_imap; in diExtendFS()
2883 jfs_error(ipimap->i_sb, "unexpected value of iagnum\n"); in diExtendFS()
2959 jfs_error(ipimap->i_sb, "numinos or numfree incorrect\n"); in diExtendFS()