* [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.