aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_dir2_block.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/xfs/xfs_dir2_block.c')
-rw-r--r--fs/xfs/xfs_dir2_block.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/fs/xfs/xfs_dir2_block.c b/fs/xfs/xfs_dir2_block.c
index d2e445f92ffb..58816ecdbba5 100644
--- a/fs/xfs/xfs_dir2_block.c
+++ b/fs/xfs/xfs_dir2_block.c
@@ -132,20 +132,26 @@ xfs_dir3_block_read(
132 struct xfs_buf **bpp) 132 struct xfs_buf **bpp)
133{ 133{
134 struct xfs_mount *mp = dp->i_mount; 134 struct xfs_mount *mp = dp->i_mount;
135 int err;
135 136
136 return xfs_da_read_buf(tp, dp, mp->m_dirdatablk, -1, bpp, 137 err = xfs_da_read_buf(tp, dp, mp->m_dirdatablk, -1, bpp,
137 XFS_DATA_FORK, &xfs_dir3_block_buf_ops); 138 XFS_DATA_FORK, &xfs_dir3_block_buf_ops);
139 if (!err && tp)
140 xfs_trans_buf_set_type(tp, *bpp, XFS_BLF_DIR_BLOCK_BUF);
141 return err;
138} 142}
139 143
140static void 144static void
141xfs_dir3_block_init( 145xfs_dir3_block_init(
142 struct xfs_mount *mp, 146 struct xfs_mount *mp,
147 struct xfs_trans *tp,
143 struct xfs_buf *bp, 148 struct xfs_buf *bp,
144 struct xfs_inode *dp) 149 struct xfs_inode *dp)
145{ 150{
146 struct xfs_dir3_blk_hdr *hdr3 = bp->b_addr; 151 struct xfs_dir3_blk_hdr *hdr3 = bp->b_addr;
147 152
148 bp->b_ops = &xfs_dir3_block_buf_ops; 153 bp->b_ops = &xfs_dir3_block_buf_ops;
154 xfs_trans_buf_set_type(tp, bp, XFS_BLF_DIR_BLOCK_BUF);
149 155
150 if (xfs_sb_version_hascrc(&mp->m_sb)) { 156 if (xfs_sb_version_hascrc(&mp->m_sb)) {
151 memset(hdr3, 0, sizeof(*hdr3)); 157 memset(hdr3, 0, sizeof(*hdr3));
@@ -1080,7 +1086,7 @@ xfs_dir2_leaf_to_block(
1080 /* 1086 /*
1081 * Start converting it to block form. 1087 * Start converting it to block form.
1082 */ 1088 */
1083 xfs_dir3_block_init(mp, dbp, dp); 1089 xfs_dir3_block_init(mp, tp, dbp, dp);
1084 1090
1085 needlog = 1; 1091 needlog = 1;
1086 needscan = 0; 1092 needscan = 0;
@@ -1209,7 +1215,7 @@ xfs_dir2_sf_to_block(
1209 kmem_free(sfp); 1215 kmem_free(sfp);
1210 return error; 1216 return error;
1211 } 1217 }
1212 xfs_dir3_block_init(mp, bp, dp); 1218 xfs_dir3_block_init(mp, tp, bp, dp);
1213 hdr = bp->b_addr; 1219 hdr = bp->b_addr;
1214 1220
1215 /* 1221 /*