diff options
Diffstat (limited to 'fs/xfs/xfs_attr.c')
-rw-r--r-- | fs/xfs/xfs_attr.c | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/fs/xfs/xfs_attr.c b/fs/xfs/xfs_attr.c index d644915367e3..aaf472532b3c 100644 --- a/fs/xfs/xfs_attr.c +++ b/fs/xfs/xfs_attr.c | |||
@@ -1696,10 +1696,10 @@ xfs_attr_refillstate(xfs_da_state_t *state) | |||
1696 | ASSERT((path->active >= 0) && (path->active < XFS_DA_NODE_MAXDEPTH)); | 1696 | ASSERT((path->active >= 0) && (path->active < XFS_DA_NODE_MAXDEPTH)); |
1697 | for (blk = path->blk, level = 0; level < path->active; blk++, level++) { | 1697 | for (blk = path->blk, level = 0; level < path->active; blk++, level++) { |
1698 | if (blk->disk_blkno) { | 1698 | if (blk->disk_blkno) { |
1699 | error = xfs_da_read_buf(state->args->trans, | 1699 | error = xfs_da_node_read(state->args->trans, |
1700 | state->args->dp, | 1700 | state->args->dp, |
1701 | blk->blkno, blk->disk_blkno, | 1701 | blk->blkno, blk->disk_blkno, |
1702 | &blk->bp, XFS_ATTR_FORK, NULL); | 1702 | &blk->bp, XFS_ATTR_FORK); |
1703 | if (error) | 1703 | if (error) |
1704 | return(error); | 1704 | return(error); |
1705 | } else { | 1705 | } else { |
@@ -1715,10 +1715,10 @@ xfs_attr_refillstate(xfs_da_state_t *state) | |||
1715 | ASSERT((path->active >= 0) && (path->active < XFS_DA_NODE_MAXDEPTH)); | 1715 | ASSERT((path->active >= 0) && (path->active < XFS_DA_NODE_MAXDEPTH)); |
1716 | for (blk = path->blk, level = 0; level < path->active; blk++, level++) { | 1716 | for (blk = path->blk, level = 0; level < path->active; blk++, level++) { |
1717 | if (blk->disk_blkno) { | 1717 | if (blk->disk_blkno) { |
1718 | error = xfs_da_read_buf(state->args->trans, | 1718 | error = xfs_da_node_read(state->args->trans, |
1719 | state->args->dp, | 1719 | state->args->dp, |
1720 | blk->blkno, blk->disk_blkno, | 1720 | blk->blkno, blk->disk_blkno, |
1721 | &blk->bp, XFS_ATTR_FORK, NULL); | 1721 | &blk->bp, XFS_ATTR_FORK); |
1722 | if (error) | 1722 | if (error) |
1723 | return(error); | 1723 | return(error); |
1724 | } else { | 1724 | } else { |
@@ -1807,8 +1807,8 @@ xfs_attr_node_list(xfs_attr_list_context_t *context) | |||
1807 | */ | 1807 | */ |
1808 | bp = NULL; | 1808 | bp = NULL; |
1809 | if (cursor->blkno > 0) { | 1809 | if (cursor->blkno > 0) { |
1810 | error = xfs_da_read_buf(NULL, context->dp, cursor->blkno, -1, | 1810 | error = xfs_da_node_read(NULL, context->dp, cursor->blkno, -1, |
1811 | &bp, XFS_ATTR_FORK, NULL); | 1811 | &bp, XFS_ATTR_FORK); |
1812 | if ((error != 0) && (error != EFSCORRUPTED)) | 1812 | if ((error != 0) && (error != EFSCORRUPTED)) |
1813 | return(error); | 1813 | return(error); |
1814 | if (bp) { | 1814 | if (bp) { |
@@ -1849,17 +1849,11 @@ xfs_attr_node_list(xfs_attr_list_context_t *context) | |||
1849 | if (bp == NULL) { | 1849 | if (bp == NULL) { |
1850 | cursor->blkno = 0; | 1850 | cursor->blkno = 0; |
1851 | for (;;) { | 1851 | for (;;) { |
1852 | error = xfs_da_read_buf(NULL, context->dp, | 1852 | error = xfs_da_node_read(NULL, context->dp, |
1853 | cursor->blkno, -1, &bp, | 1853 | cursor->blkno, -1, &bp, |
1854 | XFS_ATTR_FORK, NULL); | 1854 | XFS_ATTR_FORK); |
1855 | if (error) | 1855 | if (error) |
1856 | return(error); | 1856 | return(error); |
1857 | if (unlikely(bp == NULL)) { | ||
1858 | XFS_ERROR_REPORT("xfs_attr_node_list(2)", | ||
1859 | XFS_ERRLEVEL_LOW, | ||
1860 | context->dp->i_mount); | ||
1861 | return(XFS_ERROR(EFSCORRUPTED)); | ||
1862 | } | ||
1863 | node = bp->b_addr; | 1857 | node = bp->b_addr; |
1864 | if (node->hdr.info.magic == | 1858 | if (node->hdr.info.magic == |
1865 | cpu_to_be16(XFS_ATTR_LEAF_MAGIC)) | 1859 | cpu_to_be16(XFS_ATTR_LEAF_MAGIC)) |