• Home
  • Raw
  • Download

Lines Matching refs:ip

117 xfs_fsb_to_db(struct xfs_inode *ip, xfs_fsblock_t fsb)  in xfs_fsb_to_db()  argument
119 return (XFS_IS_REALTIME_INODE(ip) ? \ in xfs_fsb_to_db()
120 (xfs_daddr_t)XFS_FSB_TO_BB((ip)->i_mount, (fsb)) : \ in xfs_fsb_to_db()
121 XFS_FSB_TO_DADDR((ip)->i_mount, (fsb))); in xfs_fsb_to_db()
155 static inline bool xfs_bmap_needs_btree(struct xfs_inode *ip, int whichfork) in xfs_bmap_needs_btree() argument
157 return XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_EXTENTS && in xfs_bmap_needs_btree()
158 XFS_IFORK_NEXTENTS(ip, whichfork) > in xfs_bmap_needs_btree()
159 XFS_IFORK_MAXEXT(ip, whichfork); in xfs_bmap_needs_btree()
165 static inline bool xfs_bmap_wants_extents(struct xfs_inode *ip, int whichfork) in xfs_bmap_wants_extents() argument
167 return XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_BTREE && in xfs_bmap_wants_extents()
168 XFS_IFORK_NEXTENTS(ip, whichfork) <= in xfs_bmap_wants_extents()
169 XFS_IFORK_MAXEXT(ip, whichfork); in xfs_bmap_wants_extents()
197 xfs_inode_t *ip, /* incore inode pointer */ in xfs_bmap_worst_indlen() argument
205 mp = ip->i_mount; in xfs_bmap_worst_indlen()
227 struct xfs_inode *ip) in xfs_default_attroffset() argument
229 struct xfs_mount *mp = ip->i_mount; in xfs_default_attroffset()
233 offset = XFS_LITINO(mp, ip->i_d.di_version) - in xfs_default_attroffset()
239 ASSERT(offset < XFS_LITINO(mp, ip->i_d.di_version)); in xfs_default_attroffset()
251 xfs_inode_t *ip, in xfs_bmap_forkoff_reset() argument
255 ip->i_d.di_format != XFS_DINODE_FMT_DEV && in xfs_bmap_forkoff_reset()
256 ip->i_d.di_format != XFS_DINODE_FMT_UUID && in xfs_bmap_forkoff_reset()
257 ip->i_d.di_format != XFS_DINODE_FMT_BTREE) { in xfs_bmap_forkoff_reset()
258 uint dfl_forkoff = xfs_default_attroffset(ip) >> 3; in xfs_bmap_forkoff_reset()
260 if (dfl_forkoff > ip->i_d.di_forkoff) in xfs_bmap_forkoff_reset()
261 ip->i_d.di_forkoff = dfl_forkoff; in xfs_bmap_forkoff_reset()
390 xfs_inode_t *ip, /* incore inode */ in xfs_bmap_count_blocks() argument
402 mp = ip->i_mount; in xfs_bmap_count_blocks()
403 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmap_count_blocks()
404 if ( XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_EXTENTS ) { in xfs_bmap_count_blocks()
543 xfs_inode_t *ip, /* incore inode pointer */ in xfs_bmap_check_leaf_extents() argument
560 if (XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_BTREE) { in xfs_bmap_check_leaf_extents()
565 mp = ip->i_mount; in xfs_bmap_check_leaf_extents()
566 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmap_check_leaf_extents()
707 xfs_inode_t *ip, /* incore inode pointer */ in xfs_bmap_trace_exlist() argument
719 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmap_trace_exlist()
722 trace_xfs_extlist(ip, idx, whichfork, caller_ip); in xfs_bmap_trace_exlist()
767 #define xfs_bmap_check_leaf_extents(cur, ip, whichfork) do { } while (0) argument
959 xfs_inode_t *ip, /* incore inode pointer */ in xfs_bmap_btree_to_extents() argument
974 mp = ip->i_mount; in xfs_bmap_btree_to_extents()
975 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmap_btree_to_extents()
977 ASSERT(XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_BTREE); in xfs_bmap_btree_to_extents()
997 ip->i_d.di_nblocks--; in xfs_bmap_btree_to_extents()
998 xfs_trans_mod_dquot_byino(tp, ip, XFS_TRANS_DQ_BCOUNT, -1L); in xfs_bmap_btree_to_extents()
1002 xfs_iroot_realloc(ip, -1, whichfork); in xfs_bmap_btree_to_extents()
1005 XFS_IFORK_FMT_SET(ip, whichfork, XFS_DINODE_FMT_EXTENTS); in xfs_bmap_btree_to_extents()
1017 xfs_inode_t *ip, /* incore inode pointer */ in xfs_bmap_extents_to_btree() argument
1040 mp = ip->i_mount; in xfs_bmap_extents_to_btree()
1041 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmap_extents_to_btree()
1042 ASSERT(XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_EXTENTS); in xfs_bmap_extents_to_btree()
1047 xfs_iroot_realloc(ip, 1, whichfork); in xfs_bmap_extents_to_btree()
1056 XFS_BMAP_CRC_MAGIC, 1, 1, ip->i_ino, in xfs_bmap_extents_to_btree()
1060 XFS_BMAP_MAGIC, 1, 1, ip->i_ino, in xfs_bmap_extents_to_btree()
1066 cur = xfs_bmbt_init_cursor(mp, tp, ip, whichfork); in xfs_bmap_extents_to_btree()
1073 XFS_IFORK_FMT_SET(ip, whichfork, XFS_DINODE_FMT_BTREE); in xfs_bmap_extents_to_btree()
1080 args.fsbno = XFS_INO_TO_FSB(mp, ip->i_ino); in xfs_bmap_extents_to_btree()
1092 xfs_iroot_realloc(ip, -1, whichfork); in xfs_bmap_extents_to_btree()
1106 ip->i_d.di_nblocks++; in xfs_bmap_extents_to_btree()
1107 xfs_trans_mod_dquot_byino(tp, ip, XFS_TRANS_DQ_BCOUNT, 1L); in xfs_bmap_extents_to_btree()
1116 XFS_BMAP_CRC_MAGIC, 0, 0, ip->i_ino, in xfs_bmap_extents_to_btree()
1120 XFS_BMAP_MAGIC, 0, 0, ip->i_ino, in xfs_bmap_extents_to_btree()
1133 ASSERT(cnt == XFS_IFORK_NEXTENTS(ip, whichfork)); in xfs_bmap_extents_to_btree()
1167 xfs_inode_t *ip, /* incore inode pointer */ in xfs_bmap_local_to_extents() argument
1174 struct xfs_inode *ip, in xfs_bmap_local_to_extents() argument
1185 ASSERT(!(S_ISREG(ip->i_d.di_mode) && whichfork == XFS_DATA_FORK)); in xfs_bmap_local_to_extents()
1186 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmap_local_to_extents()
1187 ASSERT(XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_LOCAL); in xfs_bmap_local_to_extents()
1199 args.mp = ip->i_mount; in xfs_bmap_local_to_extents()
1206 args.fsbno = XFS_INO_TO_FSB(args.mp, ip->i_ino); in xfs_bmap_local_to_extents()
1225 init_fn(tp, bp, ip, ifp); in xfs_bmap_local_to_extents()
1229 xfs_bmap_forkoff_reset(args.mp, ip, whichfork); in xfs_bmap_local_to_extents()
1230 xfs_idata_realloc(ip, -ifp->if_bytes, whichfork); in xfs_bmap_local_to_extents()
1234 trace_xfs_bmap_post_update(ip, 0, in xfs_bmap_local_to_extents()
1237 XFS_IFORK_NEXT_SET(ip, whichfork, 1); in xfs_bmap_local_to_extents()
1238 ip->i_d.di_nblocks = 1; in xfs_bmap_local_to_extents()
1239 xfs_trans_mod_dquot_byino(tp, ip, in xfs_bmap_local_to_extents()
1243 ASSERT(XFS_IFORK_NEXTENTS(ip, whichfork) == 0); in xfs_bmap_local_to_extents()
1244 xfs_bmap_forkoff_reset(ip->i_mount, ip, whichfork); in xfs_bmap_local_to_extents()
1248 XFS_IFORK_FMT_SET(ip, whichfork, XFS_DINODE_FMT_EXTENTS); in xfs_bmap_local_to_extents()
1261 xfs_inode_t *ip, /* incore inode pointer */ in xfs_bmap_add_attrfork_btree() argument
1271 mp = ip->i_mount; in xfs_bmap_add_attrfork_btree()
1272 if (ip->i_df.if_broot_bytes <= XFS_IFORK_DSIZE(ip)) in xfs_bmap_add_attrfork_btree()
1275 cur = xfs_bmbt_init_cursor(mp, tp, ip, XFS_DATA_FORK); in xfs_bmap_add_attrfork_btree()
1304 xfs_inode_t *ip, /* incore inode pointer */ in xfs_bmap_add_attrfork_extents() argument
1312 if (ip->i_d.di_nextents * sizeof(xfs_bmbt_rec_t) <= XFS_IFORK_DSIZE(ip)) in xfs_bmap_add_attrfork_extents()
1315 error = xfs_bmap_extents_to_btree(tp, ip, firstblock, flist, &cur, 0, in xfs_bmap_add_attrfork_extents()
1335 struct xfs_inode *ip, in xfs_bmap_local_to_extents_init_fn() argument
1358 xfs_inode_t *ip, /* incore inode pointer */ in xfs_bmap_add_attrfork_local() argument
1365 if (ip->i_df.if_bytes <= XFS_IFORK_DSIZE(ip)) in xfs_bmap_add_attrfork_local()
1368 if (S_ISDIR(ip->i_d.di_mode)) { in xfs_bmap_add_attrfork_local()
1370 dargs.dp = ip; in xfs_bmap_add_attrfork_local()
1373 dargs.total = ip->i_mount->m_dirblkfsbs; in xfs_bmap_add_attrfork_local()
1379 if (S_ISLNK(ip->i_d.di_mode)) in xfs_bmap_add_attrfork_local()
1380 return xfs_bmap_local_to_extents(tp, ip, firstblock, 1, in xfs_bmap_add_attrfork_local()
1384 return xfs_bmap_local_to_extents(tp, ip, firstblock, 1, flags, in xfs_bmap_add_attrfork_local()
1395 xfs_inode_t *ip, /* incore inode pointer */ in xfs_bmap_add_attrfork() argument
1409 ASSERT(XFS_IFORK_Q(ip) == 0); in xfs_bmap_add_attrfork()
1411 mp = ip->i_mount; in xfs_bmap_add_attrfork()
1412 ASSERT(!XFS_NOT_DQATTACHED(mp, ip)); in xfs_bmap_add_attrfork()
1420 xfs_ilock(ip, XFS_ILOCK_EXCL); in xfs_bmap_add_attrfork()
1421 error = xfs_trans_reserve_quota_nblks(tp, ip, blks, 0, rsvd ? in xfs_bmap_add_attrfork()
1425 xfs_iunlock(ip, XFS_ILOCK_EXCL); in xfs_bmap_add_attrfork()
1429 if (XFS_IFORK_Q(ip)) in xfs_bmap_add_attrfork()
1431 if (ip->i_d.di_aformat != XFS_DINODE_FMT_EXTENTS) { in xfs_bmap_add_attrfork()
1435 ASSERT(ip->i_d.di_aformat == 0); in xfs_bmap_add_attrfork()
1436 ip->i_d.di_aformat = XFS_DINODE_FMT_EXTENTS; in xfs_bmap_add_attrfork()
1438 ASSERT(ip->i_d.di_anextents == 0); in xfs_bmap_add_attrfork()
1440 xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL); in xfs_bmap_add_attrfork()
1441 xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); in xfs_bmap_add_attrfork()
1443 switch (ip->i_d.di_format) { in xfs_bmap_add_attrfork()
1445 ip->i_d.di_forkoff = roundup(sizeof(xfs_dev_t), 8) >> 3; in xfs_bmap_add_attrfork()
1448 ip->i_d.di_forkoff = roundup(sizeof(uuid_t), 8) >> 3; in xfs_bmap_add_attrfork()
1453 ip->i_d.di_forkoff = xfs_attr_shortform_bytesfit(ip, size); in xfs_bmap_add_attrfork()
1454 if (!ip->i_d.di_forkoff) in xfs_bmap_add_attrfork()
1455 ip->i_d.di_forkoff = xfs_default_attroffset(ip) >> 3; in xfs_bmap_add_attrfork()
1465 ASSERT(ip->i_afp == NULL); in xfs_bmap_add_attrfork()
1466 ip->i_afp = kmem_zone_zalloc(xfs_ifork_zone, KM_SLEEP); in xfs_bmap_add_attrfork()
1467 ip->i_afp->if_flags = XFS_IFEXTENTS; in xfs_bmap_add_attrfork()
1470 switch (ip->i_d.di_format) { in xfs_bmap_add_attrfork()
1472 error = xfs_bmap_add_attrfork_local(tp, ip, &firstblock, &flist, in xfs_bmap_add_attrfork()
1476 error = xfs_bmap_add_attrfork_extents(tp, ip, &firstblock, in xfs_bmap_add_attrfork()
1480 error = xfs_bmap_add_attrfork_btree(tp, ip, &firstblock, &flist, in xfs_bmap_add_attrfork()
1488 xfs_trans_log_inode(tp, ip, logflags); in xfs_bmap_add_attrfork()
1518 xfs_iunlock(ip, XFS_ILOCK_EXCL); in xfs_bmap_add_attrfork()
1537 xfs_inode_t *ip, /* incore inode */ in xfs_bmap_read_extents() argument
1554 mp = ip->i_mount; in xfs_bmap_read_extents()
1555 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmap_read_extents()
1557 XFS_EXTFMT_INODE(ip); in xfs_bmap_read_extents()
1606 xfs_warn(ip->i_mount, in xfs_bmap_read_extents()
1608 (unsigned long long) ip->i_ino); in xfs_bmap_read_extents()
1610 XFS_ERRLEVEL_LOW, ip->i_mount, block); in xfs_bmap_read_extents()
1643 ip->i_mount); in xfs_bmap_read_extents()
1661 ASSERT(i == XFS_IFORK_NEXTENTS(ip, whichfork)); in xfs_bmap_read_extents()
1662 XFS_BMAP_TRACE_EXLIST(ip, i, whichfork); in xfs_bmap_read_extents()
1730 xfs_inode_t *ip, /* incore inode pointer */ in xfs_bmap_search_extents() argument
1742 ifp = XFS_IFORK_PTR(ip, fork); in xfs_bmap_search_extents()
1747 !(XFS_IS_REALTIME_INODE(ip) && fork == XFS_DATA_FORK))) { in xfs_bmap_search_extents()
1748 xfs_alert_tag(ip->i_mount, XFS_PTAG_FSBLOCK_ZERO, in xfs_bmap_search_extents()
1752 (unsigned long long)ip->i_ino, in xfs_bmap_search_extents()
1774 xfs_inode_t *ip, /* incore inode */ in xfs_bmap_first_unused() argument
1788 ASSERT(XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_BTREE || in xfs_bmap_first_unused()
1789 XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_EXTENTS || in xfs_bmap_first_unused()
1790 XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_LOCAL); in xfs_bmap_first_unused()
1791 if (XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_LOCAL) { in xfs_bmap_first_unused()
1795 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmap_first_unused()
1797 (error = xfs_iread_extents(tp, ip, whichfork))) in xfs_bmap_first_unused()
1827 xfs_inode_t *ip, /* incore inode */ in xfs_bmap_last_before() argument
1840 if (XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_BTREE && in xfs_bmap_last_before()
1841 XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_EXTENTS && in xfs_bmap_last_before()
1842 XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_LOCAL) in xfs_bmap_last_before()
1844 if (XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_LOCAL) { in xfs_bmap_last_before()
1848 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmap_last_before()
1850 (error = xfs_iread_extents(tp, ip, whichfork))) in xfs_bmap_last_before()
1853 ep = xfs_bmap_search_extents(ip, bno, whichfork, &eof, &lastx, &got, in xfs_bmap_last_before()
1870 struct xfs_inode *ip, in xfs_bmap_last_extent() argument
1875 struct xfs_ifork *ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmap_last_extent()
1880 error = xfs_iread_extents(tp, ip, whichfork); in xfs_bmap_last_extent()
1915 error = xfs_bmap_last_extent(NULL, bma->ip, whichfork, &rec, in xfs_bmap_isaeof()
1937 struct xfs_inode *ip, in xfs_bmap_eof() argument
1945 error = xfs_bmap_last_extent(NULL, ip, whichfork, &rec, eof); in xfs_bmap_eof()
1961 struct xfs_inode *ip, in xfs_bmap_last_offset() argument
1971 if (XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_LOCAL) in xfs_bmap_last_offset()
1974 if (XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_BTREE && in xfs_bmap_last_offset()
1975 XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_EXTENTS) in xfs_bmap_last_offset()
1978 error = xfs_bmap_last_extent(NULL, ip, whichfork, &rec, &is_empty); in xfs_bmap_last_offset()
1993 xfs_inode_t *ip, /* incore inode */ in xfs_bmap_one_block() argument
2003 return XFS_ISIZE(ip) == ip->i_mount->m_sb.sb_blocksize; in xfs_bmap_one_block()
2005 if (XFS_IFORK_NEXTENTS(ip, whichfork) != 1) in xfs_bmap_one_block()
2007 if (XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_EXTENTS) in xfs_bmap_one_block()
2009 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmap_one_block()
2015 ASSERT(XFS_ISIZE(ip) == ip->i_mount->m_sb.sb_blocksize); in xfs_bmap_one_block()
2047 ifp = XFS_IFORK_PTR(bma->ip, XFS_DATA_FORK); in xfs_bmap_add_extent_delay_real()
2106 if (bma->idx < bma->ip->i_df.if_bytes / (uint)sizeof(xfs_bmbt_rec_t) - 1) { in xfs_bmap_add_extent_delay_real()
2140 trace_xfs_bmap_pre_update(bma->ip, bma->idx, state, _THIS_IP_); in xfs_bmap_add_extent_delay_real()
2144 trace_xfs_bmap_post_update(bma->ip, bma->idx, state, _THIS_IP_); in xfs_bmap_add_extent_delay_real()
2146 xfs_iext_remove(bma->ip, bma->idx + 1, 2, state); in xfs_bmap_add_extent_delay_real()
2147 bma->ip->i_d.di_nextents--; in xfs_bmap_add_extent_delay_real()
2183 trace_xfs_bmap_pre_update(bma->ip, bma->idx, state, _THIS_IP_); in xfs_bmap_add_extent_delay_real()
2186 trace_xfs_bmap_post_update(bma->ip, bma->idx, state, _THIS_IP_); in xfs_bmap_add_extent_delay_real()
2188 xfs_iext_remove(bma->ip, bma->idx + 1, 1, state); in xfs_bmap_add_extent_delay_real()
2213 trace_xfs_bmap_pre_update(bma->ip, bma->idx, state, _THIS_IP_); in xfs_bmap_add_extent_delay_real()
2217 trace_xfs_bmap_post_update(bma->ip, bma->idx, state, _THIS_IP_); in xfs_bmap_add_extent_delay_real()
2219 xfs_iext_remove(bma->ip, bma->idx + 1, 1, state); in xfs_bmap_add_extent_delay_real()
2245 trace_xfs_bmap_pre_update(bma->ip, bma->idx, state, _THIS_IP_); in xfs_bmap_add_extent_delay_real()
2247 trace_xfs_bmap_post_update(bma->ip, bma->idx, state, _THIS_IP_); in xfs_bmap_add_extent_delay_real()
2249 bma->ip->i_d.di_nextents++; in xfs_bmap_add_extent_delay_real()
2273 trace_xfs_bmap_pre_update(bma->ip, bma->idx - 1, state, _THIS_IP_); in xfs_bmap_add_extent_delay_real()
2278 trace_xfs_bmap_post_update(bma->ip, bma->idx - 1, state, _THIS_IP_); in xfs_bmap_add_extent_delay_real()
2281 trace_xfs_bmap_pre_update(bma->ip, bma->idx, state, _THIS_IP_); in xfs_bmap_add_extent_delay_real()
2301 da_new = XFS_FILBLKS_MIN(xfs_bmap_worst_indlen(bma->ip, temp), in xfs_bmap_add_extent_delay_real()
2304 trace_xfs_bmap_post_update(bma->ip, bma->idx, state, _THIS_IP_); in xfs_bmap_add_extent_delay_real()
2314 trace_xfs_bmap_pre_update(bma->ip, bma->idx, state, _THIS_IP_); in xfs_bmap_add_extent_delay_real()
2318 xfs_iext_insert(bma->ip, bma->idx, 1, new, state); in xfs_bmap_add_extent_delay_real()
2319 bma->ip->i_d.di_nextents++; in xfs_bmap_add_extent_delay_real()
2337 if (xfs_bmap_needs_btree(bma->ip, XFS_DATA_FORK)) { in xfs_bmap_add_extent_delay_real()
2338 error = xfs_bmap_extents_to_btree(bma->tp, bma->ip, in xfs_bmap_add_extent_delay_real()
2345 da_new = XFS_FILBLKS_MIN(xfs_bmap_worst_indlen(bma->ip, temp), in xfs_bmap_add_extent_delay_real()
2350 trace_xfs_bmap_post_update(bma->ip, bma->idx + 1, state, _THIS_IP_); in xfs_bmap_add_extent_delay_real()
2359 trace_xfs_bmap_pre_update(bma->ip, bma->idx + 1, state, _THIS_IP_); in xfs_bmap_add_extent_delay_real()
2365 trace_xfs_bmap_post_update(bma->ip, bma->idx + 1, state, _THIS_IP_); in xfs_bmap_add_extent_delay_real()
2385 da_new = XFS_FILBLKS_MIN(xfs_bmap_worst_indlen(bma->ip, temp), in xfs_bmap_add_extent_delay_real()
2387 trace_xfs_bmap_pre_update(bma->ip, bma->idx, state, _THIS_IP_); in xfs_bmap_add_extent_delay_real()
2389 trace_xfs_bmap_post_update(bma->ip, bma->idx, state, _THIS_IP_); in xfs_bmap_add_extent_delay_real()
2400 trace_xfs_bmap_pre_update(bma->ip, bma->idx, state, _THIS_IP_); in xfs_bmap_add_extent_delay_real()
2402 xfs_iext_insert(bma->ip, bma->idx + 1, 1, new, state); in xfs_bmap_add_extent_delay_real()
2403 bma->ip->i_d.di_nextents++; in xfs_bmap_add_extent_delay_real()
2421 if (xfs_bmap_needs_btree(bma->ip, XFS_DATA_FORK)) { in xfs_bmap_add_extent_delay_real()
2422 error = xfs_bmap_extents_to_btree(bma->tp, bma->ip, in xfs_bmap_add_extent_delay_real()
2429 da_new = XFS_FILBLKS_MIN(xfs_bmap_worst_indlen(bma->ip, temp), in xfs_bmap_add_extent_delay_real()
2434 trace_xfs_bmap_post_update(bma->ip, bma->idx, state, _THIS_IP_); in xfs_bmap_add_extent_delay_real()
2462 trace_xfs_bmap_pre_update(bma->ip, bma->idx, 0, _THIS_IP_); in xfs_bmap_add_extent_delay_real()
2467 (int)xfs_bmap_worst_indlen(bma->ip, temp2)); in xfs_bmap_add_extent_delay_real()
2471 xfs_iext_insert(bma->ip, bma->idx + 1, 2, &LEFT, state); in xfs_bmap_add_extent_delay_real()
2472 bma->ip->i_d.di_nextents++; in xfs_bmap_add_extent_delay_real()
2490 if (xfs_bmap_needs_btree(bma->ip, XFS_DATA_FORK)) { in xfs_bmap_add_extent_delay_real()
2491 error = xfs_bmap_extents_to_btree(bma->tp, bma->ip, in xfs_bmap_add_extent_delay_real()
2498 temp = xfs_bmap_worst_indlen(bma->ip, temp); in xfs_bmap_add_extent_delay_real()
2499 temp2 = xfs_bmap_worst_indlen(bma->ip, temp2); in xfs_bmap_add_extent_delay_real()
2503 error = xfs_icsb_modify_counters(bma->ip->i_mount, in xfs_bmap_add_extent_delay_real()
2513 trace_xfs_bmap_post_update(bma->ip, bma->idx, state, _THIS_IP_); in xfs_bmap_add_extent_delay_real()
2514 trace_xfs_bmap_pre_update(bma->ip, bma->idx + 2, state, _THIS_IP_); in xfs_bmap_add_extent_delay_real()
2517 trace_xfs_bmap_post_update(bma->ip, bma->idx + 2, state, _THIS_IP_); in xfs_bmap_add_extent_delay_real()
2537 if (xfs_bmap_needs_btree(bma->ip, XFS_DATA_FORK)) { in xfs_bmap_add_extent_delay_real()
2541 error = xfs_bmap_extents_to_btree(bma->tp, bma->ip, in xfs_bmap_add_extent_delay_real()
2556 xfs_icsb_modify_counters(bma->ip->i_mount, in xfs_bmap_add_extent_delay_real()
2565 xfs_bmap_check_leaf_extents(bma->cur, bma->ip, XFS_DATA_FORK); in xfs_bmap_add_extent_delay_real()
2580 xfs_inode_t *ip, /* incore inode pointer */ in xfs_bmap_add_extent_unwritten_real() argument
2604 ifp = XFS_IFORK_PTR(ip, XFS_DATA_FORK); in xfs_bmap_add_extent_unwritten_real()
2663 if (*idx < ip->i_df.if_bytes / (uint)sizeof(xfs_bmbt_rec_t) - 1) { in xfs_bmap_add_extent_unwritten_real()
2696 trace_xfs_bmap_pre_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_add_extent_unwritten_real()
2700 trace_xfs_bmap_post_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_add_extent_unwritten_real()
2702 xfs_iext_remove(ip, *idx + 1, 2, state); in xfs_bmap_add_extent_unwritten_real()
2703 ip->i_d.di_nextents -= 2; in xfs_bmap_add_extent_unwritten_real()
2740 trace_xfs_bmap_pre_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_add_extent_unwritten_real()
2743 trace_xfs_bmap_post_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_add_extent_unwritten_real()
2745 xfs_iext_remove(ip, *idx + 1, 1, state); in xfs_bmap_add_extent_unwritten_real()
2746 ip->i_d.di_nextents--; in xfs_bmap_add_extent_unwritten_real()
2775 trace_xfs_bmap_pre_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_add_extent_unwritten_real()
2779 trace_xfs_bmap_post_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_add_extent_unwritten_real()
2780 xfs_iext_remove(ip, *idx + 1, 1, state); in xfs_bmap_add_extent_unwritten_real()
2781 ip->i_d.di_nextents--; in xfs_bmap_add_extent_unwritten_real()
2811 trace_xfs_bmap_pre_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_add_extent_unwritten_real()
2813 trace_xfs_bmap_post_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_add_extent_unwritten_real()
2836 trace_xfs_bmap_pre_update(ip, *idx - 1, state, _THIS_IP_); in xfs_bmap_add_extent_unwritten_real()
2841 trace_xfs_bmap_post_update(ip, *idx - 1, state, _THIS_IP_); in xfs_bmap_add_extent_unwritten_real()
2843 trace_xfs_bmap_pre_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_add_extent_unwritten_real()
2848 trace_xfs_bmap_post_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_add_extent_unwritten_real()
2883 trace_xfs_bmap_pre_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_add_extent_unwritten_real()
2890 trace_xfs_bmap_post_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_add_extent_unwritten_real()
2892 xfs_iext_insert(ip, *idx, 1, new, state); in xfs_bmap_add_extent_unwritten_real()
2893 ip->i_d.di_nextents++; in xfs_bmap_add_extent_unwritten_real()
2921 trace_xfs_bmap_pre_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_add_extent_unwritten_real()
2924 trace_xfs_bmap_post_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_add_extent_unwritten_real()
2928 trace_xfs_bmap_pre_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_add_extent_unwritten_real()
2932 trace_xfs_bmap_post_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_add_extent_unwritten_real()
2963 trace_xfs_bmap_pre_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_add_extent_unwritten_real()
2966 trace_xfs_bmap_post_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_add_extent_unwritten_real()
2969 xfs_iext_insert(ip, *idx, 1, new, state); in xfs_bmap_add_extent_unwritten_real()
2971 ip->i_d.di_nextents++; in xfs_bmap_add_extent_unwritten_real()
3004 trace_xfs_bmap_pre_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_add_extent_unwritten_real()
3007 trace_xfs_bmap_post_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_add_extent_unwritten_real()
3017 xfs_iext_insert(ip, *idx, 2, &r[0], state); in xfs_bmap_add_extent_unwritten_real()
3019 ip->i_d.di_nextents += 2; in xfs_bmap_add_extent_unwritten_real()
3073 if (xfs_bmap_needs_btree(ip, XFS_DATA_FORK)) { in xfs_bmap_add_extent_unwritten_real()
3077 error = xfs_bmap_extents_to_btree(tp, ip, first, flist, &cur, in xfs_bmap_add_extent_unwritten_real()
3090 xfs_bmap_check_leaf_extents(*curp, ip, XFS_DATA_FORK); in xfs_bmap_add_extent_unwritten_real()
3104 xfs_inode_t *ip, /* incore inode pointer */ in xfs_bmap_add_extent_hole_delay() argument
3116 ifp = XFS_IFORK_PTR(ip, XFS_DATA_FORK); in xfs_bmap_add_extent_hole_delay()
3135 if (*idx < ip->i_df.if_bytes / (uint)sizeof(xfs_bmbt_rec_t)) { in xfs_bmap_add_extent_hole_delay()
3174 trace_xfs_bmap_pre_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_add_extent_hole_delay()
3179 newlen = xfs_bmap_worst_indlen(ip, temp); in xfs_bmap_add_extent_hole_delay()
3182 trace_xfs_bmap_post_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_add_extent_hole_delay()
3184 xfs_iext_remove(ip, *idx + 1, 1, state); in xfs_bmap_add_extent_hole_delay()
3196 trace_xfs_bmap_pre_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_add_extent_hole_delay()
3200 newlen = xfs_bmap_worst_indlen(ip, temp); in xfs_bmap_add_extent_hole_delay()
3203 trace_xfs_bmap_post_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_add_extent_hole_delay()
3212 trace_xfs_bmap_pre_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_add_extent_hole_delay()
3216 newlen = xfs_bmap_worst_indlen(ip, temp); in xfs_bmap_add_extent_hole_delay()
3220 trace_xfs_bmap_post_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_add_extent_hole_delay()
3230 xfs_iext_insert(ip, *idx, 1, new, state); in xfs_bmap_add_extent_hole_delay()
3235 xfs_icsb_modify_counters(ip->i_mount, XFS_SBS_FDBLOCKS, in xfs_bmap_add_extent_hole_delay()
3260 ifp = XFS_IFORK_PTR(bma->ip, whichfork); in xfs_bmap_add_extent_hole_real()
3328 trace_xfs_bmap_pre_update(bma->ip, bma->idx, state, _THIS_IP_); in xfs_bmap_add_extent_hole_real()
3332 trace_xfs_bmap_post_update(bma->ip, bma->idx, state, _THIS_IP_); in xfs_bmap_add_extent_hole_real()
3334 xfs_iext_remove(bma->ip, bma->idx + 1, 1, state); in xfs_bmap_add_extent_hole_real()
3336 XFS_IFORK_NEXT_SET(bma->ip, whichfork, in xfs_bmap_add_extent_hole_real()
3337 XFS_IFORK_NEXTENTS(bma->ip, whichfork) - 1); in xfs_bmap_add_extent_hole_real()
3374 trace_xfs_bmap_pre_update(bma->ip, bma->idx, state, _THIS_IP_); in xfs_bmap_add_extent_hole_real()
3377 trace_xfs_bmap_post_update(bma->ip, bma->idx, state, _THIS_IP_); in xfs_bmap_add_extent_hole_real()
3405 trace_xfs_bmap_pre_update(bma->ip, bma->idx, state, _THIS_IP_); in xfs_bmap_add_extent_hole_real()
3410 trace_xfs_bmap_post_update(bma->ip, bma->idx, state, _THIS_IP_); in xfs_bmap_add_extent_hole_real()
3439 xfs_iext_insert(bma->ip, bma->idx, 1, new, state); in xfs_bmap_add_extent_hole_real()
3440 XFS_IFORK_NEXT_SET(bma->ip, whichfork, in xfs_bmap_add_extent_hole_real()
3441 XFS_IFORK_NEXTENTS(bma->ip, whichfork) + 1); in xfs_bmap_add_extent_hole_real()
3463 if (xfs_bmap_needs_btree(bma->ip, whichfork)) { in xfs_bmap_add_extent_hole_real()
3467 error = xfs_bmap_extents_to_btree(bma->tp, bma->ip, in xfs_bmap_add_extent_hole_real()
3479 xfs_bmap_check_leaf_extents(bma->cur, bma->ip, whichfork); in xfs_bmap_add_extent_hole_real()
3671 mp = ap->ip->i_mount; in xfs_bmap_adjacent()
3673 rt = XFS_IS_REALTIME_INODE(ap->ip) && ap->userdata; in xfs_bmap_adjacent()
3814 mp = ap->ip->i_mount; in xfs_bmap_rtalloc()
3815 align = xfs_get_extsz_hint(ap->ip); in xfs_bmap_rtalloc()
3888 ap->ip->i_d.di_nblocks += ralen; in xfs_bmap_rtalloc()
3889 xfs_trans_log_inode(ap->tp, ap->ip, XFS_ILOG_CORE); in xfs_bmap_rtalloc()
3891 ap->ip->i_delayed_blks -= ralen; in xfs_bmap_rtalloc()
3896 xfs_trans_mod_dquot_byino(ap->tp, ap->ip, in xfs_bmap_rtalloc()
3911 struct xfs_mount *mp = ap->ip->i_mount; in xfs_bmap_btalloc_nullfb()
3917 if (ap->userdata && xfs_inode_is_filestream(ap->ip)) in xfs_bmap_btalloc_nullfb()
3954 if (xfs_inode_is_filestream(ap->ip)) { in xfs_bmap_btalloc_nullfb()
4014 if (xfs_inode_is_filestream(ap->ip)) in xfs_bmap_btalloc_nullfb()
4039 mp = ap->ip->i_mount; in xfs_bmap_btalloc()
4040 align = ap->userdata ? xfs_get_extsz_hint(ap->ip) : 0; in xfs_bmap_btalloc()
4051 if (ap->userdata && xfs_inode_is_filestream(ap->ip)) { in xfs_bmap_btalloc()
4052 ag = xfs_filestream_lookup_ag(ap->ip); in xfs_bmap_btalloc()
4056 ap->blkno = XFS_INO_TO_FSB(mp, ap->ip->i_ino); in xfs_bmap_btalloc()
4089 if (xfs_inode_is_filestream(ap->ip)) in xfs_bmap_btalloc()
4229 ap->ip->i_d.di_nblocks += args.len; in xfs_bmap_btalloc()
4230 xfs_trans_log_inode(ap->tp, ap->ip, XFS_ILOG_CORE); in xfs_bmap_btalloc()
4232 ap->ip->i_delayed_blks -= args.len; in xfs_bmap_btalloc()
4237 xfs_trans_mod_dquot_byino(ap->tp, ap->ip, in xfs_bmap_btalloc()
4256 if (XFS_IS_REALTIME_INODE(ap->ip) && ap->userdata) in xfs_bmap_alloc()
4367 struct xfs_inode *ip, in xfs_bmapi_read() argument
4374 struct xfs_mount *mp = ip->i_mount; in xfs_bmapi_read()
4392 (XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_EXTENTS && in xfs_bmapi_read()
4393 XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_BTREE), in xfs_bmapi_read()
4404 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmapi_read()
4407 error = xfs_iread_extents(NULL, ip, whichfork); in xfs_bmapi_read()
4412 xfs_bmap_search_extents(ip, bno, whichfork, &eof, &lastx, &got, &prev); in xfs_bmapi_read()
4454 struct xfs_inode *ip, in xfs_bmapi_reserve_delalloc() argument
4462 struct xfs_mount *mp = ip->i_mount; in xfs_bmapi_reserve_delalloc()
4463 struct xfs_ifork *ifp = XFS_IFORK_PTR(ip, XFS_DATA_FORK); in xfs_bmapi_reserve_delalloc()
4466 char rt = XFS_IS_REALTIME_INODE(ip); in xfs_bmapi_reserve_delalloc()
4475 extsz = xfs_get_extsz_hint(ip); in xfs_bmapi_reserve_delalloc()
4497 error = xfs_trans_reserve_quota_nblks(NULL, ip, (long)alen, 0, in xfs_bmapi_reserve_delalloc()
4506 indlen = (xfs_extlen_t)xfs_bmap_worst_indlen(ip, alen); in xfs_bmapi_reserve_delalloc()
4526 ip->i_delayed_blks += alen; in xfs_bmapi_reserve_delalloc()
4532 xfs_bmap_add_extent_hole_delay(ip, lastx, got); in xfs_bmapi_reserve_delalloc()
4553 xfs_trans_unreserve_quota_nblks(NULL, ip, (long)alen, 0, rt ? in xfs_bmapi_reserve_delalloc()
4563 struct xfs_inode *ip, /* incore inode */ in xfs_bmapi_delay() argument
4570 struct xfs_mount *mp = ip->i_mount; in xfs_bmapi_delay()
4571 struct xfs_ifork *ifp = XFS_IFORK_PTR(ip, XFS_DATA_FORK); in xfs_bmapi_delay()
4586 (XFS_IFORK_FORMAT(ip, XFS_DATA_FORK) != XFS_DINODE_FMT_EXTENTS && in xfs_bmapi_delay()
4587 XFS_IFORK_FORMAT(ip, XFS_DATA_FORK) != XFS_DINODE_FMT_BTREE), in xfs_bmapi_delay()
4599 error = xfs_iread_extents(NULL, ip, XFS_DATA_FORK); in xfs_bmapi_delay()
4604 xfs_bmap_search_extents(ip, bno, XFS_DATA_FORK, &eof, &lastx, &got, &prev); in xfs_bmapi_delay()
4610 error = xfs_bmapi_reserve_delalloc(ip, bno, len, &got, in xfs_bmapi_delay()
4646 struct xfs_mount *mp = bma->ip->i_mount; in __xfs_bmapi_allocate()
4649 struct xfs_ifork *ifp = XFS_IFORK_PTR(bma->ip, whichfork); in __xfs_bmapi_allocate()
4656 rt = (whichfork == XFS_DATA_FORK) && XFS_IS_REALTIME_INODE(bma->ip); in __xfs_bmapi_allocate()
4709 bma->cur = xfs_bmbt_init_cursor(mp, bma->tp, bma->ip, whichfork); in __xfs_bmapi_allocate()
4808 struct xfs_ifork *ifp = XFS_IFORK_PTR(bma->ip, whichfork); in xfs_bmapi_convert_unwritten()
4828 bma->cur = xfs_bmbt_init_cursor(bma->ip->i_mount, bma->tp, in xfs_bmapi_convert_unwritten()
4829 bma->ip, whichfork); in xfs_bmapi_convert_unwritten()
4836 error = xfs_bmap_add_extent_unwritten_real(bma->tp, bma->ip, &bma->idx, in xfs_bmapi_convert_unwritten()
4874 struct xfs_inode *ip, /* incore inode */ in xfs_bmapi_write() argument
4885 struct xfs_mount *mp = ip->i_mount; in xfs_bmapi_write()
4921 (XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_EXTENTS && in xfs_bmapi_write()
4922 XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_BTREE && in xfs_bmapi_write()
4923 XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_LOCAL), in xfs_bmapi_write()
4932 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmapi_write()
4936 if (XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_LOCAL) { in xfs_bmapi_write()
4960 error = xfs_bmap_local_to_extents(tp, ip, firstblock, total, in xfs_bmapi_write()
4968 if (XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_BTREE) in xfs_bmapi_write()
4977 error = xfs_iread_extents(tp, ip, whichfork); in xfs_bmapi_write()
4982 xfs_bmap_search_extents(ip, bno, whichfork, &eof, &bma.idx, &bma.got, in xfs_bmapi_write()
4989 bma.ip = ip; in xfs_bmapi_write()
5069 if (xfs_bmap_wants_extents(ip, whichfork)) { in xfs_bmapi_write()
5073 error = xfs_bmap_btree_to_extents(tp, ip, bma.cur, in xfs_bmapi_write()
5080 ASSERT(XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_BTREE || in xfs_bmapi_write()
5081 XFS_IFORK_NEXTENTS(ip, whichfork) > in xfs_bmapi_write()
5082 XFS_IFORK_MAXEXT(ip, whichfork)); in xfs_bmapi_write()
5090 XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_EXTENTS) in xfs_bmapi_write()
5093 XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_BTREE) in xfs_bmapi_write()
5101 xfs_trans_log_inode(tp, ip, bma.logflags); in xfs_bmapi_write()
5130 xfs_inode_t *ip, /* incore inode pointer */ in xfs_bmap_del_extent() argument
5166 mp = ip->i_mount; in xfs_bmap_del_extent()
5167 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmap_del_extent()
5190 if (whichfork == XFS_DATA_FORK && XFS_IS_REALTIME_INODE(ip)) { in xfs_bmap_del_extent()
5245 xfs_iext_remove(ip, *idx, 1, in xfs_bmap_del_extent()
5251 XFS_IFORK_NEXT_SET(ip, whichfork, in xfs_bmap_del_extent()
5252 XFS_IFORK_NEXTENTS(ip, whichfork) - 1); in xfs_bmap_del_extent()
5267 trace_xfs_bmap_pre_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_del_extent()
5272 temp = XFS_FILBLKS_MIN(xfs_bmap_worst_indlen(ip, temp), in xfs_bmap_del_extent()
5275 trace_xfs_bmap_post_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_del_extent()
5280 trace_xfs_bmap_post_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_del_extent()
5296 trace_xfs_bmap_pre_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_del_extent()
5299 temp = XFS_FILBLKS_MIN(xfs_bmap_worst_indlen(ip, temp), in xfs_bmap_del_extent()
5302 trace_xfs_bmap_post_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_del_extent()
5306 trace_xfs_bmap_post_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_del_extent()
5323 trace_xfs_bmap_pre_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_del_extent()
5384 XFS_IFORK_NEXT_SET(ip, whichfork, in xfs_bmap_del_extent()
5385 XFS_IFORK_NEXTENTS(ip, whichfork) + 1); in xfs_bmap_del_extent()
5388 temp = xfs_bmap_worst_indlen(ip, temp); in xfs_bmap_del_extent()
5390 temp2 = xfs_bmap_worst_indlen(ip, temp2); in xfs_bmap_del_extent()
5410 trace_xfs_bmap_post_update(ip, *idx, state, _THIS_IP_); in xfs_bmap_del_extent()
5411 xfs_iext_insert(ip, *idx + 1, 1, &new, state); in xfs_bmap_del_extent()
5425 ip->i_d.di_nblocks -= nblks; in xfs_bmap_del_extent()
5430 xfs_trans_mod_dquot_byino(tp, ip, qfield, (long)-nblks); in xfs_bmap_del_extent()
5455 struct xfs_inode *ip, /* incore inode */ in xfs_bunmapi() argument
5486 trace_xfs_bunmap(ip, bno, len, flags, _RET_IP_); in xfs_bunmapi()
5490 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bunmapi()
5492 XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_EXTENTS && in xfs_bunmapi()
5493 XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_BTREE)) { in xfs_bunmapi()
5495 ip->i_mount); in xfs_bunmapi()
5498 mp = ip->i_mount; in xfs_bunmapi()
5506 (error = xfs_iread_extents(tp, ip, whichfork))) in xfs_bunmapi()
5514 isrt = (whichfork == XFS_DATA_FORK) && XFS_IS_REALTIME_INODE(ip); in xfs_bunmapi()
5517 ep = xfs_bmap_search_extents(ip, bno, whichfork, &eof, &lastx, &got, in xfs_bunmapi()
5531 ASSERT(XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_BTREE); in xfs_bunmapi()
5532 cur = xfs_bmbt_init_cursor(mp, tp, ip, whichfork); in xfs_bunmapi()
5625 error = xfs_bmap_add_extent_unwritten_real(tp, ip, in xfs_bunmapi()
5684 ip, &lastx, &cur, &prev, in xfs_bunmapi()
5693 ip, &lastx, &cur, &del, in xfs_bunmapi()
5711 ip, -((long)del.br_blockcount), 0, in xfs_bunmapi()
5717 ip, -((long)del.br_blockcount), 0, in xfs_bunmapi()
5720 ip->i_delayed_blks -= del.br_blockcount; in xfs_bunmapi()
5738 XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_EXTENTS && in xfs_bunmapi()
5739 XFS_IFORK_NEXTENTS(ip, whichfork) >= /* Note the >= */ in xfs_bunmapi()
5740 XFS_IFORK_MAXEXT(ip, whichfork) && in xfs_bunmapi()
5747 error = xfs_bmap_del_extent(ip, tp, &lastx, flist, cur, &del, in xfs_bunmapi()
5775 if (xfs_bmap_needs_btree(ip, whichfork)) { in xfs_bunmapi()
5777 error = xfs_bmap_extents_to_btree(tp, ip, firstblock, flist, in xfs_bunmapi()
5786 else if (xfs_bmap_wants_extents(ip, whichfork)) { in xfs_bunmapi()
5788 error = xfs_bmap_btree_to_extents(tp, ip, cur, &tmp_logflags, in xfs_bunmapi()
5804 XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_EXTENTS) in xfs_bunmapi()
5807 XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_BTREE) in xfs_bunmapi()
5814 xfs_trans_log_inode(tp, ip, logflags); in xfs_bunmapi()
5831 xfs_inode_t *ip, /* xfs incore inode pointer */ in xfs_getbmapx_fix_eof_hole() argument
5845 mp = ip->i_mount; in xfs_getbmapx_fix_eof_hole()
5847 fixlen = XFS_FSB_TO_BB(mp, XFS_B_TO_FSB(mp, XFS_ISIZE(ip))); in xfs_getbmapx_fix_eof_hole()
5859 out->bmv_block = xfs_fsb_to_db(ip, startblock); in xfs_getbmapx_fix_eof_hole()
5860 fileblock = XFS_BB_TO_FSB(ip->i_mount, out->bmv_offset); in xfs_getbmapx_fix_eof_hole()
5861 ifp = XFS_IFORK_PTR(ip, XFS_DATA_FORK); in xfs_getbmapx_fix_eof_hole()
5879 xfs_inode_t *ip, in xfs_getbmap() argument
5903 mp = ip->i_mount; in xfs_getbmap()
5908 if (XFS_IFORK_Q(ip)) { in xfs_getbmap()
5909 if (ip->i_d.di_aformat != XFS_DINODE_FMT_EXTENTS && in xfs_getbmap()
5910 ip->i_d.di_aformat != XFS_DINODE_FMT_BTREE && in xfs_getbmap()
5911 ip->i_d.di_aformat != XFS_DINODE_FMT_LOCAL) in xfs_getbmap()
5914 ip->i_d.di_aformat != 0 && in xfs_getbmap()
5915 ip->i_d.di_aformat != XFS_DINODE_FMT_EXTENTS)) { in xfs_getbmap()
5917 ip->i_mount); in xfs_getbmap()
5924 if (ip->i_d.di_format != XFS_DINODE_FMT_EXTENTS && in xfs_getbmap()
5925 ip->i_d.di_format != XFS_DINODE_FMT_BTREE && in xfs_getbmap()
5926 ip->i_d.di_format != XFS_DINODE_FMT_LOCAL) in xfs_getbmap()
5929 if (xfs_get_extsz_hint(ip) || in xfs_getbmap()
5930 ip->i_d.di_flags & (XFS_DIFLAG_PREALLOC|XFS_DIFLAG_APPEND)){ in xfs_getbmap()
5935 fixlen = XFS_ISIZE(ip); in xfs_getbmap()
5966 xfs_ilock(ip, XFS_IOLOCK_SHARED); in xfs_getbmap()
5968 if (ip->i_delayed_blks || XFS_ISIZE(ip) > ip->i_d.di_size) { in xfs_getbmap()
5969 error = -filemap_write_and_wait(VFS_I(ip)->i_mapping); in xfs_getbmap()
5982 lock = xfs_ilock_map_shared(ip); in xfs_getbmap()
5988 if (nex > XFS_IFORK_NEXTENTS(ip, whichfork) * 2 + 1) in xfs_getbmap()
5989 nex = XFS_IFORK_NEXTENTS(ip, whichfork) * 2 + 1; in xfs_getbmap()
6006 if (XFS_IFORK_NEXTENTS(ip, whichfork) == 0 && in xfs_getbmap()
6016 error = xfs_bmapi_read(ip, XFS_BB_TO_FSBT(mp, bmv->bmv_offset), in xfs_getbmap()
6046 map[i].br_startoff <= XFS_B_TO_FSB(mp, XFS_ISIZE(ip))) in xfs_getbmap()
6056 if (!xfs_getbmapx_fix_eof_hole(ip, &out[cur_ext], in xfs_getbmap()
6087 xfs_iunlock_map_shared(ip, lock); in xfs_getbmap()
6089 xfs_iunlock(ip, XFS_IOLOCK_SHARED); in xfs_getbmap()
6117 struct xfs_inode *ip, in xfs_bmap_punch_delalloc_range() argument
6124 ASSERT(xfs_isilocked(ip, XFS_ILOCK_EXCL)); in xfs_bmap_punch_delalloc_range()
6139 error = xfs_bmapi_read(ip, start_fsb, 1, &imap, &nimaps, in xfs_bmap_punch_delalloc_range()
6144 if (!XFS_FORCED_SHUTDOWN(ip->i_mount)) { in xfs_bmap_punch_delalloc_range()
6145 xfs_alert(ip->i_mount, in xfs_bmap_punch_delalloc_range()
6147 ip->i_ino, start_fsb); in xfs_bmap_punch_delalloc_range()
6168 error = xfs_bunmapi(NULL, ip, start_fsb, 1, 0, 1, &firstblock, in xfs_bmap_punch_delalloc_range()