diff options
Diffstat (limited to 'fs/xfs/libxfs/xfs_alloc.h')
| -rw-r--r-- | fs/xfs/libxfs/xfs_alloc.h | 8 | 
1 files changed, 5 insertions, 3 deletions
| diff --git a/fs/xfs/libxfs/xfs_alloc.h b/fs/xfs/libxfs/xfs_alloc.h index ca1c8168373a..0ecde4d5cac8 100644 --- a/fs/xfs/libxfs/xfs_alloc.h +++ b/fs/xfs/libxfs/xfs_alloc.h @@ -101,6 +101,7 @@ typedef struct xfs_alloc_arg {  	struct xfs_mount *mp;		/* file system mount point */  	struct xfs_buf	*agbp;		/* buffer for a.g. freelist header */  	struct xfs_perag *pag;		/* per-ag struct for this agno */ +	struct xfs_inode *ip;		/* for userdata zeroing method */  	xfs_fsblock_t	fsbno;		/* file system block number */  	xfs_agnumber_t	agno;		/* allocation group number */  	xfs_agblock_t	agbno;		/* allocation group-relative block # */ @@ -120,15 +121,16 @@ typedef struct xfs_alloc_arg {  	char		wasdel;		/* set if allocation was prev delayed */  	char		wasfromfl;	/* set if allocation is from freelist */  	char		isfl;		/* set if is freelist blocks - !acctg */ -	char		userdata;	/* set if this is user data */ +	char		userdata;	/* mask defining userdata treatment */  	xfs_fsblock_t	firstblock;	/* io first block allocated */  } xfs_alloc_arg_t;  /*   * Defines for userdata   */ -#define XFS_ALLOC_USERDATA		1	/* allocation is for user data*/ -#define XFS_ALLOC_INITIAL_USER_DATA	2	/* special case start of file */ +#define XFS_ALLOC_USERDATA		(1 << 0)/* allocation is for user data*/ +#define XFS_ALLOC_INITIAL_USER_DATA	(1 << 1)/* special case start of file */ +#define XFS_ALLOC_USERDATA_ZERO		(1 << 2)/* zero extent on allocation */  xfs_extlen_t xfs_alloc_longest_free_extent(struct xfs_mount *mp,  		struct xfs_perag *pag, xfs_extlen_t need); | 
