summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2019-08-30 15:45:08 -0700
committerDarrick J. Wong <darrick.wong@oracle.com>2019-10-09 09:39:23 -0700
commit3de36497670d6e8e7031e92f31932da0888bb325 (patch)
treea7d5807c052aa6e93da7f881616cbb6f9a2585ed
parent3cb42a52ee325fdc86c9fbacd48559f4ae5f5cf5 (diff)
xfs: pass per-ag structure to the xfs_ici_walk execute function
Pass the per-AG structure to the xfs_ici_walk execute function. This isn't needed now, but deferred inactivation will need it to modify some per-ag data. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
-rw-r--r--fs/xfs/xfs_icache.c4
-rw-r--r--fs/xfs/xfs_icache.h3
-rw-r--r--fs/xfs/xfs_qm_syscalls.c1
3 files changed, 6 insertions, 2 deletions
diff --git a/fs/xfs/xfs_icache.c b/fs/xfs/xfs_icache.c
index b7f8ad93b14b..69d5d246c18d 100644
--- a/fs/xfs/xfs_icache.c
+++ b/fs/xfs/xfs_icache.c
@@ -867,7 +867,7 @@ restart:
if ((iter_flags & XFS_ICI_WALK_INEW_WAIT) &&
xfs_iflags_test(batch[i], XFS_INEW))
xfs_inew_wait(batch[i]);
- error = execute(batch[i], args);
+ error = execute(batch[i], pag, args);
xfs_irele(batch[i]);
if (error == -EAGAIN) {
skipped++;
@@ -1475,6 +1475,7 @@ xfs_inode_matches_eofb(
STATIC int
xfs_inode_free_eofblocks(
struct xfs_inode *ip,
+ struct xfs_perag *pag,
void *args)
{
struct xfs_eofblocks *eofb = args;
@@ -1770,6 +1771,7 @@ xfs_prep_free_cowblocks(
STATIC int
xfs_inode_free_cowblocks(
struct xfs_inode *ip,
+ struct xfs_perag *pag,
void *args)
{
struct xfs_eofblocks *eofb = args;
diff --git a/fs/xfs/xfs_icache.h b/fs/xfs/xfs_icache.h
index 738417c3568b..603fd3391634 100644
--- a/fs/xfs/xfs_icache.h
+++ b/fs/xfs/xfs_icache.h
@@ -72,7 +72,8 @@ int xfs_icache_free_cowblocks(struct xfs_mount *, struct xfs_eofblocks *);
void xfs_cowblocks_worker(struct work_struct *);
void xfs_queue_cowblocks(struct xfs_mount *);
-typedef int (*xfs_ici_walk_fn)(struct xfs_inode *ip, void *args);
+typedef int (*xfs_ici_walk_fn)(struct xfs_inode *ip, struct xfs_perag *pag,
+ void *args);
int xfs_ici_walk_all(struct xfs_mount *mp, xfs_ici_walk_fn execute, void *args);
int xfs_icache_inode_is_allocated(struct xfs_mount *mp, struct xfs_trans *tp,
diff --git a/fs/xfs/xfs_qm_syscalls.c b/fs/xfs/xfs_qm_syscalls.c
index 072595ab512f..7a6345be4ae9 100644
--- a/fs/xfs/xfs_qm_syscalls.c
+++ b/fs/xfs/xfs_qm_syscalls.c
@@ -738,6 +738,7 @@ struct xfs_dqrele {
STATIC int
xfs_dqrele_inode(
struct xfs_inode *ip,
+ struct xfs_perag *pag,
void *args)
{
struct xfs_dqrele *dqr = args;