Lines Matching defs:ipimap

87  *	ipimap	- pointer to inode map inode for the aggregate or fileset.
94 int diMount(struct inode *ipimap)
113 mp = read_metapage(ipimap,
114 IMAPBLKNO << JFS_SBI(ipimap->i_sb)->l2nbperpage,
157 imap->im_ipimap = ipimap;
158 JFS_IP(ipimap)->i_imap = imap;
171 * ipimap - pointer to inode map inode for the aggregate or fileset.
178 int diUnmount(struct inode *ipimap, int mounterror)
180 struct inomap *imap = JFS_IP(ipimap)->i_imap;
186 if (!(mounterror || isReadOnly(ipimap)))
187 diSync(ipimap);
192 truncate_inode_pages(ipimap->i_mapping, 0);
198 JFS_IP(ipimap)->i_imap = NULL;
207 int diSync(struct inode *ipimap)
210 struct inomap *imp = JFS_IP(ipimap)->i_imap;
218 mp = get_metapage(ipimap,
219 IMAPBLKNO << JFS_SBI(ipimap->i_sb)->l2nbperpage,
251 filemap_write_and_wait(ipimap->i_mapping);
253 diWriteSpecial(ipimap, 0);
296 struct inode *ipimap;
309 ipimap = sbi->ipimap;
310 JFS_IP(ip)->ipimap = ipimap;
316 imap = JFS_IP(ipimap)->i_imap;
317 IREAD_LOCK(ipimap, RDWRLOCK_IMAP);
319 IREAD_UNLOCK(ipimap);
366 mp = read_metapage(ipimap, pageno << sbi->l2nbperpage, PSIZE, 1);
433 JFS_IP(ip)->ipimap = sbi->ipaimap2;
436 JFS_IP(ip)->ipimap = sbi->ipaimap;
474 if ((inum == FILESYSTEM_I) && (JFS_IP(ip)->ipimap == sbi->ipaimap)) {
594 struct inode *ipimap;
602 ipimap = jfs_ip->ipimap;
608 JFS_IP(ipimap)->i_imap->im_nbperiext)) {
638 mp = read_metapage(ipimap, pageno << sbi->l2nbperpage, PSIZE, 1);
650 * N.B. tlock is acquired on ipimap not ip;
653 txLock(tid, ipimap, mp, tlckINODE | tlckENTRY)) == NULL)
853 struct inode *ipimap = JFS_SBI(ip->i_sb)->ipimap;
854 struct inomap *imap = JFS_IP(ipimap)->i_imap;
893 IREAD_LOCK(ipimap, RDWRLOCK_IMAP);
898 IREAD_UNLOCK(ipimap);
918 IREAD_UNLOCK(ipimap);
930 IREAD_UNLOCK(ipimap);
959 IREAD_UNLOCK(ipimap);
981 IREAD_UNLOCK(ipimap);
1114 IREAD_UNLOCK(ipimap);
1230 tid = txBegin(ipimap->i_sb, COMMIT_FORCE);
1231 mutex_lock(&JFS_IP(ipimap)->commit_mutex);
1240 tlck = txLock(tid, ipimap, mp, tlckINODE | tlckFREE);
1248 iplist[0] = ipimap;
1264 mutex_unlock(&JFS_IP(ipimap)->commit_mutex);
1272 IREAD_UNLOCK(ipimap);
1327 struct inode *ipimap;
1336 ipimap = JFS_SBI(pip->i_sb)->ipimap;
1337 imap = JFS_IP(ipimap)->i_imap;
1338 JFS_IP(ip)->ipimap = ipimap;
1387 IREAD_LOCK(ipimap, RDWRLOCK_IMAP);
1392 IREAD_UNLOCK(ipimap);
1430 IREAD_UNLOCK(ipimap);
1499 IREAD_UNLOCK(ipimap);
1513 IREAD_UNLOCK(ipimap);
1567 IREAD_UNLOCK(ipimap);
1580 IREAD_UNLOCK(ipimap);
2159 struct inode *ipimap;
2176 ipimap = imap->im_ipimap;
2177 sbi = JFS_SBI(ipimap->i_sb);
2260 if ((rc = dbAlloc(ipimap, hint, (s64) imap->im_nbperiext, &blkno)))
2274 dmp = get_metapage(ipimap, blkno + i, PSIZE, 1);
2443 struct inode *ipimap;
2454 ipimap = imap->im_ipimap;
2455 sb = ipimap->i_sb;
2476 IWRITE_LOCK(ipimap, RDWRLOCK_IMAP);
2478 if (ipimap->i_size >> L2PSIZE != imap->im_nextiag + 1) {
2479 IWRITE_UNLOCK(ipimap);
2482 "ipimap->i_size is wrong\n");
2495 IWRITE_UNLOCK(ipimap);
2509 if ((rc = dbAlloc(ipimap, 0, (s64) xlen, &xaddr))) {
2511 IWRITE_UNLOCK(ipimap);
2521 mutex_lock(&JFS_IP(ipimap)->commit_mutex);
2525 xtInsert(tid, ipimap, 0, blkno, xlen, &xaddr, 0))) {
2527 mutex_unlock(&JFS_IP(ipimap)->commit_mutex);
2531 dbFree(ipimap, xaddr, (s64) xlen);
2534 IWRITE_UNLOCK(ipimap);
2540 ipimap->i_size += PSIZE;
2541 inode_add_bytes(ipimap, PSIZE);
2544 mp = get_metapage(ipimap, blkno, PSIZE, 0);
2550 xtTruncate(tid, ipimap, ipimap->i_size - PSIZE,
2555 mutex_unlock(&JFS_IP(ipimap)->commit_mutex);
2558 IWRITE_UNLOCK(ipimap);
2590 iplist[0] = ipimap;
2594 mutex_unlock(&JFS_IP(ipimap)->commit_mutex);
2609 diSync(ipimap);
2612 IWRITE_UNLOCK(ipimap);
2616 IREAD_LOCK(ipimap, RDWRLOCK_IMAP);
2620 IREAD_UNLOCK(ipimap);
2664 struct inode *ipimap = imap->im_ipimap;
2668 blkno = IAGTOLBLK(iagno, JFS_SBI(ipimap->i_sb)->l2nbperpage);
2671 *mpp = read_metapage(ipimap, blkno, PSIZE, 0);
2715 * ipimap - Incore inode map inode
2724 diUpdatePMap(struct inode *ipimap,
2737 imap = JFS_IP(ipimap)->i_imap;
2742 jfs_error(ipimap->i_sb, "the iag is outside the map\n");
2746 IREAD_LOCK(ipimap, RDWRLOCK_IMAP);
2748 IREAD_UNLOCK(ipimap);
2770 jfs_error(ipimap->i_sb,
2775 jfs_error(ipimap->i_sb,
2791 jfs_error(ipimap->i_sb,
2797 jfs_error(ipimap->i_sb,
2846 int diExtendFS(struct inode *ipimap, struct inode *ipbmap)
2849 struct inomap *imap = JFS_IP(ipimap)->i_imap;
2890 jfs_error(ipimap->i_sb, "unexpected value of iagnum\n");
2966 jfs_error(ipimap->i_sb, "numinos or numfree incorrect\n");