浏览代码

kill dead inode flags

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.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <david@fromorbit.com>
Signed-off-by: Niv Sardi <xaiki@sgi.com>
Christoph Hellwig 16 年之前
父节点
当前提交
6bd16ff270
共有 6 个文件被更改,包括 11 次插入34 次删除
  1. 3 8
      fs/xfs/linux-2.6/xfs_aops.c
  2. 2 8
      fs/xfs/linux-2.6/xfs_file.c
  3. 0 5
      fs/xfs/linux-2.6/xfs_iops.c
  4. 0 1
      fs/xfs/linux-2.6/xfs_super.c
  5. 0 1
      fs/xfs/xfs_iget.c
  6. 6 11
      fs/xfs/xfs_inode.h

+ 3 - 8
fs/xfs/linux-2.6/xfs_aops.c

@@ -317,14 +317,9 @@ xfs_map_blocks(
 	xfs_iomap_t		*mapp,
 	xfs_iomap_t		*mapp,
 	int			flags)
 	int			flags)
 {
 {
-	xfs_inode_t		*ip = XFS_I(inode);
-	int			error, 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;
+	int			nmaps = 1;
+
+	return -xfs_iomap(XFS_I(inode), offset, count, flags, mapp, &nmaps);
 }
 }
 
 
 STATIC_INLINE int
 STATIC_INLINE int

+ 2 - 8
fs/xfs/linux-2.6/xfs_file.c

@@ -281,11 +281,8 @@ xfs_file_ioctl(
 	unsigned int	cmd,
 	unsigned int	cmd,
 	unsigned long	p)
 	unsigned long	p)
 {
 {
-	int		error;
 	struct inode	*inode = filp->f_path.dentry->d_inode;
 	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
 	/* NOTE:  some of the ioctl's return positive #'s as a
 	 *	  byte count indicating success, such as
 	 *	  byte count indicating success, such as
@@ -293,7 +290,7 @@ xfs_file_ioctl(
 	 *	  like most other routines.  This means true
 	 *	  like most other routines.  This means true
 	 *	  errors need to be returned as a negative value.
 	 *	  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
 STATIC long
@@ -302,11 +299,8 @@ xfs_file_ioctl_invis(
 	unsigned int	cmd,
 	unsigned int	cmd,
 	unsigned long	p)
 	unsigned long	p)
 {
 {
-	int		error;
 	struct inode	*inode = filp->f_path.dentry->d_inode;
 	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
 	/* NOTE:  some of the ioctl's return positive #'s as a
 	 *	  byte count indicating success, such as
 	 *	  byte count indicating success, such as
@@ -314,7 +308,7 @@ xfs_file_ioctl_invis(
 	 *	  like most other routines.  This means true
 	 *	  like most other routines.  This means true
 	 *	  errors need to be returned as a negative value.
 	 *	  errors need to be returned as a negative value.
 	 */
 	 */
-	return error;
+	return xfs_ioctl(XFS_I(inode), filp, IO_INVIS, cmd, (void __user *)p);
 }
 }
 
 
 /*
 /*

+ 0 - 5
fs/xfs/linux-2.6/xfs_iops.c

@@ -159,8 +159,6 @@ xfs_init_security(
 	}
 	}
 
 
 	error = xfs_attr_set(ip, name, value, length, ATTR_SECURE);
 	error = xfs_attr_set(ip, name, value, length, ATTR_SECURE);
-	if (!error)
-		xfs_iflags_set(ip, XFS_IMODIFIED);
 
 
 	kfree(name);
 	kfree(name);
 	kfree(value);
 	kfree(value);
@@ -261,7 +259,6 @@ xfs_vn_mknod(
 		error = _ACL_INHERIT(inode, mode, default_acl);
 		error = _ACL_INHERIT(inode, mode, default_acl);
 		if (unlikely(error))
 		if (unlikely(error))
 			goto out_cleanup_inode;
 			goto out_cleanup_inode;
-		xfs_iflags_set(ip, XFS_IMODIFIED);
 		_ACL_FREE(default_acl);
 		_ACL_FREE(default_acl);
 	}
 	}
 
 
@@ -377,7 +374,6 @@ xfs_vn_link(
 	if (unlikely(error))
 	if (unlikely(error))
 		return -error;
 		return -error;
 
 
-	xfs_iflags_set(XFS_I(dir), XFS_IMODIFIED);
 	atomic_inc(&inode->i_count);
 	atomic_inc(&inode->i_count);
 	d_instantiate(dentry, inode);
 	d_instantiate(dentry, inode);
 	return 0;
 	return 0;
@@ -888,7 +884,6 @@ xfs_setup_inode(
 	inode->i_ctime.tv_sec	= ip->i_d.di_ctime.t_sec;
 	inode->i_ctime.tv_sec	= ip->i_d.di_ctime.t_sec;
 	inode->i_ctime.tv_nsec	= ip->i_d.di_ctime.t_nsec;
 	inode->i_ctime.tv_nsec	= ip->i_d.di_ctime.t_nsec;
 	xfs_diflags_to_iflags(inode, ip);
 	xfs_diflags_to_iflags(inode, ip);
-	xfs_iflags_clear(ip, XFS_IMODIFIED);
 
 
 	switch (inode->i_mode & S_IFMT) {
 	switch (inode->i_mode & S_IFMT) {
 	case S_IFREG:
 	case S_IFREG:

+ 0 - 1
fs/xfs/linux-2.6/xfs_super.c

@@ -1025,7 +1025,6 @@ xfs_fs_clear_inode(
 	XFS_STATS_DEC(vn_active);
 	XFS_STATS_DEC(vn_active);
 
 
 	xfs_inactive(ip);
 	xfs_inactive(ip);
-	xfs_iflags_clear(ip, XFS_IMODIFIED);
 }
 }
 
 
 STATIC void
 STATIC void

+ 0 - 1
fs/xfs/xfs_iget.c

@@ -362,7 +362,6 @@ again:
 	}
 	}
 	xfs_put_perag(mp, pag);
 	xfs_put_perag(mp, pag);
 
 
-	xfs_iflags_set(ip, XFS_IMODIFIED);
 	*ipp = ip;
 	*ipp = ip;
 
 
 	ASSERT(ip->i_df.if_ext_max ==
 	ASSERT(ip->i_df.if_ext_max ==

+ 6 - 11
fs/xfs/xfs_inode.h

@@ -403,17 +403,12 @@ static inline void xfs_ifunlock(xfs_inode_t *ip)
 /*
 /*
  * In-core inode flags.
  * 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.
  * Flags for inode locking.