diff options
author | Dave Chinner <dchinner@redhat.com> | 2021-06-02 02:48:51 +0200 |
---|---|---|
committer | Dave Chinner <david@fromorbit.com> | 2021-06-02 02:48:51 +0200 |
commit | f40aadb2bb64fe0a3d9b59957e70796d629cdee2 (patch) | |
tree | c28ab093f3e077509dc6d686951e637238cd6f92 /fs/xfs/libxfs/xfs_ialloc.h | |
parent | xfs: clean up and simplify xfs_dialloc() (diff) | |
download | linux-f40aadb2bb64fe0a3d9b59957e70796d629cdee2.tar.xz linux-f40aadb2bb64fe0a3d9b59957e70796d629cdee2.zip |
xfs: use perag through unlink processing
Unlinked lists are held in the perag, and freeing of inodes needs to
be passed a perag, too, so look up the perag early in the unlink
processing and use it throughout.
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Diffstat (limited to 'fs/xfs/libxfs/xfs_ialloc.h')
-rw-r--r-- | fs/xfs/libxfs/xfs_ialloc.h | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/fs/xfs/libxfs/xfs_ialloc.h b/fs/xfs/libxfs/xfs_ialloc.h index 886f6748fb22..9df7c80408ff 100644 --- a/fs/xfs/libxfs/xfs_ialloc.h +++ b/fs/xfs/libxfs/xfs_ialloc.h @@ -39,17 +39,8 @@ xfs_make_iptr(struct xfs_mount *mp, struct xfs_buf *b, int o) int xfs_dialloc(struct xfs_trans **tpp, xfs_ino_t parent, umode_t mode, xfs_ino_t *new_ino); -/* - * Free disk inode. Carefully avoids touching the incore inode, all - * manipulations incore are the caller's responsibility. - * The on-disk inode is not changed by this operation, only the - * btree (free inode mask) is changed. - */ -int /* error */ -xfs_difree( - struct xfs_trans *tp, /* transaction pointer */ - xfs_ino_t inode, /* inode to be freed */ - struct xfs_icluster *ifree); /* cluster info if deleted */ +int xfs_difree(struct xfs_trans *tp, struct xfs_perag *pag, + xfs_ino_t ino, struct xfs_icluster *ifree); /* * Return the location of the inode in imap, for mapping it into a buffer. |