diff options
Diffstat (limited to 'fs/xfs/xfs_trans.h')
| -rw-r--r-- | fs/xfs/xfs_trans.h | 35 | 
1 files changed, 2 insertions, 33 deletions
diff --git a/fs/xfs/xfs_trans.h b/fs/xfs/xfs_trans.h index c62beee0921..ff7e9e6eee8 100644 --- a/fs/xfs/xfs_trans.h +++ b/fs/xfs/xfs_trans.h @@ -813,6 +813,7 @@ struct xfs_log_item_desc;  struct xfs_mount;  struct xfs_trans;  struct xfs_dquot_acct; +struct xfs_busy_extent;  typedef struct xfs_log_item {  	struct list_head		li_ail;		/* AIL pointers */ @@ -872,34 +873,6 @@ typedef struct xfs_item_ops {  #define XFS_ITEM_PUSHBUF	3  /* - * This structure is used to maintain a list of block ranges that have been - * freed in the transaction.  The ranges are listed in the perag[] busy list - * between when they're freed and the transaction is committed to disk. - */ - -typedef struct xfs_log_busy_slot { -	xfs_agnumber_t		lbc_ag; -	ushort			lbc_idx;	/* index in perag.busy[] */ -} xfs_log_busy_slot_t; - -#define XFS_LBC_NUM_SLOTS	31 -typedef struct xfs_log_busy_chunk { -	struct xfs_log_busy_chunk	*lbc_next; -	uint				lbc_free;	/* free slots bitmask */ -	ushort				lbc_unused;	/* first unused */ -	xfs_log_busy_slot_t		lbc_busy[XFS_LBC_NUM_SLOTS]; -} xfs_log_busy_chunk_t; - -#define	XFS_LBC_MAX_SLOT	(XFS_LBC_NUM_SLOTS - 1) -#define	XFS_LBC_FREEMASK	((1U << XFS_LBC_NUM_SLOTS) - 1) - -#define	XFS_LBC_INIT(cp)	((cp)->lbc_free = XFS_LBC_FREEMASK) -#define	XFS_LBC_CLAIM(cp, slot)	((cp)->lbc_free &= ~(1 << (slot))) -#define	XFS_LBC_SLOT(cp, slot)	(&((cp)->lbc_busy[(slot)])) -#define	XFS_LBC_VACANCY(cp)	(((cp)->lbc_free) & XFS_LBC_FREEMASK) -#define	XFS_LBC_ISFREE(cp, slot) ((cp)->lbc_free & (1 << (slot))) - -/*   * This is the type of function which can be given to xfs_trans_callback()   * to be called upon the transaction's commit to disk.   */ @@ -950,8 +923,7 @@ typedef struct xfs_trans {  	unsigned int		t_items_free;	/* log item descs free */  	xfs_log_item_chunk_t	t_items;	/* first log item desc chunk */  	xfs_trans_header_t	t_header;	/* header for in-log trans */ -	unsigned int		t_busy_free;	/* busy descs free */ -	xfs_log_busy_chunk_t	t_busy;		/* busy/async free blocks */ +	struct list_head	t_busy;		/* list of busy extents */  	unsigned long		t_pflags;	/* saved process flags state */  } xfs_trans_t; @@ -1025,9 +997,6 @@ int		_xfs_trans_commit(xfs_trans_t *,  void		xfs_trans_cancel(xfs_trans_t *, int);  int		xfs_trans_ail_init(struct xfs_mount *);  void		xfs_trans_ail_destroy(struct xfs_mount *); -xfs_log_busy_slot_t *xfs_trans_add_busy(xfs_trans_t *tp, -					xfs_agnumber_t ag, -					xfs_extlen_t idx);  extern kmem_zone_t	*xfs_trans_zone;  |