|
@@ -64,11 +64,13 @@ typedef struct xfs_log_item {
|
|
} xfs_log_item_t;
|
|
} xfs_log_item_t;
|
|
|
|
|
|
#define XFS_LI_IN_AIL 0x1
|
|
#define XFS_LI_IN_AIL 0x1
|
|
-#define XFS_LI_ABORTED 0x2
|
|
|
|
|
|
+#define XFS_LI_ABORTED 0x2
|
|
|
|
+#define XFS_LI_FAILED 0x4
|
|
|
|
|
|
#define XFS_LI_FLAGS \
|
|
#define XFS_LI_FLAGS \
|
|
{ XFS_LI_IN_AIL, "IN_AIL" }, \
|
|
{ XFS_LI_IN_AIL, "IN_AIL" }, \
|
|
- { XFS_LI_ABORTED, "ABORTED" }
|
|
|
|
|
|
+ { XFS_LI_ABORTED, "ABORTED" }, \
|
|
|
|
+ { XFS_LI_FAILED, "FAILED" }
|
|
|
|
|
|
struct xfs_item_ops {
|
|
struct xfs_item_ops {
|
|
void (*iop_size)(xfs_log_item_t *, int *, int *);
|
|
void (*iop_size)(xfs_log_item_t *, int *, int *);
|
|
@@ -79,6 +81,7 @@ struct xfs_item_ops {
|
|
void (*iop_unlock)(xfs_log_item_t *);
|
|
void (*iop_unlock)(xfs_log_item_t *);
|
|
xfs_lsn_t (*iop_committed)(xfs_log_item_t *, xfs_lsn_t);
|
|
xfs_lsn_t (*iop_committed)(xfs_log_item_t *, xfs_lsn_t);
|
|
void (*iop_committing)(xfs_log_item_t *, xfs_lsn_t);
|
|
void (*iop_committing)(xfs_log_item_t *, xfs_lsn_t);
|
|
|
|
+ void (*iop_error)(xfs_log_item_t *, xfs_buf_t *);
|
|
};
|
|
};
|
|
|
|
|
|
void xfs_log_item_init(struct xfs_mount *mp, struct xfs_log_item *item,
|
|
void xfs_log_item_init(struct xfs_mount *mp, struct xfs_log_item *item,
|