summaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_trans.h
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2016-10-03 18:11:22 +0200
committerDarrick J. Wong <darrick.wong@oracle.com>2016-10-03 18:11:22 +0200
commit33ba6129208475ec3aeffe6e9dad9f9afe022405 (patch)
treeb1acf458b477cb41102ea4cca9cb5f6445b5e8c1 /fs/xfs/xfs_trans.h
parentxfs: adjust refcount of an extent of blocks in refcount btree (diff)
downloadlinux-33ba6129208475ec3aeffe6e9dad9f9afe022405.tar.xz
linux-33ba6129208475ec3aeffe6e9dad9f9afe022405.zip
xfs: connect refcount adjust functions to upper layers
Plumb in the upper level interface to schedule and finish deferred refcount operations via the deferred ops mechanism. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'fs/xfs/xfs_trans.h')
-rw-r--r--fs/xfs/xfs_trans.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/fs/xfs/xfs_trans.h b/fs/xfs/xfs_trans.h
index fe69e2048978..475636b13c48 100644
--- a/fs/xfs/xfs_trans.h
+++ b/fs/xfs/xfs_trans.h
@@ -37,6 +37,8 @@ struct xfs_rud_log_item;
struct xfs_rui_log_item;
struct xfs_btree_cur;
struct xfs_cui_log_item;
+struct xfs_cud_log_item;
+struct xfs_defer_ops;
typedef struct xfs_log_item {
struct list_head li_ail; /* AIL pointers */
@@ -252,11 +254,13 @@ int xfs_trans_log_finish_rmap_update(struct xfs_trans *tp,
/* refcount updates */
enum xfs_refcount_intent_type;
+void xfs_refcount_update_init_defer_op(void);
struct xfs_cud_log_item *xfs_trans_get_cud(struct xfs_trans *tp,
struct xfs_cui_log_item *cuip);
int xfs_trans_log_finish_refcount_update(struct xfs_trans *tp,
- struct xfs_cud_log_item *cudp,
+ struct xfs_cud_log_item *cudp, struct xfs_defer_ops *dfops,
enum xfs_refcount_intent_type type, xfs_fsblock_t startblock,
- xfs_extlen_t blockcount, struct xfs_btree_cur **pcur);
+ xfs_extlen_t blockcount, xfs_fsblock_t *new_fsb,
+ xfs_extlen_t *new_len, struct xfs_btree_cur **pcur);
#endif /* __XFS_TRANS_H__ */