diff options
| -rw-r--r-- | fs/xfs/linux-2.6/xfs_aops.c | 2 | ||||
| -rw-r--r-- | fs/xfs/linux-2.6/xfs_ioctl.c | 2 | ||||
| -rw-r--r-- | fs/xfs/linux-2.6/xfs_iops.c | 2 | ||||
| -rw-r--r-- | fs/xfs/linux-2.6/xfs_lrw.c | 4 | ||||
| -rw-r--r-- | fs/xfs/xfs_bmap.c | 5 | ||||
| -rw-r--r-- | fs/xfs/xfs_bmap_btree.c | 3 | ||||
| -rw-r--r-- | fs/xfs/xfs_dfrag.c | 3 | ||||
| -rw-r--r-- | fs/xfs/xfs_dinode.h | 6 | ||||
| -rw-r--r-- | fs/xfs/xfs_inode.c | 5 | ||||
| -rw-r--r-- | fs/xfs/xfs_iomap.c | 10 | ||||
| -rw-r--r-- | fs/xfs/xfs_rtalloc.h | 2 | ||||
| -rw-r--r-- | fs/xfs/xfs_rw.h | 4 | ||||
| -rw-r--r-- | fs/xfs/xfs_vnodeops.c | 12 | 
13 files changed, 32 insertions, 28 deletions
| diff --git a/fs/xfs/linux-2.6/xfs_aops.c b/fs/xfs/linux-2.6/xfs_aops.c index 36dadc4ff22c..e0519529c26c 100644 --- a/fs/xfs/linux-2.6/xfs_aops.c +++ b/fs/xfs/linux-2.6/xfs_aops.c @@ -113,7 +113,7 @@ xfs_find_bdev_for_inode(  {  	struct xfs_mount	*mp = ip->i_mount; -	if (ip->i_d.di_flags & XFS_DIFLAG_REALTIME) +	if (XFS_IS_REALTIME_INODE(ip))  		return mp->m_rtdev_targp->bt_bdev;  	else  		return mp->m_ddev_targp->bt_bdev; diff --git a/fs/xfs/linux-2.6/xfs_ioctl.c b/fs/xfs/linux-2.6/xfs_ioctl.c index daa351a0a03d..4c82a050a3a8 100644 --- a/fs/xfs/linux-2.6/xfs_ioctl.c +++ b/fs/xfs/linux-2.6/xfs_ioctl.c @@ -741,7 +741,7 @@ xfs_ioctl(  	case XFS_IOC_DIOINFO: {  		struct dioattr	da;  		xfs_buftarg_t	*target = -			(ip->i_d.di_flags & XFS_DIFLAG_REALTIME) ? +			XFS_IS_REALTIME_INODE(ip) ?  			mp->m_rtdev_targp : mp->m_ddev_targp;  		da.d_mem = da.d_miniosz = 1 << target->bt_sshift; diff --git a/fs/xfs/linux-2.6/xfs_iops.c b/fs/xfs/linux-2.6/xfs_iops.c index 9ddef91a436d..1ecd86a8c6e6 100644 --- a/fs/xfs/linux-2.6/xfs_iops.c +++ b/fs/xfs/linux-2.6/xfs_iops.c @@ -612,7 +612,7 @@ xfs_vn_getattr(  				   sysv_minor(ip->i_df.if_u2.if_rdev));  		break;  	default: -		if (ip->i_d.di_flags & XFS_DIFLAG_REALTIME) { +		if (XFS_IS_REALTIME_INODE(ip)) {  			/*  			 * If the file blocks are being allocated from a  			 * realtime volume, then return the inode's realtime diff --git a/fs/xfs/linux-2.6/xfs_lrw.c b/fs/xfs/linux-2.6/xfs_lrw.c index 459d36480b16..19a1f077dbd6 100644 --- a/fs/xfs/linux-2.6/xfs_lrw.c +++ b/fs/xfs/linux-2.6/xfs_lrw.c @@ -202,7 +202,7 @@ xfs_read(  	if (unlikely(ioflags & IO_ISDIRECT)) {  		xfs_buftarg_t	*target = -			(ip->i_d.di_flags & XFS_DIFLAG_REALTIME) ? +			XFS_IS_REALTIME_INODE(ip) ?  				mp->m_rtdev_targp : mp->m_ddev_targp;  		if ((*offset & target->bt_smask) ||  		    (size & target->bt_smask)) { @@ -657,7 +657,7 @@ start:  	if (ioflags & IO_ISDIRECT) {  		xfs_buftarg_t	*target = -			(xip->i_d.di_flags & XFS_DIFLAG_REALTIME) ? +			XFS_IS_REALTIME_INODE(xip) ?  				mp->m_rtdev_targp : mp->m_ddev_targp;  		if ((pos & target->bt_smask) || (count & target->bt_smask)) { diff --git a/fs/xfs/xfs_bmap.c b/fs/xfs/xfs_bmap.c index b02452b11456..aca51e7e5c5a 100644 --- a/fs/xfs/xfs_bmap.c +++ b/fs/xfs/xfs_bmap.c @@ -2969,7 +2969,7 @@ STATIC int  xfs_bmap_alloc(  	xfs_bmalloca_t	*ap)		/* bmap alloc argument struct */  { -	if ((ap->ip->i_d.di_flags & XFS_DIFLAG_REALTIME) && ap->userdata) +	if (XFS_IS_REALTIME_INODE(ap->ip) && ap->userdata)  		return xfs_bmap_rtalloc(ap);  	return xfs_bmap_btalloc(ap);  } @@ -3096,8 +3096,7 @@ xfs_bmap_del_extent(  		/*  		 * Realtime allocation.  Free it and record di_nblocks update.  		 */ -		if (whichfork == XFS_DATA_FORK && -		    (ip->i_d.di_flags & XFS_DIFLAG_REALTIME)) { +		if (whichfork == XFS_DATA_FORK && XFS_IS_REALTIME_INODE(ip)) {  			xfs_fsblock_t	bno;  			xfs_filblks_t	len; diff --git a/fs/xfs/xfs_bmap_btree.c b/fs/xfs/xfs_bmap_btree.c index 32b49ec00fb5..c4181d85605c 100644 --- a/fs/xfs/xfs_bmap_btree.c +++ b/fs/xfs/xfs_bmap_btree.c @@ -2062,8 +2062,7 @@ xfs_bmbt_insert(  				pcur->bc_private.b.allocated;  			pcur->bc_private.b.allocated = 0;  			ASSERT((cur->bc_private.b.firstblock != NULLFSBLOCK) || -			       (cur->bc_private.b.ip->i_d.di_flags & -				XFS_DIFLAG_REALTIME)); +			       XFS_IS_REALTIME_INODE(cur->bc_private.b.ip));  			cur->bc_private.b.firstblock =  				pcur->bc_private.b.firstblock;  			ASSERT(cur->bc_private.b.flist == diff --git a/fs/xfs/xfs_dfrag.c b/fs/xfs/xfs_dfrag.c index 4ad29cbb4233..03a42d21610a 100644 --- a/fs/xfs/xfs_dfrag.c +++ b/fs/xfs/xfs_dfrag.c @@ -185,8 +185,7 @@ xfs_swap_extents(  	}  	/* Verify both files are either real-time or non-realtime */ -	if ((ip->i_d.di_flags & XFS_DIFLAG_REALTIME) != -	    (tip->i_d.di_flags & XFS_DIFLAG_REALTIME)) { +	if (XFS_IS_REALTIME_INODE(ip) != XFS_IS_REALTIME_INODE(tip)) {  		error = XFS_ERROR(EINVAL);  		goto error0;  	} diff --git a/fs/xfs/xfs_dinode.h b/fs/xfs/xfs_dinode.h index dedd713574e1..85030cbcdd87 100644 --- a/fs/xfs/xfs_dinode.h +++ b/fs/xfs/xfs_dinode.h @@ -273,6 +273,12 @@ typedef enum xfs_dinode_fmt  #define XFS_DIFLAG_NODEFRAG      (1 << XFS_DIFLAG_NODEFRAG_BIT)  #define XFS_DIFLAG_FILESTREAM    (1 << XFS_DIFLAG_FILESTREAM_BIT) +#ifdef CONFIG_XFS_RT +#define XFS_IS_REALTIME_INODE(ip) ((ip)->i_d.di_flags & XFS_DIFLAG_REALTIME) +#else +#define XFS_IS_REALTIME_INODE(ip) (0) +#endif +  #define XFS_DIFLAG_ANY \  	(XFS_DIFLAG_REALTIME | XFS_DIFLAG_PREALLOC | XFS_DIFLAG_NEWRTBM | \  	 XFS_DIFLAG_IMMUTABLE | XFS_DIFLAG_APPEND | XFS_DIFLAG_SYNC | \ diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index 805cab7b2770..815ae978e3bd 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c @@ -1296,7 +1296,10 @@ xfs_isize_check(  	if ((ip->i_d.di_mode & S_IFMT) != S_IFREG)  		return; -	if (ip->i_d.di_flags & (XFS_DIFLAG_REALTIME | XFS_DIFLAG_EXTSIZE)) +	if (XFS_IS_REALTIME_INODE(ip)) +		return; + +	if (ip->i_d.di_flags & XFS_DIFLAG_EXTSIZE)  		return;  	nimaps = 2; diff --git a/fs/xfs/xfs_iomap.c b/fs/xfs/xfs_iomap.c index 637a24473f9b..fde37f87d52f 100644 --- a/fs/xfs/xfs_iomap.c +++ b/fs/xfs/xfs_iomap.c @@ -141,7 +141,7 @@ xfs_imap_to_bmap(  		iomapp->iomap_bsize = XFS_FSB_TO_B(mp, imap->br_blockcount);  		iomapp->iomap_flags = flags; -		if (ip->i_d.di_flags & XFS_DIFLAG_REALTIME) { +		if (XFS_IS_REALTIME_INODE(ip)) {  			iomapp->iomap_flags |= IOMAP_REALTIME;  			iomapp->iomap_target = mp->m_rtdev_targp;  		} else { @@ -298,7 +298,7 @@ xfs_iomap_eof_align_last_fsb(  	xfs_extlen_t	align;  	int		eof, error; -	if (ip->i_d.di_flags & XFS_DIFLAG_REALTIME) +	if (XFS_IS_REALTIME_INODE(ip))  		;  	/*  	 * If mounted with the "-o swalloc" option, roundup the allocation @@ -524,7 +524,7 @@ xfs_iomap_write_direct(  	}  	if (unlikely(!imap.br_startblock && -		     !(ip->i_d.di_flags & XFS_DIFLAG_REALTIME))) { +		     !(XFS_IS_REALTIME_INODE(ip)))) {  		error = xfs_cmn_err_fsblock_zero(ip, &imap);  		goto error_out;  	} @@ -687,7 +687,7 @@ retry:  	}  	if (unlikely(!imap[0].br_startblock && -		     !(ip->i_d.di_flags & XFS_DIFLAG_REALTIME))) +		     !(XFS_IS_REALTIME_INODE(ip))))  		return xfs_cmn_err_fsblock_zero(ip, &imap[0]);  	*ret_imap = imap[0]; @@ -932,7 +932,7 @@ xfs_iomap_write_unwritten(  			return XFS_ERROR(error);  		if (unlikely(!imap.br_startblock && -			     !(ip->i_d.di_flags & XFS_DIFLAG_REALTIME))) +			     !(XFS_IS_REALTIME_INODE(ip))))  			return xfs_cmn_err_fsblock_zero(ip, &imap);  		if ((numblks_fsb = imap.br_blockcount) == 0) { diff --git a/fs/xfs/xfs_rtalloc.h b/fs/xfs/xfs_rtalloc.h index 799c1f871263..8d8dcd215716 100644 --- a/fs/xfs/xfs_rtalloc.h +++ b/fs/xfs/xfs_rtalloc.h @@ -21,8 +21,6 @@  struct xfs_mount;  struct xfs_trans; -#define XFS_IS_REALTIME_INODE(ip) ((ip)->i_d.di_flags & XFS_DIFLAG_REALTIME) -  /* Min and max rt extent sizes, specified in bytes */  #define	XFS_MAX_RTEXTSIZE	(1024 * 1024 * 1024)	/* 1GB */  #define	XFS_DFL_RTEXTSIZE	(64 * 1024)	        /* 64KB */ diff --git a/fs/xfs/xfs_rw.h b/fs/xfs/xfs_rw.h index bcfe07aa7e6b..f87db5344ce6 100644 --- a/fs/xfs/xfs_rw.h +++ b/fs/xfs/xfs_rw.h @@ -32,7 +32,7 @@ struct xfs_mount;  static inline xfs_daddr_t  xfs_fsb_to_db(struct xfs_inode *ip, xfs_fsblock_t fsb)  { -	return (((ip)->i_d.di_flags & XFS_DIFLAG_REALTIME) ? \ +	return (XFS_IS_REALTIME_INODE(ip) ? \  		 (xfs_daddr_t)XFS_FSB_TO_BB((ip)->i_mount, (fsb)) : \  		 XFS_FSB_TO_DADDR((ip)->i_mount, (fsb)));  } @@ -53,7 +53,7 @@ xfs_get_extsz_hint(  {  	xfs_extlen_t	extsz; -	if (unlikely(ip->i_d.di_flags & XFS_DIFLAG_REALTIME)) { +	if (unlikely(XFS_IS_REALTIME_INODE(ip))) {  		extsz = (ip->i_d.di_flags & XFS_DIFLAG_EXTSIZE)  				? ip->i_d.di_extsize  				: ip->i_mount->m_sb.sb_rextsize; diff --git a/fs/xfs/xfs_vnodeops.c b/fs/xfs/xfs_vnodeops.c index d964e21521ab..5322d9fb5321 100644 --- a/fs/xfs/xfs_vnodeops.c +++ b/fs/xfs/xfs_vnodeops.c @@ -136,7 +136,7 @@ xfs_getattr(  	default:  		vap->va_rdev = 0; -		if (!(ip->i_d.di_flags & XFS_DIFLAG_REALTIME)) { +		if (!(XFS_IS_REALTIME_INODE(ip))) {  			vap->va_blocksize = xfs_preferred_iosize(mp);  		} else { @@ -508,7 +508,7 @@ xfs_setattr(  		 */  		if ((ip->i_d.di_nextents || ip->i_delayed_blks) &&  		    (mask & XFS_AT_XFLAGS) && -		    (ip->i_d.di_flags & XFS_DIFLAG_REALTIME) != +		    (XFS_IS_REALTIME_INODE(ip)) !=  		    (vap->va_xflags & XFS_XFLAG_REALTIME)) {  			code = XFS_ERROR(EINVAL);	/* EFBIG? */  			goto error_return; @@ -520,7 +520,7 @@ xfs_setattr(  		if ((mask & XFS_AT_EXTSIZE) && vap->va_extsize != 0) {  			xfs_extlen_t	size; -			if ((ip->i_d.di_flags & XFS_DIFLAG_REALTIME) || +			if (XFS_IS_REALTIME_INODE(ip) ||  			    ((mask & XFS_AT_XFLAGS) &&  			    (vap->va_xflags & XFS_XFLAG_REALTIME))) {  				size = mp->m_sb.sb_rextsize << @@ -1144,7 +1144,7 @@ xfs_fsync(  		 * If this inode is on the RT dev we need to flush that  		 * cache as well.  		 */ -		if (ip->i_d.di_flags & XFS_DIFLAG_REALTIME) +		if (XFS_IS_REALTIME_INODE(ip))  			xfs_blkdev_issue_flush(ip->i_mount->m_rtdev_targp);  	} @@ -4044,7 +4044,7 @@ xfs_zero_remaining_bytes(  	int			error = 0;  	bp = xfs_buf_get_noaddr(mp->m_sb.sb_blocksize, -				ip->i_d.di_flags & XFS_DIFLAG_REALTIME ? +				XFS_IS_REALTIME_INODE(ip) ?  				mp->m_rtdev_targp : mp->m_ddev_targp);  	for (offset = startoff; offset <= endoff; offset = lastoffset + 1) { @@ -4141,7 +4141,7 @@ xfs_free_file_space(  	error = 0;  	if (len <= 0)	/* if nothing being freed */  		return error; -	rt = (ip->i_d.di_flags & XFS_DIFLAG_REALTIME); +	rt = XFS_IS_REALTIME_INODE(ip);  	startoffset_fsb	= XFS_B_TO_FSB(mp, offset);  	end_dmi_offset = offset + len;  	endoffset_fsb = XFS_B_TO_FSBT(mp, end_dmi_offset); | 
