xfs
[Top] [All Lists]

[PATCH 08/10] kill dead inode flags

To: xfs@xxxxxxxxxxx
Subject: [PATCH 08/10] kill dead inode flags
From: Christoph Hellwig <hch@xxxxxx>
Date: Sun, 26 Oct 2008 16:36:09 -0400
Sender: Christoph Hellwig <hch@xxxxxxxxxxxxx>
User-agent: quilt/0.46-1
There are a few inode flags around that aren't used anywhere, so remove
them.  Also update xfsidbg to display all used inode flags correctly.

(First sent on July 23nd)


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-10-25 13:00:29.000000000 
+0200
+++ linux-2.6-xfs/fs/xfs/dmapi/xfs_dm.c 2008-10-25 13:15:42.000000000 +0200
@@ -2494,7 +2494,6 @@ xfs_dm_punch_hole(
        /* Let threads in send_data_event know we punched the file. */
        ip->i_d.di_dmstate++;
        xfs_iunlock(ip, XFS_IOLOCK_EXCL);
-       xfs_iflags_set(ip, XFS_IMODIFIED);
 
 up_and_out:
        up_rw_sems(inode, DM_SEM_FLAG_WR);
Index: linux-2.6-xfs/fs/xfs/linux-2.6/xfs_aops.c
===================================================================
--- linux-2.6-xfs.orig/fs/xfs/linux-2.6/xfs_aops.c      2008-10-25 
13:00:29.000000000 +0200
+++ linux-2.6-xfs/fs/xfs/linux-2.6/xfs_aops.c   2008-10-25 13:15:42.000000000 
+0200
@@ -317,14 +317,9 @@ xfs_map_blocks(
        xfs_iomap_t             *mapp,
        int                     flags)
 {
-       xfs_inode_t             *ip = XFS_I(inode);
-       int                     error, nmaps = 1;
+       int                     nmaps = 1;
 
-       error = xfs_iomap(ip, offset, count,
-                               flags, mapp, &nmaps);
-       if (!error && (flags & (BMAPI_WRITE|BMAPI_ALLOCATE)))
-               xfs_iflags_set(ip, XFS_IMODIFIED);
-       return -error;
+       return -xfs_iomap(XFS_I(inode), offset, count, flags, mapp, &nmaps);
 }
 
 STATIC_INLINE int
Index: linux-2.6-xfs/fs/xfs/linux-2.6/xfs_file.c
===================================================================
--- linux-2.6-xfs.orig/fs/xfs/linux-2.6/xfs_file.c      2008-10-25 
13:11:38.000000000 +0200
+++ linux-2.6-xfs/fs/xfs/linux-2.6/xfs_file.c   2008-10-25 13:15:42.000000000 
+0200
@@ -434,11 +434,8 @@ xfs_file_ioctl(
        unsigned int    cmd,
        unsigned long   p)
 {
-       int             error;
        struct inode    *inode = filp->f_path.dentry->d_inode;
 
-       error = xfs_ioctl(XFS_I(inode), filp, 0, cmd, (void __user *)p);
-       xfs_iflags_set(XFS_I(inode), XFS_IMODIFIED);
 
        /* NOTE:  some of the ioctl's return positive #'s as a
         *        byte count indicating success, such as
@@ -446,7 +443,7 @@ xfs_file_ioctl(
         *        like most other routines.  This means true
         *        errors need to be returned as a negative value.
         */
-       return error;
+       return xfs_ioctl(XFS_I(inode), filp, 0, cmd, (void __user *)p);
 }
 
 STATIC long
@@ -455,11 +452,8 @@ xfs_file_ioctl_invis(
        unsigned int    cmd,
        unsigned long   p)
 {
-       int             error;
        struct inode    *inode = filp->f_path.dentry->d_inode;
 
-       error = xfs_ioctl(XFS_I(inode), filp, IO_INVIS, cmd, (void __user *)p);
-       xfs_iflags_set(XFS_I(inode), XFS_IMODIFIED);
 
        /* NOTE:  some of the ioctl's return positive #'s as a
         *        byte count indicating success, such as
@@ -467,7 +461,7 @@ xfs_file_ioctl_invis(
         *        like most other routines.  This means true
         *        errors need to be returned as a negative value.
         */
-       return error;
+       return xfs_ioctl(XFS_I(inode), filp, IO_INVIS, cmd, (void __user *)p);
 }
 
 #ifdef HAVE_DMAPI
Index: linux-2.6-xfs/fs/xfs/linux-2.6/xfs_iops.c
===================================================================
--- linux-2.6-xfs.orig/fs/xfs/linux-2.6/xfs_iops.c      2008-10-25 
13:13:24.000000000 +0200
+++ linux-2.6-xfs/fs/xfs/linux-2.6/xfs_iops.c   2008-10-25 13:15:54.000000000 
+0200
@@ -158,8 +158,6 @@ xfs_init_security(
        }
 
        error = xfs_attr_set(ip, name, value, length, ATTR_SECURE);
-       if (!error)
-               xfs_iflags_set(ip, XFS_IMODIFIED);
 
        kfree(name);
        kfree(value);
@@ -260,7 +258,6 @@ xfs_vn_mknod(
                error = _ACL_INHERIT(inode, mode, default_acl);
                if (unlikely(error))
                        goto out_cleanup_inode;
-               xfs_iflags_set(ip, XFS_IMODIFIED);
                _ACL_FREE(default_acl);
        }
 
@@ -376,7 +373,6 @@ xfs_vn_link(
        if (unlikely(error))
                return -error;
 
-       xfs_iflags_set(XFS_I(dir), XFS_IMODIFIED);
        atomic_inc(&inode->i_count);
        d_instantiate(dentry, inode);
        return 0;
@@ -805,7 +801,6 @@ xfs_setup_inode(
        inode->i_ctime.tv_sec   = ip->i_d.di_ctime.t_sec;
        inode->i_ctime.tv_nsec  = ip->i_d.di_ctime.t_nsec;
        xfs_diflags_to_iflags(inode, ip);
-       xfs_iflags_clear(ip, XFS_IMODIFIED);
 
        switch (inode->i_mode & S_IFMT) {
        case S_IFREG:
Index: linux-2.6-xfs/fs/xfs/linux-2.6/xfs_ioctl32.c
===================================================================
--- linux-2.6-xfs.orig/fs/xfs/linux-2.6/xfs_ioctl32.c   2008-10-25 
13:00:29.000000000 +0200
+++ linux-2.6-xfs/fs/xfs/linux-2.6/xfs_ioctl32.c        2008-10-25 
13:15:42.000000000 +0200
@@ -375,7 +375,6 @@ xfs_compat_ioctl(
        unsigned long   arg)
 {
        struct inode    *inode = file->f_path.dentry->d_inode;
-       int             error;
 
        switch (cmd) {
        case XFS_IOC_DIOINFO:
@@ -463,10 +462,7 @@ xfs_compat_ioctl(
                return -ENOIOCTLCMD;
        }
 
-       error = xfs_ioctl(XFS_I(inode), file, mode, cmd, (void __user *)arg);
-       xfs_iflags_set(XFS_I(inode), XFS_IMODIFIED);
-
-       return error;
+       return xfs_ioctl(XFS_I(inode), file, mode, cmd, (void __user *)arg);
 }
 
 long
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-10-25 
13:00:29.000000000 +0200
+++ linux-2.6-xfs/fs/xfs/linux-2.6/xfs_super.c  2008-10-25 13:15:42.000000000 
+0200
@@ -1021,7 +1021,6 @@ xfs_fs_clear_inode(
        XFS_STATS_DEC(vn_active);
 
        xfs_inactive(ip);
-       xfs_iflags_clear(ip, XFS_IMODIFIED);
 }
 
 STATIC void
Index: linux-2.6-xfs/fs/xfs/xfs_iget.c
===================================================================
--- linux-2.6-xfs.orig/fs/xfs/xfs_iget.c        2008-10-25 13:02:56.000000000 
+0200
+++ linux-2.6-xfs/fs/xfs/xfs_iget.c     2008-10-25 13:15:42.000000000 +0200
@@ -275,7 +275,6 @@ again:
        }
        xfs_put_perag(mp, pag);
 
-       xfs_iflags_set(ip, XFS_IMODIFIED);
        *ipp = ip;
 
        ASSERT(ip->i_df.if_ext_max ==
Index: linux-2.6-xfs/fs/xfs/xfs_inode.h
===================================================================
--- linux-2.6-xfs.orig/fs/xfs/xfs_inode.h       2008-10-25 13:02:57.000000000 
+0200
+++ linux-2.6-xfs/fs/xfs/xfs_inode.h    2008-10-25 13:15:42.000000000 +0200
@@ -403,17 +403,12 @@ static inline void xfs_ifunlock(xfs_inod
 /*
  * In-core inode flags.
  */
-#define XFS_IGRIO      0x0001  /* inode used for guaranteed rate i/o */
-#define XFS_IUIOSZ     0x0002  /* inode i/o sizes have been explicitly set */
-#define XFS_IQUIESCE    0x0004  /* we have started quiescing for this inode */
-#define XFS_IRECLAIM    0x0008  /* we have started reclaiming this inode    */
-#define XFS_ISTALE     0x0010  /* inode has been staled */
-#define XFS_IRECLAIMABLE 0x0020 /* inode can be reclaimed */
-#define XFS_INEW       0x0040
-#define XFS_IFILESTREAM        0x0080  /* inode is in a filestream directory */
-#define XFS_IMODIFIED  0x0100  /* XFS inode state possibly differs */
-                               /* to the Linux inode state. */
-#define XFS_ITRUNCATED 0x0200  /* truncated down so flush-on-close */
+#define XFS_IRECLAIM    0x0001  /* we have started reclaiming this inode    */
+#define XFS_ISTALE     0x0002  /* inode has been staled */
+#define XFS_IRECLAIMABLE 0x0004 /* inode can be reclaimed */
+#define XFS_INEW       0x0008  /* inode has just been allocated */
+#define XFS_IFILESTREAM        0x0010  /* inode is in a filestream directory */
+#define XFS_ITRUNCATED 0x0020  /* truncated down so flush-on-close */
 
 /*
  * Flags for inode locking.
Index: linux-2.6-xfs/fs/xfs/xfsidbg.c
===================================================================
--- linux-2.6-xfs.orig/fs/xfs/xfsidbg.c 2008-10-25 13:15:38.000000000 +0200
+++ linux-2.6-xfs/fs/xfs/xfsidbg.c      2008-10-25 13:15:42.000000000 +0200
@@ -157,7 +157,6 @@ static void xfsidbg_xiclogall(xlog_in_co
 static void    xfsidbg_xiclogcb(xlog_in_core_t *);
 static void    xfsidbg_xinodes(xfs_mount_t *);
 static void    xfsidbg_delayed_blocks(xfs_mount_t *);
-static void    xfsidbg_xinodes_quiesce(xfs_mount_t *);
 static void    xfsidbg_xlog(xlog_t *);
 static void    xfsidbg_xlog_ritem(xlog_recover_item_t *);
 static void    xfsidbg_xlog_rtrans(xlog_recover_t *);
@@ -1318,26 +1317,6 @@ static int       kdbm_xfs_delayed_blocks(
        return 0;
 }
 
-
-static int     kdbm_xfs_xinodes_quiesce(
-       int     argc,
-       const char **argv)
-{
-       unsigned long addr;
-       int nextarg = 1;
-       long offset = 0;
-       int diag;
-
-       if (argc != 1)
-               return KDB_ARGCOUNT;
-       diag = kdbgetaddrarg(argc, argv, &nextarg, &addr, &offset, NULL);
-       if (diag)
-               return diag;
-
-       xfsidbg_xinodes_quiesce((xfs_mount_t *) addr);
-       return 0;
-}
-
 static int     kdbm_xfs_xlog(
        int     argc,
        const char **argv)
@@ -2415,8 +2394,6 @@ static struct xif xfsidbg_funcs[] = {
 #endif
   {  "xinodes",        kdbm_xfs_xinodes,       "<xfs_mount_t>",
                                "Dump XFS inodes per mount"},
-  {  "xquiesce",kdbm_xfs_xinodes_quiesce, "<xfs_mount_t>",
-                               "Dump non-quiesced XFS inodes per mount"},
 #ifdef XFS_LOG_TRACE
   {  "xl_grtr",        kdbm_xfs_xlog_granttrace,       "<xlog_t>",
                                "Dump XFS log grant trace" },
@@ -5971,35 +5948,6 @@ xfsidbg_delayed_blocks(xfs_mount_t *mp)
        kdb_printf("delayed blocks total: %d in %d inodes\n", total, icount);
 }
 
-static void
-xfsidbg_xinodes_quiesce(xfs_mount_t *mp)
-{
-       int             i;
-
-       kdb_printf("xfs_mount at 0x%p\n", mp);
-       for (i = 0; i < mp->m_sb.sb_agcount; i++) {
-               xfs_perag_t     *pag = &mp->m_perag[i];
-               xfs_inode_t     *ip = NULL;
-               int             first_index = 0;
-               int             nr_found;
-
-               if (!pag->pag_ici_init)
-                       continue;
-               do {
-                       nr_found = radix_tree_gang_lookup(&pag->pag_ici_root,
-                                               (void**)&ip, first_index, 1);
-                       if (!nr_found)
-                               break;
-                       /* update the index for the next lookup */
-                       first_index = XFS_INO_TO_AGINO(mp, ip->i_ino + 1);
-                       if (!(ip->i_flags & XFS_IQUIESCE)) {
-                               kdb_printf("ip 0x%p not quiesced\n", ip);
-                       }
-               } while (nr_found);
-       }
-       kdb_printf("\nEnd of Inodes\n");
-}
-
 static char *
 xfsidbg_get_cstate(int state)
 {
@@ -6597,12 +6545,11 @@ static void
 xfsidbg_xnode(xfs_inode_t *ip)
 {
        static char *tab_flags[] = {
-               "grio",         /* XFS_IGRIO */
-               "uiosize",      /* XFS_IUIOSZ */
-               "quiesce",      /* XFS_IQUIESCE */
                "reclaim",      /* XFS_IRECLAIM */
                "stale",        /* XFS_ISTALE */
-               "modified",     /* XFS_IMODIFIED */
+               "reclaimable",  /* XFS_IRECLAIMABLE */
+               "new",          /* XFS_INEW */
+               "filestream",   /* XFS_IFILESTREAM */
                "truncated",    /* XFS_ITRUNCATED */
                NULL
        };

-- 

<Prev in Thread] Current Thread [Next in Thread>