diff options
author | Christoph Hellwig <hch@lst.de> | 2010-06-23 04:11:11 -0400 |
---|---|---|
committer | Dave Chinner <david@fromorbit.com> | 2010-06-23 04:11:11 -0400 |
commit | 7dce11dbac54fce777eea0f5fb25b2694ccd7900 (patch) | |
tree | 90d6d109ca110bcbf47a954a8283ec250be07003 /fs/xfs/xfs_itable.h | |
parent | 1817176a86352f65210139d4c794ad2d19fc6b63 (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.h | 14 |
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 | */ |
53 | int /* error status */ | 44 | int /* 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 | ||
65 | int | 54 | int |
@@ -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 | ||
90 | int | 78 | int |
@@ -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 | ||
102 | typedef int (*inumbers_fmt_pf)( | 88 | typedef int (*inumbers_fmt_pf)( |