aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_log.h
diff options
context:
space:
mode:
authorDave Chinner <dchinner@redhat.com>2010-05-14 07:41:46 -0400
committerAlex Elder <aelder@sgi.com>2010-05-24 11:33:52 -0400
commit955833cf2ad0aa39b336e853cad212d867199984 (patch)
tree301c224647dea71852e36929932321bccabd1dc4 /fs/xfs/xfs_log.h
parent169a7b078eaa765e6bd09865c985298ee9084a89 (diff)
xfs: make the log ticket ID available outside the log infrastructure
The ticket ID is needed to uniquely identify transactions when doing busy extent matching. Delayed logging changes the lifecycle of busy extents with respect to the transaction structure lifecycle. Hence we can no longer use the transaction structure as a means of determining the owner of the busy extent as it may be freed and reused while the busy extent is still active. This commit provides the infrastructure to access the xlog_tid_t held in the ticket from a transaction handle. This avoids the need for callers to peek into the transaction and log structures to find this out. Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Alex Elder <aelder@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_log.h')
-rw-r--r--fs/xfs/xfs_log.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/xfs/xfs_log.h b/fs/xfs/xfs_log.h
index 229d1f36ba9a..05f205aac913 100644
--- a/fs/xfs/xfs_log.h
+++ b/fs/xfs/xfs_log.h
@@ -19,7 +19,6 @@
19#define __XFS_LOG_H__ 19#define __XFS_LOG_H__
20 20
21/* get lsn fields */ 21/* get lsn fields */
22
23#define CYCLE_LSN(lsn) ((uint)((lsn)>>32)) 22#define CYCLE_LSN(lsn) ((uint)((lsn)>>32))
24#define BLOCK_LSN(lsn) ((uint)(lsn)) 23#define BLOCK_LSN(lsn) ((uint)(lsn))
25 24
@@ -134,6 +133,7 @@ struct xlog_in_core;
134struct xlog_ticket; 133struct xlog_ticket;
135struct xfs_log_item; 134struct xfs_log_item;
136struct xfs_item_ops; 135struct xfs_item_ops;
136struct xfs_trans;
137 137
138void xfs_log_item_init(struct xfs_mount *mp, 138void xfs_log_item_init(struct xfs_mount *mp,
139 struct xfs_log_item *item, 139 struct xfs_log_item *item,
@@ -190,6 +190,8 @@ void xlog_iodone(struct xfs_buf *);
190struct xlog_ticket * xfs_log_ticket_get(struct xlog_ticket *ticket); 190struct xlog_ticket * xfs_log_ticket_get(struct xlog_ticket *ticket);
191void xfs_log_ticket_put(struct xlog_ticket *ticket); 191void xfs_log_ticket_put(struct xlog_ticket *ticket);
192 192
193xlog_tid_t xfs_log_get_trans_ident(struct xfs_trans *tp);
194
193#endif 195#endif
194 196
195 197