public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 08/10] kill dead inode flags
@ 2008-10-27 13:48 Christoph Hellwig
  0 siblings, 0 replies; only message in thread
From: Christoph Hellwig @ 2008-10-27 13:48 UTC (permalink / raw)
  To: xfs

[-- Attachment #1: xfs-kill-dead-inode-flags --]
[-- Type: text/plain, Size: 10106 bytes --]

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@lst.de>

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
 	};

-- 

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-10-27 13:49 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-27 13:48 [PATCH 08/10] kill dead inode flags Christoph Hellwig

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