Commit 026f57eb authored by Darrick J. Wong's avatar Darrick J. Wong
Browse files

xfs: get rid of the ip parameter to xchk_setup_*



Now that the scrub context stores a pointer to the file that was used to
invoke the scrub call, the struct xfs_inode pointer that we passed to
all the setup functions is no longer necessary.  This is only ever used
if the caller wants us to scrub the metadata of the open file.

Signed-off-by: default avatarDarrick J. Wong <djwong@kernel.org>
Reviewed-by: default avatarChandan Babu R <chandanrlinux@gmail.com>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
parent 71bddbcc
Loading
Loading
Loading
Loading
+2 −3
Original line number Original line Diff line number Diff line
@@ -21,10 +21,9 @@
 */
 */
int
int
xchk_setup_ag_allocbt(
xchk_setup_ag_allocbt(
	struct xfs_scrub	*sc,
	struct xfs_scrub	*sc)
	struct xfs_inode	*ip)
{
{
	return xchk_setup_ag_btree(sc, ip, false);
	return xchk_setup_ag_btree(sc, false);
}
}


/* Free space btree scrubber. */
/* Free space btree scrubber. */
+2 −3
Original line number Original line Diff line number Diff line
@@ -69,8 +69,7 @@ xchk_setup_xattr_buf(
/* Set us up to scrub an inode's extended attributes. */
/* Set us up to scrub an inode's extended attributes. */
int
int
xchk_setup_xattr(
xchk_setup_xattr(
	struct xfs_scrub	*sc,
	struct xfs_scrub	*sc)
	struct xfs_inode	*ip)
{
{
	int			error;
	int			error;


@@ -85,7 +84,7 @@ xchk_setup_xattr(
			return error;
			return error;
	}
	}


	return xchk_setup_inode_contents(sc, ip, 0);
	return xchk_setup_inode_contents(sc, 0);
}
}


/* Extended Attributes */
/* Extended Attributes */
+2 −3
Original line number Original line Diff line number Diff line
@@ -26,12 +26,11 @@
/* Set us up with an inode's bmap. */
/* Set us up with an inode's bmap. */
int
int
xchk_setup_inode_bmap(
xchk_setup_inode_bmap(
	struct xfs_scrub	*sc,
	struct xfs_scrub	*sc)
	struct xfs_inode	*ip)
{
{
	int			error;
	int			error;


	error = xchk_get_inode(sc, ip);
	error = xchk_get_inode(sc);
	if (error)
	if (error)
		goto out;
		goto out;


+5 −8
Original line number Original line Diff line number Diff line
@@ -593,8 +593,7 @@ xchk_trans_alloc(
/* Set us up with a transaction and an empty context. */
/* Set us up with a transaction and an empty context. */
int
int
xchk_setup_fs(
xchk_setup_fs(
	struct xfs_scrub	*sc,
	struct xfs_scrub	*sc)
	struct xfs_inode	*ip)
{
{
	uint			resblks;
	uint			resblks;


@@ -606,7 +605,6 @@ xchk_setup_fs(
int
int
xchk_setup_ag_btree(
xchk_setup_ag_btree(
	struct xfs_scrub	*sc,
	struct xfs_scrub	*sc,
	struct xfs_inode	*ip,
	bool			force_log)
	bool			force_log)
{
{
	struct xfs_mount	*mp = sc->mp;
	struct xfs_mount	*mp = sc->mp;
@@ -624,7 +622,7 @@ xchk_setup_ag_btree(
			return error;
			return error;
	}
	}


	error = xchk_setup_fs(sc, ip);
	error = xchk_setup_fs(sc);
	if (error)
	if (error)
		return error;
		return error;


@@ -652,11 +650,11 @@ xchk_checkpoint_log(
 */
 */
int
int
xchk_get_inode(
xchk_get_inode(
	struct xfs_scrub	*sc,
	struct xfs_scrub	*sc)
	struct xfs_inode	*ip_in)
{
{
	struct xfs_imap		imap;
	struct xfs_imap		imap;
	struct xfs_mount	*mp = sc->mp;
	struct xfs_mount	*mp = sc->mp;
	struct xfs_inode	*ip_in = XFS_I(file_inode(sc->file));
	struct xfs_inode	*ip = NULL;
	struct xfs_inode	*ip = NULL;
	int			error;
	int			error;


@@ -717,12 +715,11 @@ xchk_get_inode(
int
int
xchk_setup_inode_contents(
xchk_setup_inode_contents(
	struct xfs_scrub	*sc,
	struct xfs_scrub	*sc,
	struct xfs_inode	*ip,
	unsigned int		resblks)
	unsigned int		resblks)
{
{
	int			error;
	int			error;


	error = xchk_get_inode(sc, ip);
	error = xchk_get_inode(sc);
	if (error)
	if (error)
		return error;
		return error;


+20 −33
Original line number Original line Diff line number Diff line
@@ -72,48 +72,37 @@ bool xchk_should_check_xref(struct xfs_scrub *sc, int *error,
			   struct xfs_btree_cur **curpp);
			   struct xfs_btree_cur **curpp);


/* Setup functions */
/* Setup functions */
int xchk_setup_fs(struct xfs_scrub *sc, struct xfs_inode *ip);
int xchk_setup_fs(struct xfs_scrub *sc);
int xchk_setup_ag_allocbt(struct xfs_scrub *sc,
int xchk_setup_ag_allocbt(struct xfs_scrub *sc);
			       struct xfs_inode *ip);
int xchk_setup_ag_iallocbt(struct xfs_scrub *sc);
int xchk_setup_ag_iallocbt(struct xfs_scrub *sc,
int xchk_setup_ag_rmapbt(struct xfs_scrub *sc);
				struct xfs_inode *ip);
int xchk_setup_ag_refcountbt(struct xfs_scrub *sc);
int xchk_setup_ag_rmapbt(struct xfs_scrub *sc,
int xchk_setup_inode(struct xfs_scrub *sc);
			      struct xfs_inode *ip);
int xchk_setup_inode_bmap(struct xfs_scrub *sc);
int xchk_setup_ag_refcountbt(struct xfs_scrub *sc,
int xchk_setup_inode_bmap_data(struct xfs_scrub *sc);
				  struct xfs_inode *ip);
int xchk_setup_directory(struct xfs_scrub *sc);
int xchk_setup_inode(struct xfs_scrub *sc,
int xchk_setup_xattr(struct xfs_scrub *sc);
			  struct xfs_inode *ip);
int xchk_setup_symlink(struct xfs_scrub *sc);
int xchk_setup_inode_bmap(struct xfs_scrub *sc,
int xchk_setup_parent(struct xfs_scrub *sc);
			       struct xfs_inode *ip);
int xchk_setup_inode_bmap_data(struct xfs_scrub *sc,
				    struct xfs_inode *ip);
int xchk_setup_directory(struct xfs_scrub *sc,
			      struct xfs_inode *ip);
int xchk_setup_xattr(struct xfs_scrub *sc,
			  struct xfs_inode *ip);
int xchk_setup_symlink(struct xfs_scrub *sc,
			    struct xfs_inode *ip);
int xchk_setup_parent(struct xfs_scrub *sc,
			   struct xfs_inode *ip);
#ifdef CONFIG_XFS_RT
#ifdef CONFIG_XFS_RT
int xchk_setup_rt(struct xfs_scrub *sc, struct xfs_inode *ip);
int xchk_setup_rt(struct xfs_scrub *sc);
#else
#else
static inline int
static inline int
xchk_setup_rt(struct xfs_scrub *sc, struct xfs_inode *ip)
xchk_setup_rt(struct xfs_scrub *sc)
{
{
	return -ENOENT;
	return -ENOENT;
}
}
#endif
#endif
#ifdef CONFIG_XFS_QUOTA
#ifdef CONFIG_XFS_QUOTA
int xchk_setup_quota(struct xfs_scrub *sc, struct xfs_inode *ip);
int xchk_setup_quota(struct xfs_scrub *sc);
#else
#else
static inline int
static inline int
xchk_setup_quota(struct xfs_scrub *sc, struct xfs_inode *ip)
xchk_setup_quota(struct xfs_scrub *sc)
{
{
	return -ENOENT;
	return -ENOENT;
}
}
#endif
#endif
int xchk_setup_fscounters(struct xfs_scrub *sc, struct xfs_inode *ip);
int xchk_setup_fscounters(struct xfs_scrub *sc);


void xchk_ag_free(struct xfs_scrub *sc, struct xchk_ag *sa);
void xchk_ag_free(struct xfs_scrub *sc, struct xchk_ag *sa);
int xchk_ag_init(struct xfs_scrub *sc, xfs_agnumber_t agno,
int xchk_ag_init(struct xfs_scrub *sc, xfs_agnumber_t agno,
@@ -126,11 +115,9 @@ void xchk_ag_btcur_init(struct xfs_scrub *sc, struct xchk_ag *sa);
int xchk_count_rmap_ownedby_ag(struct xfs_scrub *sc, struct xfs_btree_cur *cur,
int xchk_count_rmap_ownedby_ag(struct xfs_scrub *sc, struct xfs_btree_cur *cur,
		const struct xfs_owner_info *oinfo, xfs_filblks_t *blocks);
		const struct xfs_owner_info *oinfo, xfs_filblks_t *blocks);


int xchk_setup_ag_btree(struct xfs_scrub *sc, struct xfs_inode *ip,
int xchk_setup_ag_btree(struct xfs_scrub *sc, bool force_log);
		bool force_log);
int xchk_get_inode(struct xfs_scrub *sc);
int xchk_get_inode(struct xfs_scrub *sc, struct xfs_inode *ip_in);
int xchk_setup_inode_contents(struct xfs_scrub *sc, unsigned int resblks);
int xchk_setup_inode_contents(struct xfs_scrub *sc, struct xfs_inode *ip,
		unsigned int resblks);
void xchk_buffer_recheck(struct xfs_scrub *sc, struct xfs_buf *bp);
void xchk_buffer_recheck(struct xfs_scrub *sc, struct xfs_buf *bp);


/*
/*
Loading