|
@@ -18,10 +18,6 @@
|
|
|
#ifndef __XFS_TRANS_H__
|
|
|
#define __XFS_TRANS_H__
|
|
|
|
|
|
-struct xfs_log_item;
|
|
|
-
|
|
|
-#include "xfs_trans_resv.h"
|
|
|
-
|
|
|
/* kernel only transaction subsystem defines */
|
|
|
|
|
|
struct xfs_buf;
|
|
@@ -77,6 +73,9 @@ struct xfs_item_ops {
|
|
|
void (*iop_committing)(xfs_log_item_t *, xfs_lsn_t);
|
|
|
};
|
|
|
|
|
|
+void xfs_log_item_init(struct xfs_mount *mp, struct xfs_log_item *item,
|
|
|
+ int type, const struct xfs_item_ops *ops);
|
|
|
+
|
|
|
/*
|
|
|
* Return values for the iop_push() routines.
|
|
|
*/
|
|
@@ -85,6 +84,7 @@ struct xfs_item_ops {
|
|
|
#define XFS_ITEM_LOCKED 2
|
|
|
#define XFS_ITEM_FLUSHING 3
|
|
|
|
|
|
+
|
|
|
/*
|
|
|
* This is the structure maintained for every active transaction.
|
|
|
*/
|
|
@@ -125,7 +125,6 @@ typedef struct xfs_trans {
|
|
|
int64_t t_rextents_delta;/* superblocks rextents chg */
|
|
|
int64_t t_rextslog_delta;/* superblocks rextslog chg */
|
|
|
struct list_head t_items; /* log item descriptors */
|
|
|
- xfs_trans_header_t t_header; /* header for in-log trans */
|
|
|
struct list_head t_busy; /* list of busy extents */
|
|
|
unsigned long t_pflags; /* saved process flags state */
|
|
|
} xfs_trans_t;
|
|
@@ -230,6 +229,7 @@ void xfs_trans_log_efd_extent(xfs_trans_t *,
|
|
|
xfs_fsblock_t,
|
|
|
xfs_extlen_t);
|
|
|
int xfs_trans_commit(xfs_trans_t *, uint flags);
|
|
|
+int xfs_trans_roll(struct xfs_trans **, struct xfs_inode *);
|
|
|
void xfs_trans_cancel(xfs_trans_t *, int);
|
|
|
int xfs_trans_ail_init(struct xfs_mount *);
|
|
|
void xfs_trans_ail_destroy(struct xfs_mount *);
|