public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] remove some easy bhv_vnode_t instances
@ 2008-07-23 21:47 Christoph Hellwig
  2008-07-24  5:57 ` Lachlan McIlroy
  0 siblings, 1 reply; 4+ messages in thread
From: Christoph Hellwig @ 2008-07-23 21:47 UTC (permalink / raw)
  To: xfs

In various places we can just move a VFS_I call into the argument list
of called functions/macros instead of having a local bhv_vnode_t.


Signed-off-by: Christoph Hellwig <hch@lst.de>

Index: linux-2.6-xfs/fs/xfs/xfs_dfrag.c
===================================================================
--- linux-2.6-xfs.orig/fs/xfs/xfs_dfrag.c	2008-07-23 22:25:42.000000000 +0200
+++ linux-2.6-xfs/fs/xfs/xfs_dfrag.c	2008-07-23 22:26:16.000000000 +0200
@@ -130,7 +130,6 @@ xfs_swap_extents(
 	xfs_mount_t	*mp;
 	xfs_trans_t	*tp;
 	xfs_bstat_t	*sbp = &sxp->sx_stat;
-	bhv_vnode_t	*vp, *tvp;
 	xfs_ifork_t	*tempifp, *ifp, *tifp;
 	int		ilf_fields, tilf_fields;
 	static uint	lock_flags = XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL;
@@ -149,8 +148,6 @@ xfs_swap_extents(
 	}
 
 	sbp = &sxp->sx_stat;
-	vp = VFS_I(ip);
-	tvp = VFS_I(tip);
 
 	xfs_lock_two_inodes(ip, tip, lock_flags);
 	locked = 1;
@@ -174,7 +171,7 @@ xfs_swap_extents(
 		goto error0;
 	}
 
-	if (VN_CACHED(tvp) != 0) {
+	if (VN_CACHED(VFS_I(tip)) != 0) {
 		xfs_inval_cached_trace(tip, 0, -1, 0, -1);
 		error = xfs_flushinval_pages(tip, 0, -1,
 				FI_REMAPF_LOCKED);
@@ -183,7 +180,7 @@ xfs_swap_extents(
 	}
 
 	/* Verify O_DIRECT for ftmp */
-	if (VN_CACHED(tvp) != 0) {
+	if (VN_CACHED(VFS_I(tip)) != 0) {
 		error = XFS_ERROR(EINVAL);
 		goto error0;
 	}
@@ -227,7 +224,7 @@ xfs_swap_extents(
 	 * vop_read (or write in the case of autogrow) they block on the iolock
 	 * until we have switched the extents.
 	 */
-	if (VN_MAPPED(vp)) {
+	if (VN_MAPPED(VFS_I(ip))) {
 		error = XFS_ERROR(EBUSY);
 		goto error0;
 	}
Index: linux-2.6-xfs/fs/xfs/xfs_inode.c
===================================================================
--- linux-2.6-xfs.orig/fs/xfs/xfs_inode.c	2008-07-23 22:22:20.000000000 +0200
+++ linux-2.6-xfs/fs/xfs/xfs_inode.c	2008-07-23 22:29:36.000000000 +0200
@@ -1397,7 +1397,6 @@ xfs_itruncate_start(
 	xfs_fsize_t	last_byte;
 	xfs_off_t	toss_start;
 	xfs_mount_t	*mp;
-	bhv_vnode_t	*vp;
 	int		error = 0;
 
 	ASSERT(xfs_isilocked(ip, XFS_IOLOCK_EXCL));
@@ -1406,7 +1405,6 @@ xfs_itruncate_start(
 	       (flags == XFS_ITRUNC_MAYBE));
 
 	mp = ip->i_mount;
-	vp = VFS_I(ip);
 
 	/* wait for the completion of any pending DIOs */
 	if (new_size < ip->i_size)
@@ -1455,7 +1453,7 @@ xfs_itruncate_start(
 
 #ifdef DEBUG
 	if (new_size == 0) {
-		ASSERT(VN_CACHED(vp) == 0);
+		ASSERT(VN_CACHED(VFS_I(ip)) == 0);
 	}
 #endif
 	return error;
@@ -3421,7 +3419,6 @@ xfs_iflush_all(
 	xfs_mount_t	*mp)
 {
 	xfs_inode_t	*ip;
-	bhv_vnode_t	*vp;
 
  again:
 	XFS_MOUNT_ILOCK(mp);
@@ -3436,14 +3433,13 @@ xfs_iflush_all(
 			continue;
 		}
 
-		vp = VFS_I(ip);
-		if (!vp) {
+		if (!VFS_I(ip)) {
 			XFS_MOUNT_IUNLOCK(mp);
 			xfs_finish_reclaim(ip, 0, XFS_IFLUSH_ASYNC);
 			goto again;
 		}
 
-		ASSERT(vn_count(vp) == 0);
+		ASSERT(vn_count(VFS_I(ip)) == 0);
 
 		ip = ip->i_mnext;
 	} while (ip != mp->m_inodes);
Index: linux-2.6-xfs/fs/xfs/xfs_itable.c
===================================================================
--- linux-2.6-xfs.orig/fs/xfs/xfs_itable.c	2008-07-23 22:26:29.000000000 +0200
+++ linux-2.6-xfs/fs/xfs/xfs_itable.c	2008-07-23 22:26:45.000000000 +0200
@@ -59,7 +59,6 @@ xfs_bulkstat_one_iget(
 {
 	xfs_icdinode_t	*dic;	/* dinode core info pointer */
 	xfs_inode_t	*ip;		/* incore inode pointer */
-	bhv_vnode_t	*vp;
 	int		error;
 
 	error = xfs_iget(mp, NULL, ino,
@@ -72,7 +71,6 @@ xfs_bulkstat_one_iget(
 	ASSERT(ip != NULL);
 	ASSERT(ip->i_blkno != (xfs_daddr_t)0);
 
-	vp = VFS_I(ip);
 	dic = &ip->i_d;
 
 	/* xfs_iget returns the following without needing
@@ -85,7 +83,7 @@ xfs_bulkstat_one_iget(
 	buf->bs_uid = dic->di_uid;
 	buf->bs_gid = dic->di_gid;
 	buf->bs_size = dic->di_size;
-	vn_atime_to_bstime(vp, &buf->bs_atime);
+	vn_atime_to_bstime(VFS_I(ip), &buf->bs_atime);
 	buf->bs_mtime.tv_sec = dic->di_mtime.t_sec;
 	buf->bs_mtime.tv_nsec = dic->di_mtime.t_nsec;
 	buf->bs_ctime.tv_sec = dic->di_ctime.t_sec;
Index: linux-2.6-xfs/fs/xfs/xfs_vnodeops.c
===================================================================
--- linux-2.6-xfs.orig/fs/xfs/xfs_vnodeops.c	2008-07-23 22:23:16.000000000 +0200
+++ linux-2.6-xfs/fs/xfs/xfs_vnodeops.c	2008-07-23 22:33:43.000000000 +0200
@@ -1160,7 +1160,6 @@ int
 xfs_release(
 	xfs_inode_t	*ip)
 {
-	bhv_vnode_t	*vp = VFS_I(ip);
 	xfs_mount_t	*mp = ip->i_mount;
 	int		error;
 
@@ -1195,13 +1194,13 @@ xfs_release(
 		 * be exposed to that problem.
 		 */
 		truncated = xfs_iflags_test_and_clear(ip, XFS_ITRUNCATED);
-		if (truncated && VN_DIRTY(vp) && ip->i_delayed_blks > 0)
+		if (truncated && VN_DIRTY(VFS_I(ip)) && ip->i_delayed_blks > 0)
 			xfs_flush_pages(ip, 0, -1, XFS_B_ASYNC, FI_NONE);
 	}
 
 	if (ip->i_d.di_nlink != 0) {
 		if ((((ip->i_d.di_mode & S_IFMT) == S_IFREG) &&
-		     ((ip->i_size > 0) || (VN_CACHED(vp) > 0 ||
+		     ((ip->i_size > 0) || (VN_CACHED(VFS_I(ip)) > 0 ||
 		       ip->i_delayed_blks > 0)) &&
 		     (ip->i_df.if_flags & XFS_IFEXTENTS))  &&
 		    (!(ip->i_d.di_flags &
@@ -1227,7 +1226,6 @@ int
 xfs_inactive(
 	xfs_inode_t	*ip)
 {
-	bhv_vnode_t	*vp = VFS_I(ip);
 	xfs_bmap_free_t	free_list;
 	xfs_fsblock_t	first_block;
 	int		committed;
@@ -1242,7 +1240,7 @@ xfs_inactive(
 	 * If the inode is already free, then there can be nothing
 	 * to clean up here.
 	 */
-	if (ip->i_d.di_mode == 0 || VN_BAD(vp)) {
+	if (ip->i_d.di_mode == 0 || VN_BAD(VFS_I(ip))) {
 		ASSERT(ip->i_df.if_real_bytes == 0);
 		ASSERT(ip->i_df.if_broot_bytes == 0);
 		return VN_INACTIVE_CACHE;
@@ -1272,7 +1270,7 @@ xfs_inactive(
 
 	if (ip->i_d.di_nlink != 0) {
 		if ((((ip->i_d.di_mode & S_IFMT) == S_IFREG) &&
-                     ((ip->i_size > 0) || (VN_CACHED(vp) > 0 ||
+                     ((ip->i_size > 0) || (VN_CACHED(VFS_I(ip)) > 0 ||
                        ip->i_delayed_blks > 0)) &&
 		      (ip->i_df.if_flags & XFS_IFEXTENTS) &&
 		     (!(ip->i_d.di_flags &
@@ -2793,14 +2791,13 @@ int
 xfs_reclaim(
 	xfs_inode_t	*ip)
 {
-	bhv_vnode_t	*vp = VFS_I(ip);
 
 	xfs_itrace_entry(ip);
 
-	ASSERT(!VN_MAPPED(vp));
+	ASSERT(!VN_MAPPED(VFS_I(ip)));
 
 	/* bad inode, get out here ASAP */
-	if (VN_BAD(vp)) {
+	if (VN_BAD(VFS_I(ip))) {
 		xfs_ireclaim(ip);
 		return 0;
 	}
@@ -2837,7 +2834,7 @@ xfs_reclaim(
 		XFS_MOUNT_ILOCK(mp);
 		spin_lock(&ip->i_flags_lock);
 		__xfs_iflags_set(ip, XFS_IRECLAIMABLE);
-		vp->i_private = NULL;
+		VFS_I(ip)->i_private = NULL;
 		ip->i_vnode = NULL;
 		spin_unlock(&ip->i_flags_lock);
 		list_add_tail(&ip->i_reclaim, &mp->m_del_inodes);
@@ -3241,7 +3238,6 @@ xfs_free_file_space(
 	xfs_off_t		len,
 	int			attr_flags)
 {
-	bhv_vnode_t		*vp;
 	int			committed;
 	int			done;
 	xfs_off_t		end_dmi_offset;
@@ -3261,7 +3257,6 @@ xfs_free_file_space(
 	xfs_trans_t		*tp;
 	int			need_iolock = 1;
 
-	vp = VFS_I(ip);
 	mp = ip->i_mount;
 
 	xfs_itrace_entry(ip);
@@ -3298,7 +3293,7 @@ xfs_free_file_space(
 	rounding = max_t(uint, 1 << mp->m_sb.sb_blocklog, PAGE_CACHE_SIZE);
 	ioffset = offset & ~(rounding - 1);
 
-	if (VN_CACHED(vp) != 0) {
+	if (VN_CACHED(VFS_I(ip)) != 0) {
 		xfs_inval_cached_trace(ip, ioffset, -1, ioffset, -1);
 		error = xfs_flushinval_pages(ip, ioffset, -1, FI_REMAPF_LOCKED);
 		if (error)
Index: linux-2.6-xfs/fs/xfs/xfs_vfsops.c
===================================================================
--- linux-2.6-xfs.orig/fs/xfs/xfs_vfsops.c	2008-07-23 22:28:36.000000000 +0200
+++ linux-2.6-xfs/fs/xfs/xfs_vfsops.c	2008-07-23 22:33:43.000000000 +0200
@@ -127,7 +127,6 @@ xfs_unmount_flush(
 	xfs_inode_t	*rip = mp->m_rootip;
 	xfs_inode_t	*rbmip;
 	xfs_inode_t	*rsumip = NULL;
-	bhv_vnode_t	*rvp = VFS_I(rip);
 	int		error;
 
 	xfs_ilock(rip, XFS_ILOCK_EXCL | XFS_ILOCK_PARENT);
@@ -166,7 +165,7 @@ xfs_unmount_flush(
 	if (error == EFSCORRUPTED)
 		goto fscorrupt_out2;
 
-	if (vn_count(rvp) != 1 && !relocation) {
+	if (vn_count(VFS_I(rip)) != 1 && !relocation) {
 		xfs_iunlock(rip, XFS_ILOCK_EXCL);
 		return XFS_ERROR(EBUSY);
 	}
Index: linux-2.6-xfs/fs/xfs/linux-2.6/xfs_super.c
===================================================================
--- linux-2.6-xfs.orig/fs/xfs/linux-2.6/xfs_super.c	2008-07-23 22:33:47.000000000 +0200
+++ linux-2.6-xfs/fs/xfs/linux-2.6/xfs_super.c	2008-07-23 22:33:54.000000000 +0200
@@ -922,12 +922,7 @@ STATIC struct inode *
 xfs_fs_alloc_inode(
 	struct super_block	*sb)
 {
-	bhv_vnode_t		*vp;
-
-	vp = kmem_zone_alloc(xfs_vnode_zone, KM_SLEEP);
-	if (unlikely(!vp))
-		return NULL;
-	return vp;
+	return kmem_zone_alloc(xfs_vnode_zone, KM_SLEEP);
 }
 
 STATIC void

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/2] remove some easy bhv_vnode_t instances
  2008-07-23 21:47 [PATCH 1/2] remove some easy bhv_vnode_t instances Christoph Hellwig
@ 2008-07-24  5:57 ` Lachlan McIlroy
  2008-07-24  6:32   ` Christoph Hellwig
  0 siblings, 1 reply; 4+ messages in thread
From: Lachlan McIlroy @ 2008-07-24  5:57 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: xfs

All looks good to me.

Christoph Hellwig wrote:
> In various places we can just move a VFS_I call into the argument list
> of called functions/macros instead of having a local bhv_vnode_t.
> 
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> 
> Index: linux-2.6-xfs/fs/xfs/xfs_dfrag.c
> ===================================================================
> --- linux-2.6-xfs.orig/fs/xfs/xfs_dfrag.c	2008-07-23 22:25:42.000000000 +0200
> +++ linux-2.6-xfs/fs/xfs/xfs_dfrag.c	2008-07-23 22:26:16.000000000 +0200
> @@ -130,7 +130,6 @@ xfs_swap_extents(
>  	xfs_mount_t	*mp;
>  	xfs_trans_t	*tp;
>  	xfs_bstat_t	*sbp = &sxp->sx_stat;
> -	bhv_vnode_t	*vp, *tvp;
>  	xfs_ifork_t	*tempifp, *ifp, *tifp;
>  	int		ilf_fields, tilf_fields;
>  	static uint	lock_flags = XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL;
> @@ -149,8 +148,6 @@ xfs_swap_extents(
>  	}
>  
>  	sbp = &sxp->sx_stat;
> -	vp = VFS_I(ip);
> -	tvp = VFS_I(tip);
>  
>  	xfs_lock_two_inodes(ip, tip, lock_flags);
>  	locked = 1;
> @@ -174,7 +171,7 @@ xfs_swap_extents(
>  		goto error0;
>  	}
>  
> -	if (VN_CACHED(tvp) != 0) {
> +	if (VN_CACHED(VFS_I(tip)) != 0) {
>  		xfs_inval_cached_trace(tip, 0, -1, 0, -1);
>  		error = xfs_flushinval_pages(tip, 0, -1,
>  				FI_REMAPF_LOCKED);
> @@ -183,7 +180,7 @@ xfs_swap_extents(
>  	}
>  
>  	/* Verify O_DIRECT for ftmp */
> -	if (VN_CACHED(tvp) != 0) {
> +	if (VN_CACHED(VFS_I(tip)) != 0) {
>  		error = XFS_ERROR(EINVAL);
>  		goto error0;
>  	}
> @@ -227,7 +224,7 @@ xfs_swap_extents(
>  	 * vop_read (or write in the case of autogrow) they block on the iolock
>  	 * until we have switched the extents.
>  	 */
> -	if (VN_MAPPED(vp)) {
> +	if (VN_MAPPED(VFS_I(ip))) {
>  		error = XFS_ERROR(EBUSY);
>  		goto error0;
>  	}
> Index: linux-2.6-xfs/fs/xfs/xfs_inode.c
> ===================================================================
> --- linux-2.6-xfs.orig/fs/xfs/xfs_inode.c	2008-07-23 22:22:20.000000000 +0200
> +++ linux-2.6-xfs/fs/xfs/xfs_inode.c	2008-07-23 22:29:36.000000000 +0200
> @@ -1397,7 +1397,6 @@ xfs_itruncate_start(
>  	xfs_fsize_t	last_byte;
>  	xfs_off_t	toss_start;
>  	xfs_mount_t	*mp;
> -	bhv_vnode_t	*vp;
>  	int		error = 0;
>  
>  	ASSERT(xfs_isilocked(ip, XFS_IOLOCK_EXCL));
> @@ -1406,7 +1405,6 @@ xfs_itruncate_start(
>  	       (flags == XFS_ITRUNC_MAYBE));
>  
>  	mp = ip->i_mount;
> -	vp = VFS_I(ip);
>  
>  	/* wait for the completion of any pending DIOs */
>  	if (new_size < ip->i_size)
> @@ -1455,7 +1453,7 @@ xfs_itruncate_start(
>  
>  #ifdef DEBUG
>  	if (new_size == 0) {
> -		ASSERT(VN_CACHED(vp) == 0);
> +		ASSERT(VN_CACHED(VFS_I(ip)) == 0);
>  	}
>  #endif
>  	return error;
> @@ -3421,7 +3419,6 @@ xfs_iflush_all(
>  	xfs_mount_t	*mp)
>  {
>  	xfs_inode_t	*ip;
> -	bhv_vnode_t	*vp;
>  
>   again:
>  	XFS_MOUNT_ILOCK(mp);
> @@ -3436,14 +3433,13 @@ xfs_iflush_all(
>  			continue;
>  		}
>  
> -		vp = VFS_I(ip);
> -		if (!vp) {
> +		if (!VFS_I(ip)) {
>  			XFS_MOUNT_IUNLOCK(mp);
>  			xfs_finish_reclaim(ip, 0, XFS_IFLUSH_ASYNC);
>  			goto again;
>  		}
>  
> -		ASSERT(vn_count(vp) == 0);
> +		ASSERT(vn_count(VFS_I(ip)) == 0);
>  
>  		ip = ip->i_mnext;
>  	} while (ip != mp->m_inodes);
> Index: linux-2.6-xfs/fs/xfs/xfs_itable.c
> ===================================================================
> --- linux-2.6-xfs.orig/fs/xfs/xfs_itable.c	2008-07-23 22:26:29.000000000 +0200
> +++ linux-2.6-xfs/fs/xfs/xfs_itable.c	2008-07-23 22:26:45.000000000 +0200
> @@ -59,7 +59,6 @@ xfs_bulkstat_one_iget(
>  {
>  	xfs_icdinode_t	*dic;	/* dinode core info pointer */
>  	xfs_inode_t	*ip;		/* incore inode pointer */
> -	bhv_vnode_t	*vp;
>  	int		error;
>  
>  	error = xfs_iget(mp, NULL, ino,
> @@ -72,7 +71,6 @@ xfs_bulkstat_one_iget(
>  	ASSERT(ip != NULL);
>  	ASSERT(ip->i_blkno != (xfs_daddr_t)0);
>  
> -	vp = VFS_I(ip);
>  	dic = &ip->i_d;
>  
>  	/* xfs_iget returns the following without needing
> @@ -85,7 +83,7 @@ xfs_bulkstat_one_iget(
>  	buf->bs_uid = dic->di_uid;
>  	buf->bs_gid = dic->di_gid;
>  	buf->bs_size = dic->di_size;
> -	vn_atime_to_bstime(vp, &buf->bs_atime);
> +	vn_atime_to_bstime(VFS_I(ip), &buf->bs_atime);
>  	buf->bs_mtime.tv_sec = dic->di_mtime.t_sec;
>  	buf->bs_mtime.tv_nsec = dic->di_mtime.t_nsec;
>  	buf->bs_ctime.tv_sec = dic->di_ctime.t_sec;
> Index: linux-2.6-xfs/fs/xfs/xfs_vnodeops.c
> ===================================================================
> --- linux-2.6-xfs.orig/fs/xfs/xfs_vnodeops.c	2008-07-23 22:23:16.000000000 +0200
> +++ linux-2.6-xfs/fs/xfs/xfs_vnodeops.c	2008-07-23 22:33:43.000000000 +0200
> @@ -1160,7 +1160,6 @@ int
>  xfs_release(
>  	xfs_inode_t	*ip)
>  {
> -	bhv_vnode_t	*vp = VFS_I(ip);
>  	xfs_mount_t	*mp = ip->i_mount;
>  	int		error;
>  
> @@ -1195,13 +1194,13 @@ xfs_release(
>  		 * be exposed to that problem.
>  		 */
>  		truncated = xfs_iflags_test_and_clear(ip, XFS_ITRUNCATED);
> -		if (truncated && VN_DIRTY(vp) && ip->i_delayed_blks > 0)
> +		if (truncated && VN_DIRTY(VFS_I(ip)) && ip->i_delayed_blks > 0)
>  			xfs_flush_pages(ip, 0, -1, XFS_B_ASYNC, FI_NONE);
>  	}
>  
>  	if (ip->i_d.di_nlink != 0) {
>  		if ((((ip->i_d.di_mode & S_IFMT) == S_IFREG) &&
> -		     ((ip->i_size > 0) || (VN_CACHED(vp) > 0 ||
> +		     ((ip->i_size > 0) || (VN_CACHED(VFS_I(ip)) > 0 ||
>  		       ip->i_delayed_blks > 0)) &&
>  		     (ip->i_df.if_flags & XFS_IFEXTENTS))  &&
>  		    (!(ip->i_d.di_flags &
> @@ -1227,7 +1226,6 @@ int
>  xfs_inactive(
>  	xfs_inode_t	*ip)
>  {
> -	bhv_vnode_t	*vp = VFS_I(ip);
>  	xfs_bmap_free_t	free_list;
>  	xfs_fsblock_t	first_block;
>  	int		committed;
> @@ -1242,7 +1240,7 @@ xfs_inactive(
>  	 * If the inode is already free, then there can be nothing
>  	 * to clean up here.
>  	 */
> -	if (ip->i_d.di_mode == 0 || VN_BAD(vp)) {
> +	if (ip->i_d.di_mode == 0 || VN_BAD(VFS_I(ip))) {
>  		ASSERT(ip->i_df.if_real_bytes == 0);
>  		ASSERT(ip->i_df.if_broot_bytes == 0);
>  		return VN_INACTIVE_CACHE;
> @@ -1272,7 +1270,7 @@ xfs_inactive(
>  
>  	if (ip->i_d.di_nlink != 0) {
>  		if ((((ip->i_d.di_mode & S_IFMT) == S_IFREG) &&
> -                     ((ip->i_size > 0) || (VN_CACHED(vp) > 0 ||
> +                     ((ip->i_size > 0) || (VN_CACHED(VFS_I(ip)) > 0 ||
>                         ip->i_delayed_blks > 0)) &&
>  		      (ip->i_df.if_flags & XFS_IFEXTENTS) &&
>  		     (!(ip->i_d.di_flags &
> @@ -2793,14 +2791,13 @@ int
>  xfs_reclaim(
>  	xfs_inode_t	*ip)
>  {
> -	bhv_vnode_t	*vp = VFS_I(ip);
>  
>  	xfs_itrace_entry(ip);
>  
> -	ASSERT(!VN_MAPPED(vp));
> +	ASSERT(!VN_MAPPED(VFS_I(ip)));
>  
>  	/* bad inode, get out here ASAP */
> -	if (VN_BAD(vp)) {
> +	if (VN_BAD(VFS_I(ip))) {
>  		xfs_ireclaim(ip);
>  		return 0;
>  	}
> @@ -2837,7 +2834,7 @@ xfs_reclaim(
>  		XFS_MOUNT_ILOCK(mp);
>  		spin_lock(&ip->i_flags_lock);
>  		__xfs_iflags_set(ip, XFS_IRECLAIMABLE);
> -		vp->i_private = NULL;
> +		VFS_I(ip)->i_private = NULL;
>  		ip->i_vnode = NULL;
>  		spin_unlock(&ip->i_flags_lock);
>  		list_add_tail(&ip->i_reclaim, &mp->m_del_inodes);
> @@ -3241,7 +3238,6 @@ xfs_free_file_space(
>  	xfs_off_t		len,
>  	int			attr_flags)
>  {
> -	bhv_vnode_t		*vp;
>  	int			committed;
>  	int			done;
>  	xfs_off_t		end_dmi_offset;
> @@ -3261,7 +3257,6 @@ xfs_free_file_space(
>  	xfs_trans_t		*tp;
>  	int			need_iolock = 1;
>  
> -	vp = VFS_I(ip);
>  	mp = ip->i_mount;
>  
>  	xfs_itrace_entry(ip);
> @@ -3298,7 +3293,7 @@ xfs_free_file_space(
>  	rounding = max_t(uint, 1 << mp->m_sb.sb_blocklog, PAGE_CACHE_SIZE);
>  	ioffset = offset & ~(rounding - 1);
>  
> -	if (VN_CACHED(vp) != 0) {
> +	if (VN_CACHED(VFS_I(ip)) != 0) {
>  		xfs_inval_cached_trace(ip, ioffset, -1, ioffset, -1);
>  		error = xfs_flushinval_pages(ip, ioffset, -1, FI_REMAPF_LOCKED);
>  		if (error)
> Index: linux-2.6-xfs/fs/xfs/xfs_vfsops.c
> ===================================================================
> --- linux-2.6-xfs.orig/fs/xfs/xfs_vfsops.c	2008-07-23 22:28:36.000000000 +0200
> +++ linux-2.6-xfs/fs/xfs/xfs_vfsops.c	2008-07-23 22:33:43.000000000 +0200
> @@ -127,7 +127,6 @@ xfs_unmount_flush(
>  	xfs_inode_t	*rip = mp->m_rootip;
>  	xfs_inode_t	*rbmip;
>  	xfs_inode_t	*rsumip = NULL;
> -	bhv_vnode_t	*rvp = VFS_I(rip);
>  	int		error;
>  
>  	xfs_ilock(rip, XFS_ILOCK_EXCL | XFS_ILOCK_PARENT);
> @@ -166,7 +165,7 @@ xfs_unmount_flush(
>  	if (error == EFSCORRUPTED)
>  		goto fscorrupt_out2;
>  
> -	if (vn_count(rvp) != 1 && !relocation) {
> +	if (vn_count(VFS_I(rip)) != 1 && !relocation) {
>  		xfs_iunlock(rip, XFS_ILOCK_EXCL);
>  		return XFS_ERROR(EBUSY);
>  	}
> Index: linux-2.6-xfs/fs/xfs/linux-2.6/xfs_super.c
> ===================================================================
> --- linux-2.6-xfs.orig/fs/xfs/linux-2.6/xfs_super.c	2008-07-23 22:33:47.000000000 +0200
> +++ linux-2.6-xfs/fs/xfs/linux-2.6/xfs_super.c	2008-07-23 22:33:54.000000000 +0200
> @@ -922,12 +922,7 @@ STATIC struct inode *
>  xfs_fs_alloc_inode(
>  	struct super_block	*sb)
>  {
> -	bhv_vnode_t		*vp;
> -
> -	vp = kmem_zone_alloc(xfs_vnode_zone, KM_SLEEP);
> -	if (unlikely(!vp))
> -		return NULL;
> -	return vp;
> +	return kmem_zone_alloc(xfs_vnode_zone, KM_SLEEP);
>  }
>  
>  STATIC void
> 
> 
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/2] remove some easy bhv_vnode_t instances
  2008-07-24  5:57 ` Lachlan McIlroy
@ 2008-07-24  6:32   ` Christoph Hellwig
  2008-07-24  7:49     ` Lachlan McIlroy
  0 siblings, 1 reply; 4+ messages in thread
From: Christoph Hellwig @ 2008-07-24  6:32 UTC (permalink / raw)
  To: Lachlan McIlroy; +Cc: Christoph Hellwig, xfs

Thanks for the review.  Bote that these patches need the 5 vnode helper
cleanup patches and '[PATCH] sanitize xfs_initialize_vnode' previously
applied.

On Thu, Jul 24, 2008 at 03:57:32PM +1000, Lachlan McIlroy wrote:
> All looks good to me.
> 
> Christoph Hellwig wrote:
> >In various places we can just move a VFS_I call into the argument list
> >of called functions/macros instead of having a local bhv_vnode_t.
> >
> >
> >Signed-off-by: Christoph Hellwig <hch@lst.de>
> >
> >Index: linux-2.6-xfs/fs/xfs/xfs_dfrag.c
> >===================================================================
> >--- linux-2.6-xfs.orig/fs/xfs/xfs_dfrag.c	2008-07-23 
> >22:25:42.000000000 +0200
> >+++ linux-2.6-xfs/fs/xfs/xfs_dfrag.c	2008-07-23 22:26:16.000000000 +0200
> >@@ -130,7 +130,6 @@ xfs_swap_extents(
> > 	xfs_mount_t	*mp;
> > 	xfs_trans_t	*tp;
> > 	xfs_bstat_t	*sbp = &sxp->sx_stat;
> >-	bhv_vnode_t	*vp, *tvp;
> > 	xfs_ifork_t	*tempifp, *ifp, *tifp;
> > 	int		ilf_fields, tilf_fields;
> > 	static uint	lock_flags = XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL;
> >@@ -149,8 +148,6 @@ xfs_swap_extents(
> > 	}
> > 
> > 	sbp = &sxp->sx_stat;
> >-	vp = VFS_I(ip);
> >-	tvp = VFS_I(tip);
> > 
> > 	xfs_lock_two_inodes(ip, tip, lock_flags);
> > 	locked = 1;
> >@@ -174,7 +171,7 @@ xfs_swap_extents(
> > 		goto error0;
> > 	}
> > 
> >-	if (VN_CACHED(tvp) != 0) {
> >+	if (VN_CACHED(VFS_I(tip)) != 0) {
> > 		xfs_inval_cached_trace(tip, 0, -1, 0, -1);
> > 		error = xfs_flushinval_pages(tip, 0, -1,
> > 				FI_REMAPF_LOCKED);
> >@@ -183,7 +180,7 @@ xfs_swap_extents(
> > 	}
> > 
> > 	/* Verify O_DIRECT for ftmp */
> >-	if (VN_CACHED(tvp) != 0) {
> >+	if (VN_CACHED(VFS_I(tip)) != 0) {
> > 		error = XFS_ERROR(EINVAL);
> > 		goto error0;
> > 	}
> >@@ -227,7 +224,7 @@ xfs_swap_extents(
> > 	 * vop_read (or write in the case of autogrow) they block on the 
> > 	 iolock
> > 	 * until we have switched the extents.
> > 	 */
> >-	if (VN_MAPPED(vp)) {
> >+	if (VN_MAPPED(VFS_I(ip))) {
> > 		error = XFS_ERROR(EBUSY);
> > 		goto error0;
> > 	}
> >Index: linux-2.6-xfs/fs/xfs/xfs_inode.c
> >===================================================================
> >--- linux-2.6-xfs.orig/fs/xfs/xfs_inode.c	2008-07-23 
> >22:22:20.000000000 +0200
> >+++ linux-2.6-xfs/fs/xfs/xfs_inode.c	2008-07-23 22:29:36.000000000 +0200
> >@@ -1397,7 +1397,6 @@ xfs_itruncate_start(
> > 	xfs_fsize_t	last_byte;
> > 	xfs_off_t	toss_start;
> > 	xfs_mount_t	*mp;
> >-	bhv_vnode_t	*vp;
> > 	int		error = 0;
> > 
> > 	ASSERT(xfs_isilocked(ip, XFS_IOLOCK_EXCL));
> >@@ -1406,7 +1405,6 @@ xfs_itruncate_start(
> > 	       (flags == XFS_ITRUNC_MAYBE));
> > 
> > 	mp = ip->i_mount;
> >-	vp = VFS_I(ip);
> > 
> > 	/* wait for the completion of any pending DIOs */
> > 	if (new_size < ip->i_size)
> >@@ -1455,7 +1453,7 @@ xfs_itruncate_start(
> > 
> > #ifdef DEBUG
> > 	if (new_size == 0) {
> >-		ASSERT(VN_CACHED(vp) == 0);
> >+		ASSERT(VN_CACHED(VFS_I(ip)) == 0);
> > 	}
> > #endif
> > 	return error;
> >@@ -3421,7 +3419,6 @@ xfs_iflush_all(
> > 	xfs_mount_t	*mp)
> > {
> > 	xfs_inode_t	*ip;
> >-	bhv_vnode_t	*vp;
> > 
> >  again:
> > 	XFS_MOUNT_ILOCK(mp);
> >@@ -3436,14 +3433,13 @@ xfs_iflush_all(
> > 			continue;
> > 		}
> > 
> >-		vp = VFS_I(ip);
> >-		if (!vp) {
> >+		if (!VFS_I(ip)) {
> > 			XFS_MOUNT_IUNLOCK(mp);
> > 			xfs_finish_reclaim(ip, 0, XFS_IFLUSH_ASYNC);
> > 			goto again;
> > 		}
> > 
> >-		ASSERT(vn_count(vp) == 0);
> >+		ASSERT(vn_count(VFS_I(ip)) == 0);
> > 
> > 		ip = ip->i_mnext;
> > 	} while (ip != mp->m_inodes);
> >Index: linux-2.6-xfs/fs/xfs/xfs_itable.c
> >===================================================================
> >--- linux-2.6-xfs.orig/fs/xfs/xfs_itable.c	2008-07-23 
> >22:26:29.000000000 +0200
> >+++ linux-2.6-xfs/fs/xfs/xfs_itable.c	2008-07-23 22:26:45.000000000 +0200
> >@@ -59,7 +59,6 @@ xfs_bulkstat_one_iget(
> > {
> > 	xfs_icdinode_t	*dic;	/* dinode core info pointer */
> > 	xfs_inode_t	*ip;		/* incore inode pointer */
> >-	bhv_vnode_t	*vp;
> > 	int		error;
> > 
> > 	error = xfs_iget(mp, NULL, ino,
> >@@ -72,7 +71,6 @@ xfs_bulkstat_one_iget(
> > 	ASSERT(ip != NULL);
> > 	ASSERT(ip->i_blkno != (xfs_daddr_t)0);
> > 
> >-	vp = VFS_I(ip);
> > 	dic = &ip->i_d;
> > 
> > 	/* xfs_iget returns the following without needing
> >@@ -85,7 +83,7 @@ xfs_bulkstat_one_iget(
> > 	buf->bs_uid = dic->di_uid;
> > 	buf->bs_gid = dic->di_gid;
> > 	buf->bs_size = dic->di_size;
> >-	vn_atime_to_bstime(vp, &buf->bs_atime);
> >+	vn_atime_to_bstime(VFS_I(ip), &buf->bs_atime);
> > 	buf->bs_mtime.tv_sec = dic->di_mtime.t_sec;
> > 	buf->bs_mtime.tv_nsec = dic->di_mtime.t_nsec;
> > 	buf->bs_ctime.tv_sec = dic->di_ctime.t_sec;
> >Index: linux-2.6-xfs/fs/xfs/xfs_vnodeops.c
> >===================================================================
> >--- linux-2.6-xfs.orig/fs/xfs/xfs_vnodeops.c	2008-07-23 
> >22:23:16.000000000 +0200
> >+++ linux-2.6-xfs/fs/xfs/xfs_vnodeops.c	2008-07-23 
> >22:33:43.000000000 +0200
> >@@ -1160,7 +1160,6 @@ int
> > xfs_release(
> > 	xfs_inode_t	*ip)
> > {
> >-	bhv_vnode_t	*vp = VFS_I(ip);
> > 	xfs_mount_t	*mp = ip->i_mount;
> > 	int		error;
> > 
> >@@ -1195,13 +1194,13 @@ xfs_release(
> > 		 * be exposed to that problem.
> > 		 */
> > 		truncated = xfs_iflags_test_and_clear(ip, XFS_ITRUNCATED);
> >-		if (truncated && VN_DIRTY(vp) && ip->i_delayed_blks > 0)
> >+		if (truncated && VN_DIRTY(VFS_I(ip)) && ip->i_delayed_blks > 
> >0)
> > 			xfs_flush_pages(ip, 0, -1, XFS_B_ASYNC, FI_NONE);
> > 	}
> > 
> > 	if (ip->i_d.di_nlink != 0) {
> > 		if ((((ip->i_d.di_mode & S_IFMT) == S_IFREG) &&
> >-		     ((ip->i_size > 0) || (VN_CACHED(vp) > 0 ||
> >+		     ((ip->i_size > 0) || (VN_CACHED(VFS_I(ip)) > 0 ||
> > 		       ip->i_delayed_blks > 0)) &&
> > 		     (ip->i_df.if_flags & XFS_IFEXTENTS))  &&
> > 		    (!(ip->i_d.di_flags &
> >@@ -1227,7 +1226,6 @@ int
> > xfs_inactive(
> > 	xfs_inode_t	*ip)
> > {
> >-	bhv_vnode_t	*vp = VFS_I(ip);
> > 	xfs_bmap_free_t	free_list;
> > 	xfs_fsblock_t	first_block;
> > 	int		committed;
> >@@ -1242,7 +1240,7 @@ xfs_inactive(
> > 	 * If the inode is already free, then there can be nothing
> > 	 * to clean up here.
> > 	 */
> >-	if (ip->i_d.di_mode == 0 || VN_BAD(vp)) {
> >+	if (ip->i_d.di_mode == 0 || VN_BAD(VFS_I(ip))) {
> > 		ASSERT(ip->i_df.if_real_bytes == 0);
> > 		ASSERT(ip->i_df.if_broot_bytes == 0);
> > 		return VN_INACTIVE_CACHE;
> >@@ -1272,7 +1270,7 @@ xfs_inactive(
> > 
> > 	if (ip->i_d.di_nlink != 0) {
> > 		if ((((ip->i_d.di_mode & S_IFMT) == S_IFREG) &&
> >-                     ((ip->i_size > 0) || (VN_CACHED(vp) > 0 ||
> >+                     ((ip->i_size > 0) || (VN_CACHED(VFS_I(ip)) > 0 ||
> >                        ip->i_delayed_blks > 0)) &&
> > 		      (ip->i_df.if_flags & XFS_IFEXTENTS) &&
> > 		     (!(ip->i_d.di_flags &
> >@@ -2793,14 +2791,13 @@ int
> > xfs_reclaim(
> > 	xfs_inode_t	*ip)
> > {
> >-	bhv_vnode_t	*vp = VFS_I(ip);
> > 
> > 	xfs_itrace_entry(ip);
> > 
> >-	ASSERT(!VN_MAPPED(vp));
> >+	ASSERT(!VN_MAPPED(VFS_I(ip)));
> > 
> > 	/* bad inode, get out here ASAP */
> >-	if (VN_BAD(vp)) {
> >+	if (VN_BAD(VFS_I(ip))) {
> > 		xfs_ireclaim(ip);
> > 		return 0;
> > 	}
> >@@ -2837,7 +2834,7 @@ xfs_reclaim(
> > 		XFS_MOUNT_ILOCK(mp);
> > 		spin_lock(&ip->i_flags_lock);
> > 		__xfs_iflags_set(ip, XFS_IRECLAIMABLE);
> >-		vp->i_private = NULL;
> >+		VFS_I(ip)->i_private = NULL;
> > 		ip->i_vnode = NULL;
> > 		spin_unlock(&ip->i_flags_lock);
> > 		list_add_tail(&ip->i_reclaim, &mp->m_del_inodes);
> >@@ -3241,7 +3238,6 @@ xfs_free_file_space(
> > 	xfs_off_t		len,
> > 	int			attr_flags)
> > {
> >-	bhv_vnode_t		*vp;
> > 	int			committed;
> > 	int			done;
> > 	xfs_off_t		end_dmi_offset;
> >@@ -3261,7 +3257,6 @@ xfs_free_file_space(
> > 	xfs_trans_t		*tp;
> > 	int			need_iolock = 1;
> > 
> >-	vp = VFS_I(ip);
> > 	mp = ip->i_mount;
> > 
> > 	xfs_itrace_entry(ip);
> >@@ -3298,7 +3293,7 @@ xfs_free_file_space(
> > 	rounding = max_t(uint, 1 << mp->m_sb.sb_blocklog, PAGE_CACHE_SIZE);
> > 	ioffset = offset & ~(rounding - 1);
> > 
> >-	if (VN_CACHED(vp) != 0) {
> >+	if (VN_CACHED(VFS_I(ip)) != 0) {
> > 		xfs_inval_cached_trace(ip, ioffset, -1, ioffset, -1);
> > 		error = xfs_flushinval_pages(ip, ioffset, -1, 
> > 		FI_REMAPF_LOCKED);
> > 		if (error)
> >Index: linux-2.6-xfs/fs/xfs/xfs_vfsops.c
> >===================================================================
> >--- linux-2.6-xfs.orig/fs/xfs/xfs_vfsops.c	2008-07-23 
> >22:28:36.000000000 +0200
> >+++ linux-2.6-xfs/fs/xfs/xfs_vfsops.c	2008-07-23 22:33:43.000000000 +0200
> >@@ -127,7 +127,6 @@ xfs_unmount_flush(
> > 	xfs_inode_t	*rip = mp->m_rootip;
> > 	xfs_inode_t	*rbmip;
> > 	xfs_inode_t	*rsumip = NULL;
> >-	bhv_vnode_t	*rvp = VFS_I(rip);
> > 	int		error;
> > 
> > 	xfs_ilock(rip, XFS_ILOCK_EXCL | XFS_ILOCK_PARENT);
> >@@ -166,7 +165,7 @@ xfs_unmount_flush(
> > 	if (error == EFSCORRUPTED)
> > 		goto fscorrupt_out2;
> > 
> >-	if (vn_count(rvp) != 1 && !relocation) {
> >+	if (vn_count(VFS_I(rip)) != 1 && !relocation) {
> > 		xfs_iunlock(rip, XFS_ILOCK_EXCL);
> > 		return XFS_ERROR(EBUSY);
> > 	}
> >Index: linux-2.6-xfs/fs/xfs/linux-2.6/xfs_super.c
> >===================================================================
> >--- linux-2.6-xfs.orig/fs/xfs/linux-2.6/xfs_super.c	2008-07-23 
> >22:33:47.000000000 +0200
> >+++ linux-2.6-xfs/fs/xfs/linux-2.6/xfs_super.c	2008-07-23 
> >22:33:54.000000000 +0200
> >@@ -922,12 +922,7 @@ STATIC struct inode *
> > xfs_fs_alloc_inode(
> > 	struct super_block	*sb)
> > {
> >-	bhv_vnode_t		*vp;
> >-
> >-	vp = kmem_zone_alloc(xfs_vnode_zone, KM_SLEEP);
> >-	if (unlikely(!vp))
> >-		return NULL;
> >-	return vp;
> >+	return kmem_zone_alloc(xfs_vnode_zone, KM_SLEEP);
> > }
> > 
> > STATIC void
> >
> >
> >
---end quoted text---

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/2] remove some easy bhv_vnode_t instances
  2008-07-24  6:32   ` Christoph Hellwig
@ 2008-07-24  7:49     ` Lachlan McIlroy
  0 siblings, 0 replies; 4+ messages in thread
From: Lachlan McIlroy @ 2008-07-24  7:49 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: xfs

Christoph Hellwig wrote:
> Thanks for the review.  Bote that these patches need the 5 vnode helper
> cleanup patches and '[PATCH] sanitize xfs_initialize_vnode' previously
> applied.
Yeah, found that out the hard way.

> 
> On Thu, Jul 24, 2008 at 03:57:32PM +1000, Lachlan McIlroy wrote:
>> All looks good to me.
>>
>> Christoph Hellwig wrote:
>>> In various places we can just move a VFS_I call into the argument list
>>> of called functions/macros instead of having a local bhv_vnode_t.
>>>
>>>
>>> Signed-off-by: Christoph Hellwig <hch@lst.de>
>>>
>>> Index: linux-2.6-xfs/fs/xfs/xfs_dfrag.c
>>> ===================================================================
>>> --- linux-2.6-xfs.orig/fs/xfs/xfs_dfrag.c	2008-07-23 
>>> 22:25:42.000000000 +0200
>>> +++ linux-2.6-xfs/fs/xfs/xfs_dfrag.c	2008-07-23 22:26:16.000000000 +0200
>>> @@ -130,7 +130,6 @@ xfs_swap_extents(
>>> 	xfs_mount_t	*mp;
>>> 	xfs_trans_t	*tp;
>>> 	xfs_bstat_t	*sbp = &sxp->sx_stat;
>>> -	bhv_vnode_t	*vp, *tvp;
>>> 	xfs_ifork_t	*tempifp, *ifp, *tifp;
>>> 	int		ilf_fields, tilf_fields;
>>> 	static uint	lock_flags = XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL;
>>> @@ -149,8 +148,6 @@ xfs_swap_extents(
>>> 	}
>>>
>>> 	sbp = &sxp->sx_stat;
>>> -	vp = VFS_I(ip);
>>> -	tvp = VFS_I(tip);
>>>
>>> 	xfs_lock_two_inodes(ip, tip, lock_flags);
>>> 	locked = 1;
>>> @@ -174,7 +171,7 @@ xfs_swap_extents(
>>> 		goto error0;
>>> 	}
>>>
>>> -	if (VN_CACHED(tvp) != 0) {
>>> +	if (VN_CACHED(VFS_I(tip)) != 0) {
>>> 		xfs_inval_cached_trace(tip, 0, -1, 0, -1);
>>> 		error = xfs_flushinval_pages(tip, 0, -1,
>>> 				FI_REMAPF_LOCKED);
>>> @@ -183,7 +180,7 @@ xfs_swap_extents(
>>> 	}
>>>
>>> 	/* Verify O_DIRECT for ftmp */
>>> -	if (VN_CACHED(tvp) != 0) {
>>> +	if (VN_CACHED(VFS_I(tip)) != 0) {
>>> 		error = XFS_ERROR(EINVAL);
>>> 		goto error0;
>>> 	}
>>> @@ -227,7 +224,7 @@ xfs_swap_extents(
>>> 	 * vop_read (or write in the case of autogrow) they block on the 
>>> 	 iolock
>>> 	 * until we have switched the extents.
>>> 	 */
>>> -	if (VN_MAPPED(vp)) {
>>> +	if (VN_MAPPED(VFS_I(ip))) {
>>> 		error = XFS_ERROR(EBUSY);
>>> 		goto error0;
>>> 	}
>>> Index: linux-2.6-xfs/fs/xfs/xfs_inode.c
>>> ===================================================================
>>> --- linux-2.6-xfs.orig/fs/xfs/xfs_inode.c	2008-07-23 
>>> 22:22:20.000000000 +0200
>>> +++ linux-2.6-xfs/fs/xfs/xfs_inode.c	2008-07-23 22:29:36.000000000 +0200
>>> @@ -1397,7 +1397,6 @@ xfs_itruncate_start(
>>> 	xfs_fsize_t	last_byte;
>>> 	xfs_off_t	toss_start;
>>> 	xfs_mount_t	*mp;
>>> -	bhv_vnode_t	*vp;
>>> 	int		error = 0;
>>>
>>> 	ASSERT(xfs_isilocked(ip, XFS_IOLOCK_EXCL));
>>> @@ -1406,7 +1405,6 @@ xfs_itruncate_start(
>>> 	       (flags == XFS_ITRUNC_MAYBE));
>>>
>>> 	mp = ip->i_mount;
>>> -	vp = VFS_I(ip);
>>>
>>> 	/* wait for the completion of any pending DIOs */
>>> 	if (new_size < ip->i_size)
>>> @@ -1455,7 +1453,7 @@ xfs_itruncate_start(
>>>
>>> #ifdef DEBUG
>>> 	if (new_size == 0) {
>>> -		ASSERT(VN_CACHED(vp) == 0);
>>> +		ASSERT(VN_CACHED(VFS_I(ip)) == 0);
>>> 	}
>>> #endif
>>> 	return error;
>>> @@ -3421,7 +3419,6 @@ xfs_iflush_all(
>>> 	xfs_mount_t	*mp)
>>> {
>>> 	xfs_inode_t	*ip;
>>> -	bhv_vnode_t	*vp;
>>>
>>>  again:
>>> 	XFS_MOUNT_ILOCK(mp);
>>> @@ -3436,14 +3433,13 @@ xfs_iflush_all(
>>> 			continue;
>>> 		}
>>>
>>> -		vp = VFS_I(ip);
>>> -		if (!vp) {
>>> +		if (!VFS_I(ip)) {
>>> 			XFS_MOUNT_IUNLOCK(mp);
>>> 			xfs_finish_reclaim(ip, 0, XFS_IFLUSH_ASYNC);
>>> 			goto again;
>>> 		}
>>>
>>> -		ASSERT(vn_count(vp) == 0);
>>> +		ASSERT(vn_count(VFS_I(ip)) == 0);
>>>
>>> 		ip = ip->i_mnext;
>>> 	} while (ip != mp->m_inodes);
>>> Index: linux-2.6-xfs/fs/xfs/xfs_itable.c
>>> ===================================================================
>>> --- linux-2.6-xfs.orig/fs/xfs/xfs_itable.c	2008-07-23 
>>> 22:26:29.000000000 +0200
>>> +++ linux-2.6-xfs/fs/xfs/xfs_itable.c	2008-07-23 22:26:45.000000000 +0200
>>> @@ -59,7 +59,6 @@ xfs_bulkstat_one_iget(
>>> {
>>> 	xfs_icdinode_t	*dic;	/* dinode core info pointer */
>>> 	xfs_inode_t	*ip;		/* incore inode pointer */
>>> -	bhv_vnode_t	*vp;
>>> 	int		error;
>>>
>>> 	error = xfs_iget(mp, NULL, ino,
>>> @@ -72,7 +71,6 @@ xfs_bulkstat_one_iget(
>>> 	ASSERT(ip != NULL);
>>> 	ASSERT(ip->i_blkno != (xfs_daddr_t)0);
>>>
>>> -	vp = VFS_I(ip);
>>> 	dic = &ip->i_d;
>>>
>>> 	/* xfs_iget returns the following without needing
>>> @@ -85,7 +83,7 @@ xfs_bulkstat_one_iget(
>>> 	buf->bs_uid = dic->di_uid;
>>> 	buf->bs_gid = dic->di_gid;
>>> 	buf->bs_size = dic->di_size;
>>> -	vn_atime_to_bstime(vp, &buf->bs_atime);
>>> +	vn_atime_to_bstime(VFS_I(ip), &buf->bs_atime);
>>> 	buf->bs_mtime.tv_sec = dic->di_mtime.t_sec;
>>> 	buf->bs_mtime.tv_nsec = dic->di_mtime.t_nsec;
>>> 	buf->bs_ctime.tv_sec = dic->di_ctime.t_sec;
>>> Index: linux-2.6-xfs/fs/xfs/xfs_vnodeops.c
>>> ===================================================================
>>> --- linux-2.6-xfs.orig/fs/xfs/xfs_vnodeops.c	2008-07-23 
>>> 22:23:16.000000000 +0200
>>> +++ linux-2.6-xfs/fs/xfs/xfs_vnodeops.c	2008-07-23 
>>> 22:33:43.000000000 +0200
>>> @@ -1160,7 +1160,6 @@ int
>>> xfs_release(
>>> 	xfs_inode_t	*ip)
>>> {
>>> -	bhv_vnode_t	*vp = VFS_I(ip);
>>> 	xfs_mount_t	*mp = ip->i_mount;
>>> 	int		error;
>>>
>>> @@ -1195,13 +1194,13 @@ xfs_release(
>>> 		 * be exposed to that problem.
>>> 		 */
>>> 		truncated = xfs_iflags_test_and_clear(ip, XFS_ITRUNCATED);
>>> -		if (truncated && VN_DIRTY(vp) && ip->i_delayed_blks > 0)
>>> +		if (truncated && VN_DIRTY(VFS_I(ip)) && ip->i_delayed_blks > 
>>> 0)
>>> 			xfs_flush_pages(ip, 0, -1, XFS_B_ASYNC, FI_NONE);
>>> 	}
>>>
>>> 	if (ip->i_d.di_nlink != 0) {
>>> 		if ((((ip->i_d.di_mode & S_IFMT) == S_IFREG) &&
>>> -		     ((ip->i_size > 0) || (VN_CACHED(vp) > 0 ||
>>> +		     ((ip->i_size > 0) || (VN_CACHED(VFS_I(ip)) > 0 ||
>>> 		       ip->i_delayed_blks > 0)) &&
>>> 		     (ip->i_df.if_flags & XFS_IFEXTENTS))  &&
>>> 		    (!(ip->i_d.di_flags &
>>> @@ -1227,7 +1226,6 @@ int
>>> xfs_inactive(
>>> 	xfs_inode_t	*ip)
>>> {
>>> -	bhv_vnode_t	*vp = VFS_I(ip);
>>> 	xfs_bmap_free_t	free_list;
>>> 	xfs_fsblock_t	first_block;
>>> 	int		committed;
>>> @@ -1242,7 +1240,7 @@ xfs_inactive(
>>> 	 * If the inode is already free, then there can be nothing
>>> 	 * to clean up here.
>>> 	 */
>>> -	if (ip->i_d.di_mode == 0 || VN_BAD(vp)) {
>>> +	if (ip->i_d.di_mode == 0 || VN_BAD(VFS_I(ip))) {
>>> 		ASSERT(ip->i_df.if_real_bytes == 0);
>>> 		ASSERT(ip->i_df.if_broot_bytes == 0);
>>> 		return VN_INACTIVE_CACHE;
>>> @@ -1272,7 +1270,7 @@ xfs_inactive(
>>>
>>> 	if (ip->i_d.di_nlink != 0) {
>>> 		if ((((ip->i_d.di_mode & S_IFMT) == S_IFREG) &&
>>> -                     ((ip->i_size > 0) || (VN_CACHED(vp) > 0 ||
>>> +                     ((ip->i_size > 0) || (VN_CACHED(VFS_I(ip)) > 0 ||
>>>                        ip->i_delayed_blks > 0)) &&
>>> 		      (ip->i_df.if_flags & XFS_IFEXTENTS) &&
>>> 		     (!(ip->i_d.di_flags &
>>> @@ -2793,14 +2791,13 @@ int
>>> xfs_reclaim(
>>> 	xfs_inode_t	*ip)
>>> {
>>> -	bhv_vnode_t	*vp = VFS_I(ip);
>>>
>>> 	xfs_itrace_entry(ip);
>>>
>>> -	ASSERT(!VN_MAPPED(vp));
>>> +	ASSERT(!VN_MAPPED(VFS_I(ip)));
>>>
>>> 	/* bad inode, get out here ASAP */
>>> -	if (VN_BAD(vp)) {
>>> +	if (VN_BAD(VFS_I(ip))) {
>>> 		xfs_ireclaim(ip);
>>> 		return 0;
>>> 	}
>>> @@ -2837,7 +2834,7 @@ xfs_reclaim(
>>> 		XFS_MOUNT_ILOCK(mp);
>>> 		spin_lock(&ip->i_flags_lock);
>>> 		__xfs_iflags_set(ip, XFS_IRECLAIMABLE);
>>> -		vp->i_private = NULL;
>>> +		VFS_I(ip)->i_private = NULL;
>>> 		ip->i_vnode = NULL;
>>> 		spin_unlock(&ip->i_flags_lock);
>>> 		list_add_tail(&ip->i_reclaim, &mp->m_del_inodes);
>>> @@ -3241,7 +3238,6 @@ xfs_free_file_space(
>>> 	xfs_off_t		len,
>>> 	int			attr_flags)
>>> {
>>> -	bhv_vnode_t		*vp;
>>> 	int			committed;
>>> 	int			done;
>>> 	xfs_off_t		end_dmi_offset;
>>> @@ -3261,7 +3257,6 @@ xfs_free_file_space(
>>> 	xfs_trans_t		*tp;
>>> 	int			need_iolock = 1;
>>>
>>> -	vp = VFS_I(ip);
>>> 	mp = ip->i_mount;
>>>
>>> 	xfs_itrace_entry(ip);
>>> @@ -3298,7 +3293,7 @@ xfs_free_file_space(
>>> 	rounding = max_t(uint, 1 << mp->m_sb.sb_blocklog, PAGE_CACHE_SIZE);
>>> 	ioffset = offset & ~(rounding - 1);
>>>
>>> -	if (VN_CACHED(vp) != 0) {
>>> +	if (VN_CACHED(VFS_I(ip)) != 0) {
>>> 		xfs_inval_cached_trace(ip, ioffset, -1, ioffset, -1);
>>> 		error = xfs_flushinval_pages(ip, ioffset, -1, 
>>> 		FI_REMAPF_LOCKED);
>>> 		if (error)
>>> Index: linux-2.6-xfs/fs/xfs/xfs_vfsops.c
>>> ===================================================================
>>> --- linux-2.6-xfs.orig/fs/xfs/xfs_vfsops.c	2008-07-23 
>>> 22:28:36.000000000 +0200
>>> +++ linux-2.6-xfs/fs/xfs/xfs_vfsops.c	2008-07-23 22:33:43.000000000 +0200
>>> @@ -127,7 +127,6 @@ xfs_unmount_flush(
>>> 	xfs_inode_t	*rip = mp->m_rootip;
>>> 	xfs_inode_t	*rbmip;
>>> 	xfs_inode_t	*rsumip = NULL;
>>> -	bhv_vnode_t	*rvp = VFS_I(rip);
>>> 	int		error;
>>>
>>> 	xfs_ilock(rip, XFS_ILOCK_EXCL | XFS_ILOCK_PARENT);
>>> @@ -166,7 +165,7 @@ xfs_unmount_flush(
>>> 	if (error == EFSCORRUPTED)
>>> 		goto fscorrupt_out2;
>>>
>>> -	if (vn_count(rvp) != 1 && !relocation) {
>>> +	if (vn_count(VFS_I(rip)) != 1 && !relocation) {
>>> 		xfs_iunlock(rip, XFS_ILOCK_EXCL);
>>> 		return XFS_ERROR(EBUSY);
>>> 	}
>>> Index: linux-2.6-xfs/fs/xfs/linux-2.6/xfs_super.c
>>> ===================================================================
>>> --- linux-2.6-xfs.orig/fs/xfs/linux-2.6/xfs_super.c	2008-07-23 
>>> 22:33:47.000000000 +0200
>>> +++ linux-2.6-xfs/fs/xfs/linux-2.6/xfs_super.c	2008-07-23 
>>> 22:33:54.000000000 +0200
>>> @@ -922,12 +922,7 @@ STATIC struct inode *
>>> xfs_fs_alloc_inode(
>>> 	struct super_block	*sb)
>>> {
>>> -	bhv_vnode_t		*vp;
>>> -
>>> -	vp = kmem_zone_alloc(xfs_vnode_zone, KM_SLEEP);
>>> -	if (unlikely(!vp))
>>> -		return NULL;
>>> -	return vp;
>>> +	return kmem_zone_alloc(xfs_vnode_zone, KM_SLEEP);
>>> }
>>>
>>> STATIC void
>>>
>>>
>>>
> ---end quoted text---
> 
> 
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-07-24  7:42 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-23 21:47 [PATCH 1/2] remove some easy bhv_vnode_t instances Christoph Hellwig
2008-07-24  5:57 ` Lachlan McIlroy
2008-07-24  6:32   ` Christoph Hellwig
2008-07-24  7:49     ` Lachlan McIlroy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox