Skip to content

Commit

Permalink
xfs: clean up iunlink functions
Browse files Browse the repository at this point in the history
Fix some indentation issues with the iunlink functions and reorganize
the tops of the functions to be identical.  No functional changes.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
  • Loading branch information
Darrick J. Wong committed Feb 12, 2019
1 parent c2b3164 commit 5837f62
Showing 1 changed file with 32 additions and 47 deletions.
79 changes: 32 additions & 47 deletions fs/xfs/xfs_inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -1918,26 +1918,24 @@ xfs_inactive(
*/
STATIC int
xfs_iunlink(
struct xfs_trans *tp,
struct xfs_inode *ip)
struct xfs_trans *tp,
struct xfs_inode *ip)
{
xfs_mount_t *mp = tp->t_mountp;
xfs_agi_t *agi;
xfs_dinode_t *dip;
xfs_buf_t *agibp;
xfs_buf_t *ibp;
xfs_agino_t agino;
short bucket_index;
int offset;
int error;
struct xfs_mount *mp = tp->t_mountp;
struct xfs_agi *agi;
struct xfs_dinode *dip;
struct xfs_buf *agibp;
struct xfs_buf *ibp;
xfs_agnumber_t agno = XFS_INO_TO_AGNO(mp, ip->i_ino);
xfs_agino_t agino = XFS_INO_TO_AGINO(mp, ip->i_ino);
short bucket_index = agino % XFS_AGI_UNLINKED_BUCKETS;
int offset;
int error;

ASSERT(VFS_I(ip)->i_mode != 0);

/*
* Get the agi buffer first. It ensures lock ordering
* on the list.
*/
error = xfs_read_agi(mp, tp, XFS_INO_TO_AGNO(mp, ip->i_ino), &agibp);
/* Get the agi buffer first. It ensures lock ordering on the list. */
error = xfs_read_agi(mp, tp, agno, &agibp);
if (error)
return error;
agi = XFS_BUF_TO_AGI(agibp);
Expand All @@ -1946,9 +1944,6 @@ xfs_iunlink(
* Get the index into the agi hash table for the
* list this inode will go on.
*/
agino = XFS_INO_TO_AGINO(mp, ip->i_ino);
ASSERT(agino != 0);
bucket_index = agino % XFS_AGI_UNLINKED_BUCKETS;
ASSERT(agi->agi_unlinked[bucket_index]);
ASSERT(be32_to_cpu(agi->agi_unlinked[bucket_index]) != agino);

Expand Down Expand Up @@ -1995,45 +1990,35 @@ xfs_iunlink(
*/
STATIC int
xfs_iunlink_remove(
xfs_trans_t *tp,
xfs_inode_t *ip)
struct xfs_trans *tp,
struct xfs_inode *ip)
{
xfs_ino_t next_ino;
xfs_mount_t *mp;
xfs_agi_t *agi;
xfs_dinode_t *dip;
xfs_buf_t *agibp;
xfs_buf_t *ibp;
xfs_agnumber_t agno;
xfs_agino_t agino;
xfs_agino_t next_agino;
xfs_buf_t *last_ibp;
xfs_dinode_t *last_dip = NULL;
short bucket_index;
int offset, last_offset = 0;
int error;

mp = tp->t_mountp;
agno = XFS_INO_TO_AGNO(mp, ip->i_ino);
struct xfs_mount *mp = tp->t_mountp;
struct xfs_agi *agi;
struct xfs_dinode *dip;
struct xfs_buf *agibp;
struct xfs_buf *ibp;
struct xfs_buf *last_ibp;
struct xfs_dinode *last_dip = NULL;
xfs_ino_t next_ino;
xfs_agnumber_t agno = XFS_INO_TO_AGNO(mp, ip->i_ino);
xfs_agino_t agino = XFS_INO_TO_AGINO(mp, ip->i_ino);
xfs_agino_t next_agino;
short bucket_index = agino % XFS_AGI_UNLINKED_BUCKETS;
int offset;
int last_offset = 0;
int error;

/*
* Get the agi buffer first. It ensures lock ordering
* on the list.
*/
/* Get the agi buffer first. It ensures lock ordering on the list. */
error = xfs_read_agi(mp, tp, agno, &agibp);
if (error)
return error;

agi = XFS_BUF_TO_AGI(agibp);

/*
* Get the index into the agi hash table for the
* list this inode will go on.
*/
agino = XFS_INO_TO_AGINO(mp, ip->i_ino);
if (!xfs_verify_agino(mp, agno, agino))
return -EFSCORRUPTED;
bucket_index = agino % XFS_AGI_UNLINKED_BUCKETS;
if (!xfs_verify_agino(mp, agno,
be32_to_cpu(agi->agi_unlinked[bucket_index]))) {
XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, mp,
Expand Down

0 comments on commit 5837f62

Please sign in to comment.