Skip to contentSkip to conversation

use XFS_I and VFS_I in xfs_dm.c

PATCH In review Christoph Hellwig 2 participants 3 messages Aug 22, 2008 – Oct 22, 2008 XFS filesystem

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 use XFS_I and VFS_I in xfs_dm.c

Convert xfs_dm.c to use the XFS_I and VFI_I helper, or in some cases IHOLD/IRELE so that it still compiles with Dave's inode unification patch. It's only really required for the latter, but also a nice cleanup without it, so it should probably go in before that patch series.

fs/xfs/dmapi/xfs_dm.c +12 -13
Index: linux-2.6-xfs/fs/xfs/dmapi/xfs_dm.c
===================================================================
@@ -140,7 +140,7 @@ xfs_dm_send_data_event(
 	int		flags,
 	int		*lock_flags)
 {
-	struct inode	*inode = ip->i_vnode;
+	struct inode	*inode = VFS_I(ip);
 	int		error;
 	uint16_t	dmstate;
 
@@ -468,7 +468,7 @@ xfs_dm_bulkall_iget_one(
 		return error;
 
 	xfs_ip_to_stat(mp, ino, ip, &xbuf->dx_statinfo);
-	dm_ip_to_handle(ip->i_vnode, &handle);
+	dm_ip_to_handle(VFS_I(ip), &handle);
 	xfs_dm_handle_to_xstat(xbuf, xstat_sz, &handle, sizeof(handle));
 
 	/* Drop ILOCK_SHARED for call to xfs_attr_get */
@@ -476,7 +476,7 @@ xfs_dm_bulkall_iget_one(
 
 	memset(&xbuf->dx_attrdata, 0, sizeof(dm_vardata_t));
 	error = xfs_attr_get(ip, attr_name, attr_buf, &value_len, ATTR_ROOT);
-	iput(ip->i_vnode);
+	IRELE(ip);
 
 	DM_EA_XLATE_ERR(error);
 	if (error && (error != ENOATTR)) {
@@ -726,7 +726,7 @@ xfs_dm_bulkattr_iget_one(
 		return error;
 
 	xfs_ip_to_stat(mp, ino, ip, sbuf);
-	dm_ip_to_handle(ip->i_vnode, &handle);
+	dm_ip_to_handle(VFS_I(ip), &handle);
 	xfs_dm_handle_to_stat(sbuf, stat_sz, &handle, sizeof(handle));
 
 	xfs_iput(ip, XFS_ILOCK_SHARED);
@@ -907,7 +907,7 @@ xfs_dm_f_set_eventlist(
 	ip->i_d.di_dmevmask = (eventset & max_mask) | (ip->i_d.di_dmevmask & ~max_mask);
 
 	xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
-	igrab(ip->i_vnode);
+	IHOLD(ip);
 	xfs_trans_commit(tp, 0);
 
 	return(0);
@@ -2731,7 +2731,7 @@ xfs_dm_send_destroy_event(
 	dm_right_t	vp_right)	/* always DM_RIGHT_NULL */
 {
 	/* Returns positive errors to XFS */
-	return -dm_send_destroy_event(ip->i_vnode, vp_right);
+	return -dm_send_destroy_event(VFS_I(ip), vp_right);
 }
 
 
@@ -2751,8 +2751,8 @@ xfs_dm_send_namesp_event(
 {
 	/* Returns positive errors to XFS */
 	return -dm_send_namesp_event(event, mp ? mp->m_super : NULL,
-				    ip1->i_vnode, vp1_right,
-				    ip2 ? ip2->i_vnode : NULL, vp2_right,
+				    VFS_I(ip1), vp1_right,
+				    ip2 ? VFS_I(ip2) : NULL, vp2_right,
 				    name1, name2,
 				    mode, retcode, flags);
 }
@@ -2779,7 +2779,7 @@ xfs_dm_send_unmount_event(
 	int		retcode,	/* errno, if unmount failed */
 	int		flags)
 {
-	dm_send_unmount_event(mp->m_super, ip ? ip->i_vnode : NULL,
+	dm_send_unmount_event(mp->m_super, ip ? VFS_I(ip) : NULL,
 			      vfsp_right, mode, retcode, flags);
 }
 
@@ -2822,9 +2822,8 @@ xfs_dm_fh_to_inode(
 
 	if (!dmfid->dm_fid_len) {
 		/* filesystem handle */
-		*inode = igrab(mp->m_rootip->i_vnode);
-		if (!*inode)
-			return -ENOENT;
+		IHOLD(mp->m_rootip);
+		*inode = VFS_I(mp->m_rootip);
 		return 0;
 	}
 
@@ -2849,7 +2848,7 @@ xfs_dm_fh_to_inode(
 		return -ENOENT;
 	}
 
-	*inode = ip->i_vnode;
+	*inode = VFS_I(ip);
 	xfs_iunlock(ip, XFS_ILOCK_SHARED);
 	return 0;
 }
#1 lore raw

ping?

Quoted 100 lines · Christoph Hellwig

Convert xfs_dm.c to use the XFS_I and VFI_I helper, or in some cases IHOLD/IRELE so that it still compiles with Dave's inode unification patch. It's only really required for the latter, but also a nice cleanup without it, so it should probably go in before that patch series.

Index: linux-2.6-xfs/fs/xfs/dmapi/xfs_dm.c
===================================================================

fs/xfs/dmapi/xfs_dm.c +11 -12
@@ -140,7 +140,7 @@ xfs_dm_send_data_event(
 	int		flags,
 	int		*lock_flags)
 {
-	struct inode	*inode = ip->i_vnode;
+	struct inode	*inode = VFS_I(ip);
 	int		error;
 	uint16_t	dmstate;
 
@@ -468,7 +468,7 @@ xfs_dm_bulkall_iget_one(
 		return error;
 
 	xfs_ip_to_stat(mp, ino, ip, &xbuf->dx_statinfo);
-	dm_ip_to_handle(ip->i_vnode, &handle);
+	dm_ip_to_handle(VFS_I(ip), &handle);
 	xfs_dm_handle_to_xstat(xbuf, xstat_sz, &handle, sizeof(handle));
 
 	/* Drop ILOCK_SHARED for call to xfs_attr_get */
@@ -476,7 +476,7 @@ xfs_dm_bulkall_iget_one(
 
 	memset(&xbuf->dx_attrdata, 0, sizeof(dm_vardata_t));
 	error = xfs_attr_get(ip, attr_name, attr_buf, &value_len, ATTR_ROOT);
-	iput(ip->i_vnode);
+	IRELE(ip);
 
 	DM_EA_XLATE_ERR(error);
 	if (error && (error != ENOATTR)) {
@@ -726,7 +726,7 @@ xfs_dm_bulkattr_iget_one(
 		return error;
 
 	xfs_ip_to_stat(mp, ino, ip, sbuf);
-	dm_ip_to_handle(ip->i_vnode, &handle);
+	dm_ip_to_handle(VFS_I(ip), &handle);
 	xfs_dm_handle_to_stat(sbuf, stat_sz, &handle, sizeof(handle));
 
 	xfs_iput(ip, XFS_ILOCK_SHARED);
@@ -907,7 +907,7 @@ xfs_dm_f_set_eventlist(
 	ip->i_d.di_dmevmask = (eventset & max_mask) | (ip->i_d.di_dmevmask & ~max_mask);
 
 	xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
-	igrab(ip->i_vnode);
+	IHOLD(ip);
 	xfs_trans_commit(tp, 0);
 
 	return(0);
@@ -2731,7 +2731,7 @@ xfs_dm_send_destroy_event(
 	dm_right_t	vp_right)	/* always DM_RIGHT_NULL */
 {
 	/* Returns positive errors to XFS */
-	return -dm_send_destroy_event(ip->i_vnode, vp_right);
+	return -dm_send_destroy_event(VFS_I(ip), vp_right);
 }
 
 
@@ -2751,8 +2751,8 @@ xfs_dm_send_namesp_event(
 {
 	/* Returns positive errors to XFS */
 	return -dm_send_namesp_event(event, mp ? mp->m_super : NULL,
-				    ip1->i_vnode, vp1_right,
-				    ip2 ? ip2->i_vnode : NULL, vp2_right,
+				    VFS_I(ip1), vp1_right,
+				    ip2 ? VFS_I(ip2) : NULL, vp2_right,
 				    name1, name2,
 				    mode, retcode, flags);
 }
@@ -2779,7 +2779,7 @@ xfs_dm_send_unmount_event(
 	int		retcode,	/* errno, if unmount failed */
 	int		flags)
 {
-	dm_send_unmount_event(mp->m_super, ip ? ip->i_vnode : NULL,
+	dm_send_unmount_event(mp->m_super, ip ? VFS_I(ip) : NULL,
 			      vfsp_right, mode, retcode, flags);
 }
 
@@ -2822,9 +2822,8 @@ xfs_dm_fh_to_inode(
 
 	if (!dmfid->dm_fid_len) {
 		/* filesystem handle */
-		*inode = igrab(mp->m_rootip->i_vnode);
-		if (!*inode)
-			return -ENOENT;
+		IHOLD(mp->m_rootip);
+		*inode = VFS_I(mp->m_rootip);
 		return 0;
 	}
 

fs/xfs/dmapi/xfs_dm.c xfs_dm_fh_to_inode( · line 2854

Quoted 8 lines
fs/xfs/dmapi/xfs_dm.c +1 -1
@@ -2849,7 +2848,7 @@ xfs_dm_fh_to_inode(
 		return -ENOENT;
 	}
 
-	*inode = ip->i_vnode;
+	*inode = VFS_I(ip);
 	xfs_iunlock(ip, XFS_ILOCK_SHARED);
 	return 0;
 }

---end quoted text---

#2 lore raw
Quoted 1 line · Christoph Hellwig

ping?

A similar patch has already been checked into the tree (which hopefully should be working again). I can apply the 3 remaining changes, just mentioning it here for transparency.

Quoted 11 lines · Christoph Hellwig
Quoted 9 lines

Convert xfs_dm.c to use the XFS_I and VFI_I helper, or in some cases IHOLD/IRELE so that it still compiles with Dave's inode unification patch. It's only really required for the latter, but also a nice cleanup without it, so it should probably go in before that patch series.

Quoted 13 lines

fs/xfs/dmapi/xfs_dm.c xfs_dm_send_data_event( · line 146

Quoted 13 lines

Index: linux-2.6-xfs/fs/xfs/dmapi/xfs_dm.c
===================================================================

fs/xfs/dmapi/xfs_dm.c +1 -1
@@ -140,7 +140,7 @@ xfs_dm_send_data_event(
 	int		flags,
 	int		*lock_flags)
 {
-	struct inode	*inode = ip->i_vnode;
+	struct inode	*inode = VFS_I(ip);
 	int		error;
 	uint16_t	dmstate;
 

Already in

Quoted 9 lines

fs/xfs/dmapi/xfs_dm.c xfs_dm_bulkall_iget_one( · line 474

Quoted 9 lines
fs/xfs/dmapi/xfs_dm.c +1 -1
@@ -468,7 +468,7 @@ xfs_dm_bulkall_iget_one(
 		return error;
 
 	xfs_ip_to_stat(mp, ino, ip, &xbuf->dx_statinfo);
-	dm_ip_to_handle(ip->i_vnode, &handle);
+	dm_ip_to_handle(VFS_I(ip), &handle);
 	xfs_dm_handle_to_xstat(xbuf, xstat_sz, &handle, sizeof(handle));
 
 	/* Drop ILOCK_SHARED for call to xfs_attr_get */

Already in

Quoted 9 lines

fs/xfs/dmapi/xfs_dm.c xfs_dm_bulkall_iget_one( · line 482

Quoted 9 lines
fs/xfs/dmapi/xfs_dm.c +1 -1
@@ -476,7 +476,7 @@ xfs_dm_bulkall_iget_one(
 
 	memset(&xbuf->dx_attrdata, 0, sizeof(dm_vardata_t));
 	error = xfs_attr_get(ip, attr_name, attr_buf, &value_len, ATTR_ROOT);
-	iput(ip->i_vnode);
+	IRELE(ip);
 
 	DM_EA_XLATE_ERR(error);
 	if (error && (error != ENOATTR)) {

Fixed as
- iput(ip->i_vnode);
+ iput(VFS_I(ip));

Quoted 9 lines

fs/xfs/dmapi/xfs_dm.c xfs_dm_bulkattr_iget_one( · line 732

Quoted 9 lines
fs/xfs/dmapi/xfs_dm.c +1 -1
@@ -726,7 +726,7 @@ xfs_dm_bulkattr_iget_one(
 		return error;
 
 	xfs_ip_to_stat(mp, ino, ip, sbuf);
-	dm_ip_to_handle(ip->i_vnode, &handle);
+	dm_ip_to_handle(VFS_I(ip), &handle);
 	xfs_dm_handle_to_stat(sbuf, stat_sz, &handle, sizeof(handle));
 
 	xfs_iput(ip, XFS_ILOCK_SHARED);

Already in

Quoted 9 lines

fs/xfs/dmapi/xfs_dm.c xfs_dm_f_set_eventlist( · line 913

Quoted 9 lines
fs/xfs/dmapi/xfs_dm.c +1 -1
@@ -907,7 +907,7 @@ xfs_dm_f_set_eventlist(
 	ip->i_d.di_dmevmask = (eventset & max_mask) | (ip->i_d.di_dmevmask & ~max_mask);
 
 	xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
-	igrab(ip->i_vnode);
+	IHOLD(ip);
 	xfs_trans_commit(tp, 0);
 
 	return(0);

Fixed as
+ igrab(VFS_I(ip))

Quoted 7 lines

fs/xfs/dmapi/xfs_dm.c xfs_dm_send_destroy_event( · line 2735

Quoted 7 lines
fs/xfs/dmapi/xfs_dm.c +1 -1
@@ -2731,7 +2731,7 @@ xfs_dm_send_destroy_event(
 	dm_right_t	vp_right)	/* always DM_RIGHT_NULL */
 {
 	/* Returns positive errors to XFS */
-	return -dm_send_destroy_event(ip->i_vnode, vp_right);
+	return -dm_send_destroy_event(VFS_I(ip), vp_right);
 }

Already in

Quoted 12 lines

fs/xfs/dmapi/xfs_dm.c xfs_dm_send_namesp_event( · line 2758

Quoted 12 lines
fs/xfs/dmapi/xfs_dm.c +2 -2
@@ -2751,8 +2751,8 @@ xfs_dm_send_namesp_event(
 {
 	/* Returns positive errors to XFS */
 	return -dm_send_namesp_event(event, mp ? mp->m_super : NULL,
-				    ip1->i_vnode, vp1_right,
-				    ip2 ? ip2->i_vnode : NULL, vp2_right,
+				    VFS_I(ip1), vp1_right,
+				    ip2 ? VFS_I(ip2) : NULL, vp2_right,
 				    name1, name2,
 				    mode, retcode, flags);
 }

Already in

Quoted 9 lines

fs/xfs/dmapi/xfs_dm.c xfs_dm_send_unmount_event( · line 2785

Quoted 9 lines
fs/xfs/dmapi/xfs_dm.c +1 -1
@@ -2779,7 +2779,7 @@ xfs_dm_send_unmount_event(
 	int		retcode,	/* errno, if unmount failed */
 	int		flags)
 {
-	dm_send_unmount_event(mp->m_super, ip ? ip->i_vnode : NULL,
+	dm_send_unmount_event(mp->m_super, ip ? VFS_I(ip) : NULL,
 			      vfsp_right, mode, retcode, flags);
 }
 

Already in

Quoted 12 lines

fs/xfs/dmapi/xfs_dm.c xfs_dm_fh_to_inode( · line 2829

Quoted 12 lines
fs/xfs/dmapi/xfs_dm.c +2 -3
@@ -2822,9 +2822,8 @@ xfs_dm_fh_to_inode(
 
 	if (!dmfid->dm_fid_len) {
 		/* filesystem handle */
-		*inode = igrab(mp->m_rootip->i_vnode);
-		if (!*inode)
-			return -ENOENT;
+		IHOLD(mp->m_rootip);
+		*inode = VFS_I(mp->m_rootip);
 		return 0;
 	}
 

Fixed As
+ *inode = igrab(VFS_I(mp->m_rootip));

Quoted 9 lines

fs/xfs/dmapi/xfs_dm.c xfs_dm_fh_to_inode( · line 2854

Quoted 9 lines
fs/xfs/dmapi/xfs_dm.c +1 -1
@@ -2849,7 +2848,7 @@ xfs_dm_fh_to_inode(
 		return -ENOENT;
 	}
 
-	*inode = ip->i_vnode;
+	*inode = VFS_I(ip);
 	xfs_iunlock(ip, XFS_ILOCK_SHARED);
 	return 0;
 }

Already in

Quoted 2 lines

---end quoted text---