All of lore.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.