Loading fs/xfs/xfs_da_btree.c +2 −2 Original line number Diff line number Diff line Loading @@ -2285,10 +2285,10 @@ xfs_da_reada_buf( struct xfs_trans *trans, struct xfs_inode *dp, xfs_dablk_t bno, xfs_daddr_t mappedbno, int whichfork, xfs_buf_iodone_t verifier) { xfs_daddr_t mappedbno = -1; struct xfs_buf_map map; struct xfs_buf_map *mapp; int nmap; Loading @@ -2296,7 +2296,7 @@ xfs_da_reada_buf( mapp = ↦ nmap = 1; error = xfs_dabuf_map(trans, dp, bno, -1, whichfork, error = xfs_dabuf_map(trans, dp, bno, mappedbno, whichfork, &mapp, &nmap); if (error) { /* mapping a hole is not an error, but we don't continue */ Loading fs/xfs/xfs_da_btree.h +2 −2 Original line number Diff line number Diff line Loading @@ -231,8 +231,8 @@ int xfs_da_read_buf(struct xfs_trans *trans, struct xfs_inode *dp, struct xfs_buf **bpp, int whichfork, xfs_buf_iodone_t verifier); xfs_daddr_t xfs_da_reada_buf(struct xfs_trans *trans, struct xfs_inode *dp, xfs_dablk_t bno, int whichfork, xfs_buf_iodone_t verifier); xfs_dablk_t bno, xfs_daddr_t mapped_bno, int whichfork, xfs_buf_iodone_t verifier); int xfs_da_shrink_inode(xfs_da_args_t *args, xfs_dablk_t dead_blkno, struct xfs_buf *dead_buf); Loading fs/xfs/xfs_dir2_data.c +12 −1 Original line number Diff line number Diff line Loading @@ -185,7 +185,7 @@ __xfs_dir2_data_check( return 0; } static void void xfs_dir2_data_verify( struct xfs_buf *bp) { Loading Loading @@ -217,6 +217,17 @@ xfs_dir2_data_read( XFS_DATA_FORK, xfs_dir2_data_verify); } int xfs_dir2_data_readahead( struct xfs_trans *tp, struct xfs_inode *dp, xfs_dablk_t bno, xfs_daddr_t mapped_bno) { return xfs_da_reada_buf(tp, dp, bno, mapped_bno, XFS_DATA_FORK, xfs_dir2_data_verify); } /* * Given a data block and an unused entry from that block, * return the bestfree entry if any that corresponds to it. Loading fs/xfs/xfs_dir2_leaf.c +5 −6 Original line number Diff line number Diff line Loading @@ -972,11 +972,11 @@ xfs_dir2_leaf_readbuf( */ if (i > mip->ra_current && map[mip->ra_index].br_blockcount >= mp->m_dirblkfsbs) { xfs_buf_readahead(mp->m_ddev_targp, xfs_dir2_data_readahead(NULL, dp, map[mip->ra_index].br_startoff + mip->ra_offset, XFS_FSB_TO_DADDR(mp, map[mip->ra_index].br_startblock + mip->ra_offset), (int)BTOBB(mp->m_dirblksize), NULL); mip->ra_offset)); mip->ra_current = i; } Loading @@ -985,10 +985,9 @@ xfs_dir2_leaf_readbuf( * use our mapping, but this is a very rare case. */ else if (i > mip->ra_current) { xfs_da_reada_buf(NULL, dp, xfs_dir2_data_readahead(NULL, dp, map[mip->ra_index].br_startoff + mip->ra_offset, XFS_DATA_FORK, NULL); mip->ra_offset, -1); mip->ra_current = i; } Loading fs/xfs/xfs_dir2_priv.h +2 −0 Original line number Diff line number Diff line Loading @@ -48,6 +48,8 @@ extern int xfs_dir2_leaf_to_block(struct xfs_da_args *args, extern int __xfs_dir2_data_check(struct xfs_inode *dp, struct xfs_buf *bp); extern int xfs_dir2_data_read(struct xfs_trans *tp, struct xfs_inode *dp, xfs_dablk_t bno, xfs_daddr_t mapped_bno, struct xfs_buf **bpp); extern int xfs_dir2_data_readahead(struct xfs_trans *tp, struct xfs_inode *dp, xfs_dablk_t bno, xfs_daddr_t mapped_bno); extern struct xfs_dir2_data_free * xfs_dir2_data_freeinsert(struct xfs_dir2_data_hdr *hdr, Loading Loading
fs/xfs/xfs_da_btree.c +2 −2 Original line number Diff line number Diff line Loading @@ -2285,10 +2285,10 @@ xfs_da_reada_buf( struct xfs_trans *trans, struct xfs_inode *dp, xfs_dablk_t bno, xfs_daddr_t mappedbno, int whichfork, xfs_buf_iodone_t verifier) { xfs_daddr_t mappedbno = -1; struct xfs_buf_map map; struct xfs_buf_map *mapp; int nmap; Loading @@ -2296,7 +2296,7 @@ xfs_da_reada_buf( mapp = ↦ nmap = 1; error = xfs_dabuf_map(trans, dp, bno, -1, whichfork, error = xfs_dabuf_map(trans, dp, bno, mappedbno, whichfork, &mapp, &nmap); if (error) { /* mapping a hole is not an error, but we don't continue */ Loading
fs/xfs/xfs_da_btree.h +2 −2 Original line number Diff line number Diff line Loading @@ -231,8 +231,8 @@ int xfs_da_read_buf(struct xfs_trans *trans, struct xfs_inode *dp, struct xfs_buf **bpp, int whichfork, xfs_buf_iodone_t verifier); xfs_daddr_t xfs_da_reada_buf(struct xfs_trans *trans, struct xfs_inode *dp, xfs_dablk_t bno, int whichfork, xfs_buf_iodone_t verifier); xfs_dablk_t bno, xfs_daddr_t mapped_bno, int whichfork, xfs_buf_iodone_t verifier); int xfs_da_shrink_inode(xfs_da_args_t *args, xfs_dablk_t dead_blkno, struct xfs_buf *dead_buf); Loading
fs/xfs/xfs_dir2_data.c +12 −1 Original line number Diff line number Diff line Loading @@ -185,7 +185,7 @@ __xfs_dir2_data_check( return 0; } static void void xfs_dir2_data_verify( struct xfs_buf *bp) { Loading Loading @@ -217,6 +217,17 @@ xfs_dir2_data_read( XFS_DATA_FORK, xfs_dir2_data_verify); } int xfs_dir2_data_readahead( struct xfs_trans *tp, struct xfs_inode *dp, xfs_dablk_t bno, xfs_daddr_t mapped_bno) { return xfs_da_reada_buf(tp, dp, bno, mapped_bno, XFS_DATA_FORK, xfs_dir2_data_verify); } /* * Given a data block and an unused entry from that block, * return the bestfree entry if any that corresponds to it. Loading
fs/xfs/xfs_dir2_leaf.c +5 −6 Original line number Diff line number Diff line Loading @@ -972,11 +972,11 @@ xfs_dir2_leaf_readbuf( */ if (i > mip->ra_current && map[mip->ra_index].br_blockcount >= mp->m_dirblkfsbs) { xfs_buf_readahead(mp->m_ddev_targp, xfs_dir2_data_readahead(NULL, dp, map[mip->ra_index].br_startoff + mip->ra_offset, XFS_FSB_TO_DADDR(mp, map[mip->ra_index].br_startblock + mip->ra_offset), (int)BTOBB(mp->m_dirblksize), NULL); mip->ra_offset)); mip->ra_current = i; } Loading @@ -985,10 +985,9 @@ xfs_dir2_leaf_readbuf( * use our mapping, but this is a very rare case. */ else if (i > mip->ra_current) { xfs_da_reada_buf(NULL, dp, xfs_dir2_data_readahead(NULL, dp, map[mip->ra_index].br_startoff + mip->ra_offset, XFS_DATA_FORK, NULL); mip->ra_offset, -1); mip->ra_current = i; } Loading
fs/xfs/xfs_dir2_priv.h +2 −0 Original line number Diff line number Diff line Loading @@ -48,6 +48,8 @@ extern int xfs_dir2_leaf_to_block(struct xfs_da_args *args, extern int __xfs_dir2_data_check(struct xfs_inode *dp, struct xfs_buf *bp); extern int xfs_dir2_data_read(struct xfs_trans *tp, struct xfs_inode *dp, xfs_dablk_t bno, xfs_daddr_t mapped_bno, struct xfs_buf **bpp); extern int xfs_dir2_data_readahead(struct xfs_trans *tp, struct xfs_inode *dp, xfs_dablk_t bno, xfs_daddr_t mapped_bno); extern struct xfs_dir2_data_free * xfs_dir2_data_freeinsert(struct xfs_dir2_data_hdr *hdr, Loading