Lines Matching refs:whichfork
63 int whichfork) /* data or attr fork */ in xfs_bmap_compute_maxlevels() argument
87 if (whichfork == XFS_DATA_FORK) { in xfs_bmap_compute_maxlevels()
104 mp->m_bm_maxlevels[whichfork] = level; in xfs_bmap_compute_maxlevels()
138 static inline bool xfs_bmap_needs_btree(struct xfs_inode *ip, int whichfork) in xfs_bmap_needs_btree() argument
140 return XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_EXTENTS && in xfs_bmap_needs_btree()
141 XFS_IFORK_NEXTENTS(ip, whichfork) > in xfs_bmap_needs_btree()
142 XFS_IFORK_MAXEXT(ip, whichfork); in xfs_bmap_needs_btree()
148 static inline bool xfs_bmap_wants_extents(struct xfs_inode *ip, int whichfork) in xfs_bmap_wants_extents() argument
150 return XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_BTREE && in xfs_bmap_wants_extents()
151 XFS_IFORK_NEXTENTS(ip, whichfork) <= in xfs_bmap_wants_extents()
152 XFS_IFORK_MAXEXT(ip, whichfork); in xfs_bmap_wants_extents()
234 int whichfork) in xfs_bmap_forkoff_reset() argument
236 if (whichfork == XFS_ATTR_FORK && in xfs_bmap_forkoff_reset()
335 int whichfork) /* data or attr fork */ in xfs_bmap_check_leaf_extents() argument
351 if (XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_BTREE) { in xfs_bmap_check_leaf_extents()
357 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmap_check_leaf_extents()
498 int whichfork, /* data or attr fork */ in xfs_bmap_trace_exlist() argument
505 if (whichfork == XFS_ATTR_FORK) in xfs_bmap_trace_exlist()
508 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmap_trace_exlist()
511 trace_xfs_extlist(ip, idx, whichfork, caller_ip); in xfs_bmap_trace_exlist()
556 #define xfs_bmap_check_leaf_extents(cur, ip, whichfork) do { } while (0) argument
665 int whichfork) /* data or attr fork */ in xfs_bmap_btree_to_extents() argument
678 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmap_btree_to_extents()
680 ASSERT(XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_BTREE); in xfs_bmap_btree_to_extents()
705 xfs_iroot_realloc(ip, -1, whichfork); in xfs_bmap_btree_to_extents()
708 XFS_IFORK_FMT_SET(ip, whichfork, XFS_DINODE_FMT_EXTENTS); in xfs_bmap_btree_to_extents()
709 *logflagsp = XFS_ILOG_CORE | xfs_ilog_fext(whichfork); in xfs_bmap_btree_to_extents()
726 int whichfork) /* data or attr fork */ in xfs_bmap_extents_to_btree() argument
744 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmap_extents_to_btree()
745 ASSERT(XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_EXTENTS); in xfs_bmap_extents_to_btree()
750 xfs_iroot_realloc(ip, 1, whichfork); in xfs_bmap_extents_to_btree()
769 cur = xfs_bmbt_init_cursor(mp, tp, ip, whichfork); in xfs_bmap_extents_to_btree()
776 XFS_IFORK_FMT_SET(ip, whichfork, XFS_DINODE_FMT_BTREE); in xfs_bmap_extents_to_btree()
795 xfs_iroot_realloc(ip, -1, whichfork); in xfs_bmap_extents_to_btree()
836 ASSERT(cnt == XFS_IFORK_NEXTENTS(ip, whichfork)); in xfs_bmap_extents_to_btree()
857 *logflagsp = XFS_ILOG_CORE | xfs_ilog_fbroot(whichfork); in xfs_bmap_extents_to_btree()
870 int whichfork) in xfs_bmap_local_to_extents_empty() argument
872 struct xfs_ifork *ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmap_local_to_extents_empty()
874 ASSERT(XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_LOCAL); in xfs_bmap_local_to_extents_empty()
876 ASSERT(XFS_IFORK_NEXTENTS(ip, whichfork) == 0); in xfs_bmap_local_to_extents_empty()
878 xfs_bmap_forkoff_reset(ip, whichfork); in xfs_bmap_local_to_extents_empty()
881 XFS_IFORK_FMT_SET(ip, whichfork, XFS_DINODE_FMT_EXTENTS); in xfs_bmap_local_to_extents_empty()
892 int whichfork, in xfs_bmap_local_to_extents() argument
909 ASSERT(!(S_ISREG(ip->i_d.di_mode) && whichfork == XFS_DATA_FORK)); in xfs_bmap_local_to_extents()
910 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmap_local_to_extents()
911 ASSERT(XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_LOCAL); in xfs_bmap_local_to_extents()
914 xfs_bmap_local_to_extents_empty(ip, whichfork); in xfs_bmap_local_to_extents()
959 xfs_idata_realloc(ip, -ifp->if_bytes, whichfork); in xfs_bmap_local_to_extents()
960 xfs_bmap_local_to_extents_empty(ip, whichfork); in xfs_bmap_local_to_extents()
967 whichfork == XFS_ATTR_FORK ? BMAP_ATTRFORK : 0, in xfs_bmap_local_to_extents()
969 XFS_IFORK_NEXT_SET(ip, whichfork, 1); in xfs_bmap_local_to_extents()
973 flags |= xfs_ilog_fext(whichfork); in xfs_bmap_local_to_extents()
1081 dargs.whichfork = XFS_DATA_FORK; in xfs_bmap_add_attrfork_local()
1247 int whichfork) /* data or attr fork */ in xfs_bmap_read_extents() argument
1264 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmap_read_extents()
1265 exntf = (whichfork != XFS_DATA_FORK) ? XFS_EXTFMT_NOSTATE : in xfs_bmap_read_extents()
1365 ASSERT(i == XFS_IFORK_NEXTENTS(ip, whichfork)); in xfs_bmap_read_extents()
1366 XFS_BMAP_TRACE_EXLIST(ip, i, whichfork); in xfs_bmap_read_extents()
1477 int whichfork) /* data or attr fork */ in xfs_bmap_first_unused() argument
1488 ASSERT(XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_BTREE || in xfs_bmap_first_unused()
1489 XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_EXTENTS || in xfs_bmap_first_unused()
1490 XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_LOCAL); in xfs_bmap_first_unused()
1491 if (XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_LOCAL) { in xfs_bmap_first_unused()
1495 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmap_first_unused()
1497 (error = xfs_iread_extents(tp, ip, whichfork))) in xfs_bmap_first_unused()
1529 int whichfork) /* data or attr fork */ in xfs_bmap_last_before() argument
1540 if (XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_BTREE && in xfs_bmap_last_before()
1541 XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_EXTENTS && in xfs_bmap_last_before()
1542 XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_LOCAL) in xfs_bmap_last_before()
1544 if (XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_LOCAL) { in xfs_bmap_last_before()
1548 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmap_last_before()
1550 (error = xfs_iread_extents(tp, ip, whichfork))) in xfs_bmap_last_before()
1553 ep = xfs_bmap_search_extents(ip, bno, whichfork, &eof, &lastx, &got, in xfs_bmap_last_before()
1571 int whichfork, in xfs_bmap_last_extent() argument
1575 struct xfs_ifork *ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmap_last_extent()
1580 error = xfs_iread_extents(tp, ip, whichfork); in xfs_bmap_last_extent()
1608 int whichfork) in xfs_bmap_isaeof() argument
1615 error = xfs_bmap_last_extent(NULL, bma->ip, whichfork, &rec, in xfs_bmap_isaeof()
1644 int whichfork) in xfs_bmap_last_offset() argument
1652 if (XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_LOCAL) in xfs_bmap_last_offset()
1655 if (XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_BTREE && in xfs_bmap_last_offset()
1656 XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_EXTENTS) in xfs_bmap_last_offset()
1659 error = xfs_bmap_last_extent(NULL, ip, whichfork, &rec, &is_empty); in xfs_bmap_last_offset()
1675 int whichfork) /* data or attr fork */ in xfs_bmap_one_block() argument
1683 if (whichfork == XFS_DATA_FORK) in xfs_bmap_one_block()
1686 if (XFS_IFORK_NEXTENTS(ip, whichfork) != 1) in xfs_bmap_one_block()
1688 if (XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_EXTENTS) in xfs_bmap_one_block()
1690 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmap_one_block()
1695 if (rval && whichfork == XFS_DATA_FORK) in xfs_bmap_one_block()
2931 int whichfork) in xfs_bmap_add_extent_hole_real() argument
2944 ifp = XFS_IFORK_PTR(bma->ip, whichfork); in xfs_bmap_add_extent_hole_real()
2955 if (whichfork == XFS_ATTR_FORK) in xfs_bmap_add_extent_hole_real()
3020 XFS_IFORK_NEXT_SET(bma->ip, whichfork, in xfs_bmap_add_extent_hole_real()
3021 XFS_IFORK_NEXTENTS(bma->ip, whichfork) - 1); in xfs_bmap_add_extent_hole_real()
3023 rval = XFS_ILOG_CORE | xfs_ilog_fext(whichfork); in xfs_bmap_add_extent_hole_real()
3064 rval = xfs_ilog_fext(whichfork); in xfs_bmap_add_extent_hole_real()
3097 rval = xfs_ilog_fext(whichfork); in xfs_bmap_add_extent_hole_real()
3124 XFS_IFORK_NEXT_SET(bma->ip, whichfork, in xfs_bmap_add_extent_hole_real()
3125 XFS_IFORK_NEXTENTS(bma->ip, whichfork) + 1); in xfs_bmap_add_extent_hole_real()
3127 rval = XFS_ILOG_CORE | xfs_ilog_fext(whichfork); in xfs_bmap_add_extent_hole_real()
3147 if (xfs_bmap_needs_btree(bma->ip, whichfork)) { in xfs_bmap_add_extent_hole_real()
3153 0, &tmp_logflags, whichfork); in xfs_bmap_add_extent_hole_real()
3163 xfs_bmap_check_leaf_extents(bma->cur, bma->ip, whichfork); in xfs_bmap_add_extent_hole_real()
4022 int whichfork = (flags & XFS_BMAPI_ATTRFORK) ? in xfs_bmapi_read() local
4031 (XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_EXTENTS && in xfs_bmapi_read()
4032 XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_BTREE), in xfs_bmapi_read()
4043 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmapi_read()
4046 error = xfs_iread_extents(NULL, ip, whichfork); in xfs_bmapi_read()
4051 xfs_bmap_search_extents(ip, bno, whichfork, &eof, &lastx, &got, &prev); in xfs_bmapi_read()
4277 int whichfork = (bma->flags & XFS_BMAPI_ATTRFORK) ? in xfs_bmapi_allocate() local
4279 struct xfs_ifork *ifp = XFS_IFORK_PTR(bma->ip, whichfork); in xfs_bmapi_allocate()
4319 !(bma->flags & XFS_BMAPI_METADATA) && whichfork == XFS_DATA_FORK) { in xfs_bmapi_allocate()
4320 error = xfs_bmap_isaeof(bma, whichfork); in xfs_bmapi_allocate()
4336 bma->cur = xfs_bmbt_init_cursor(mp, bma->tp, bma->ip, whichfork); in xfs_bmapi_allocate()
4366 error = xfs_bmap_add_extent_hole_real(bma, whichfork); in xfs_bmapi_allocate()
4394 int whichfork = (flags & XFS_BMAPI_ATTRFORK) ? in xfs_bmapi_convert_unwritten() local
4396 struct xfs_ifork *ifp = XFS_IFORK_PTR(bma->ip, whichfork); in xfs_bmapi_convert_unwritten()
4417 bma->ip, whichfork); in xfs_bmapi_convert_unwritten()
4481 int whichfork; /* data or attr fork */ in xfs_bmapi_write() local
4498 whichfork = (flags & XFS_BMAPI_ATTRFORK) ? in xfs_bmapi_write()
4506 ASSERT(XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_LOCAL); in xfs_bmapi_write()
4510 (XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_EXTENTS && in xfs_bmapi_write()
4511 XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_BTREE), in xfs_bmapi_write()
4520 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmapi_write()
4525 if (XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_BTREE) in xfs_bmapi_write()
4534 error = xfs_iread_extents(tp, ip, whichfork); in xfs_bmapi_write()
4539 xfs_bmap_search_extents(ip, bno, whichfork, &eof, &bma.idx, &bma.got, in xfs_bmapi_write()
4623 if (xfs_bmap_wants_extents(ip, whichfork)) { in xfs_bmapi_write()
4628 &tmp_logflags, whichfork); in xfs_bmapi_write()
4634 ASSERT(XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_BTREE || in xfs_bmapi_write()
4635 XFS_IFORK_NEXTENTS(ip, whichfork) > in xfs_bmapi_write()
4636 XFS_IFORK_MAXEXT(ip, whichfork)); in xfs_bmapi_write()
4643 if ((bma.logflags & xfs_ilog_fext(whichfork)) && in xfs_bmapi_write()
4644 XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_EXTENTS) in xfs_bmapi_write()
4645 bma.logflags &= ~xfs_ilog_fext(whichfork); in xfs_bmapi_write()
4646 else if ((bma.logflags & xfs_ilog_fbroot(whichfork)) && in xfs_bmapi_write()
4647 XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_BTREE) in xfs_bmapi_write()
4648 bma.logflags &= ~xfs_ilog_fbroot(whichfork); in xfs_bmapi_write()
4691 int whichfork) /* data or attr fork */ in xfs_bmap_del_extent() argument
4717 if (whichfork == XFS_ATTR_FORK) in xfs_bmap_del_extent()
4721 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmap_del_extent()
4744 if (whichfork == XFS_DATA_FORK && XFS_IS_REALTIME_INODE(ip)) { in xfs_bmap_del_extent()
4800 whichfork == XFS_ATTR_FORK ? BMAP_ATTRFORK : 0); in xfs_bmap_del_extent()
4805 XFS_IFORK_NEXT_SET(ip, whichfork, in xfs_bmap_del_extent()
4806 XFS_IFORK_NEXTENTS(ip, whichfork) - 1); in xfs_bmap_del_extent()
4809 flags |= xfs_ilog_fext(whichfork); in xfs_bmap_del_extent()
4836 flags |= xfs_ilog_fext(whichfork); in xfs_bmap_del_extent()
4862 flags |= xfs_ilog_fext(whichfork); in xfs_bmap_del_extent()
4938 flags |= xfs_ilog_fext(whichfork); in xfs_bmap_del_extent()
4939 XFS_IFORK_NEXT_SET(ip, whichfork, in xfs_bmap_del_extent()
4940 XFS_IFORK_NEXTENTS(ip, whichfork) + 1); in xfs_bmap_del_extent()
4942 ASSERT(whichfork == XFS_DATA_FORK); in xfs_bmap_del_extent()
5036 int whichfork; /* data or attribute fork */ in xfs_bunmapi() local
5041 whichfork = (flags & XFS_BMAPI_ATTRFORK) ? in xfs_bunmapi()
5043 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bunmapi()
5045 XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_EXTENTS && in xfs_bunmapi()
5046 XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_BTREE)) { in xfs_bunmapi()
5060 (error = xfs_iread_extents(tp, ip, whichfork))) in xfs_bunmapi()
5068 isrt = (whichfork == XFS_DATA_FORK) && XFS_IS_REALTIME_INODE(ip); in xfs_bunmapi()
5071 ep = xfs_bmap_search_extents(ip, bno, whichfork, &eof, &lastx, &got, in xfs_bunmapi()
5085 ASSERT(XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_BTREE); in xfs_bunmapi()
5086 cur = xfs_bmbt_init_cursor(mp, tp, ip, whichfork); in xfs_bunmapi()
5291 XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_EXTENTS && in xfs_bunmapi()
5292 XFS_IFORK_NEXTENTS(ip, whichfork) >= /* Note the >= */ in xfs_bunmapi()
5293 XFS_IFORK_MAXEXT(ip, whichfork) && in xfs_bunmapi()
5301 &tmp_logflags, whichfork); in xfs_bunmapi()
5328 if (xfs_bmap_needs_btree(ip, whichfork)) { in xfs_bunmapi()
5331 &cur, 0, &tmp_logflags, whichfork); in xfs_bunmapi()
5339 else if (xfs_bmap_wants_extents(ip, whichfork)) { in xfs_bunmapi()
5342 whichfork); in xfs_bunmapi()
5356 if ((logflags & xfs_ilog_fext(whichfork)) && in xfs_bunmapi()
5357 XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_EXTENTS) in xfs_bunmapi()
5358 logflags &= ~xfs_ilog_fext(whichfork); in xfs_bunmapi()
5359 else if ((logflags & xfs_ilog_fbroot(whichfork)) && in xfs_bunmapi()
5360 XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_BTREE) in xfs_bunmapi()
5361 logflags &= ~xfs_ilog_fbroot(whichfork); in xfs_bunmapi()
5418 int whichfork, in xfs_bmse_merge() argument
5452 XFS_IFORK_NEXT_SET(ip, whichfork, in xfs_bmse_merge()
5453 XFS_IFORK_NEXTENTS(ip, whichfork) - 1); in xfs_bmse_merge()
5491 int whichfork, in xfs_bmse_shift_one() argument
5510 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmse_shift_one()
5545 return xfs_bmse_merge(ip, whichfork, offset_shift_fsb, in xfs_bmse_shift_one()
5633 int whichfork = XFS_DATA_FORK; in xfs_bmap_shift_extents() local
5637 (XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_EXTENTS && in xfs_bmap_shift_extents()
5638 XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_BTREE), in xfs_bmap_shift_extents()
5653 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmap_shift_extents()
5656 error = xfs_iread_extents(tp, ip, whichfork); in xfs_bmap_shift_extents()
5662 cur = xfs_bmbt_init_cursor(mp, tp, ip, whichfork); in xfs_bmap_shift_extents()
5723 error = xfs_bmse_shift_one(ip, whichfork, offset_shift_fsb, in xfs_bmap_shift_extents()
5775 int whichfork = XFS_DATA_FORK; in xfs_bmap_split_extent_at() local
5789 (XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_EXTENTS && in xfs_bmap_split_extent_at()
5790 XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_BTREE), in xfs_bmap_split_extent_at()
5800 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_bmap_split_extent_at()
5803 error = xfs_iread_extents(tp, ip, whichfork); in xfs_bmap_split_extent_at()
5833 cur = xfs_bmbt_init_cursor(mp, tp, ip, whichfork); in xfs_bmap_split_extent_at()
5863 XFS_IFORK_NEXT_SET(ip, whichfork, in xfs_bmap_split_extent_at()
5864 XFS_IFORK_NEXTENTS(ip, whichfork) + 1); in xfs_bmap_split_extent_at()
5884 if (xfs_bmap_needs_btree(ip, whichfork)) { in xfs_bmap_split_extent_at()
5889 &cur, 0, &tmp_logflags, whichfork); in xfs_bmap_split_extent_at()