aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_itable.h
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2010-06-23 04:11:11 -0400
committerDave Chinner <david@fromorbit.com>2010-06-23 04:11:11 -0400
commit7dce11dbac54fce777eea0f5fb25b2694ccd7900 (patch)
tree90d6d109ca110bcbf47a954a8283ec250be07003 /fs/xfs/xfs_itable.h
parent1817176a86352f65210139d4c794ad2d19fc6b63 (diff)
xfs: always use iget in bulkstat
The non-coherent bulkstat versionsthat look directly at the inode buffers causes various problems with performance optimizations that make increased use of just logging inodes. This patch makes bulkstat always use iget, which should be fast enough for normal use with the radix-tree based inode cache introduced a while ago. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Dave Chinner <dchinner@redhat.com>
Diffstat (limited to 'fs/xfs/xfs_itable.h')
-rw-r--r--fs/xfs/xfs_itable.h14
1 files changed, 0 insertions, 14 deletions
diff --git a/fs/xfs/xfs_itable.h b/fs/xfs/xfs_itable.h
index 20792bf45946..fea03397a3ab 100644
--- a/fs/xfs/xfs_itable.h
+++ b/fs/xfs/xfs_itable.h
@@ -27,10 +27,8 @@ typedef int (*bulkstat_one_pf)(struct xfs_mount *mp,
27 xfs_ino_t ino, 27 xfs_ino_t ino,
28 void __user *buffer, 28 void __user *buffer,
29 int ubsize, 29 int ubsize,
30 void *private_data,
31 xfs_daddr_t bno, 30 xfs_daddr_t bno,
32 int *ubused, 31 int *ubused,
33 void *dip,
34 int *stat); 32 int *stat);
35 33
36/* 34/*
@@ -41,13 +39,6 @@ typedef int (*bulkstat_one_pf)(struct xfs_mount *mp,
41#define BULKSTAT_RV_GIVEUP 2 39#define BULKSTAT_RV_GIVEUP 2
42 40
43/* 41/*
44 * Values for bulkstat flag argument.
45 */
46#define BULKSTAT_FG_IGET 0x1 /* Go through the buffer cache */
47#define BULKSTAT_FG_QUICK 0x2 /* No iget, walk the dinode cluster */
48#define BULKSTAT_FG_INLINE 0x4 /* No iget if inline attrs */
49
50/*
51 * Return stat information in bulk (by-inode) for the filesystem. 42 * Return stat information in bulk (by-inode) for the filesystem.
52 */ 43 */
53int /* error status */ 44int /* error status */
@@ -56,10 +47,8 @@ xfs_bulkstat(
56 xfs_ino_t *lastino, /* last inode returned */ 47 xfs_ino_t *lastino, /* last inode returned */
57 int *count, /* size of buffer/count returned */ 48 int *count, /* size of buffer/count returned */
58 bulkstat_one_pf formatter, /* func that'd fill a single buf */ 49 bulkstat_one_pf formatter, /* func that'd fill a single buf */
59 void *private_data, /* private data for formatter */
60 size_t statstruct_size,/* sizeof struct that we're filling */ 50 size_t statstruct_size,/* sizeof struct that we're filling */
61 char __user *ubuffer,/* buffer with inode stats */ 51 char __user *ubuffer,/* buffer with inode stats */
62 int flags, /* flag to control access method */
63 int *done); /* 1 if there are more stats to get */ 52 int *done); /* 1 if there are more stats to get */
64 53
65int 54int
@@ -84,7 +73,6 @@ xfs_bulkstat_one_int(
84 bulkstat_one_fmt_pf formatter, 73 bulkstat_one_fmt_pf formatter,
85 xfs_daddr_t bno, 74 xfs_daddr_t bno,
86 int *ubused, 75 int *ubused,
87 void *dibuff,
88 int *stat); 76 int *stat);
89 77
90int 78int
@@ -93,10 +81,8 @@ xfs_bulkstat_one(
93 xfs_ino_t ino, 81 xfs_ino_t ino,
94 void __user *buffer, 82 void __user *buffer,
95 int ubsize, 83 int ubsize,
96 void *private_data,
97 xfs_daddr_t bno, 84 xfs_daddr_t bno,
98 int *ubused, 85 int *ubused,
99 void *dibuff,
100 int *stat); 86 int *stat);
101 87
102typedef int (*inumbers_fmt_pf)( 88typedef int (*inumbers_fmt_pf)(