xfs
[Top] [All Lists]

[PATCH] use XFS_I and VFS_I in xfs_dm.c

To: xfs@xxxxxxxxxxx
Subject: [PATCH] use XFS_I and VFS_I in xfs_dm.c
From: Christoph Hellwig <hch@xxxxxx>
Date: Fri, 22 Aug 2008 03:42:05 +0200
Sender: xfs-bounce@xxxxxxxxxxx
User-agent: Mutt/1.3.28i
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.


Signed-off-by: Christoph Hellwig <hch@xxxxxx>

Index: linux-2.6-xfs/fs/xfs/dmapi/xfs_dm.c
===================================================================
--- linux-2.6-xfs.orig/fs/xfs/dmapi/xfs_dm.c    2008-08-19 22:42:31.000000000 
-0300
+++ linux-2.6-xfs/fs/xfs/dmapi/xfs_dm.c 2008-08-19 22:45:17.000000000 -0300
@@ -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;
 }


<Prev in Thread] Current Thread [Next in Thread>
  • [PATCH] use XFS_I and VFS_I in xfs_dm.c, Christoph Hellwig <=