diff options
author | Christoph Hellwig <hch@infradead.org> | 2008-06-22 23:23:48 -0400 |
---|---|---|
committer | Niv Sardi <xaiki@debian.org> | 2008-07-28 02:58:53 -0400 |
commit | ad9b463aa206b8c8f0bab378cf7c090c1a9a8e34 (patch) | |
tree | c427ffd218b9123ec5fc6d004d6bd25e65e8de1f /fs/xfs/xfs_attr_leaf.h | |
parent | caf8aabdbc6849de772850d26d3dbe35e8f63bff (diff) |
[XFS] Switches xfs_vn_listxattr to set it's put_listent callback directly
and not go through xfs_attr_list.
SGI-PV: 983395
SGI-Modid: xfs-linux-melb:xfs-kern:31324a
Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Tim Shimmin <tes@sgi.com>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_attr_leaf.h')
-rw-r--r-- | fs/xfs/xfs_attr_leaf.h | 29 |
1 files changed, 1 insertions, 28 deletions
diff --git a/fs/xfs/xfs_attr_leaf.h b/fs/xfs/xfs_attr_leaf.h index 040f732ce1e2..5ecf437b7825 100644 --- a/fs/xfs/xfs_attr_leaf.h +++ b/fs/xfs/xfs_attr_leaf.h | |||
@@ -30,7 +30,7 @@ | |||
30 | 30 | ||
31 | struct attrlist; | 31 | struct attrlist; |
32 | struct attrlist_cursor_kern; | 32 | struct attrlist_cursor_kern; |
33 | struct attrnames; | 33 | struct xfs_attr_list_context; |
34 | struct xfs_dabuf; | 34 | struct xfs_dabuf; |
35 | struct xfs_da_args; | 35 | struct xfs_da_args; |
36 | struct xfs_da_state; | 36 | struct xfs_da_state; |
@@ -204,33 +204,6 @@ static inline int xfs_attr_leaf_entsize_local_max(int bsize) | |||
204 | return (((bsize) >> 1) + ((bsize) >> 2)); | 204 | return (((bsize) >> 1) + ((bsize) >> 2)); |
205 | } | 205 | } |
206 | 206 | ||
207 | |||
208 | /*======================================================================== | ||
209 | * Structure used to pass context around among the routines. | ||
210 | *========================================================================*/ | ||
211 | |||
212 | |||
213 | struct xfs_attr_list_context; | ||
214 | |||
215 | typedef int (*put_listent_func_t)(struct xfs_attr_list_context *, struct attrnames *, | ||
216 | char *, int, int, char *); | ||
217 | |||
218 | typedef struct xfs_attr_list_context { | ||
219 | struct xfs_inode *dp; /* inode */ | ||
220 | struct attrlist_cursor_kern *cursor; /* position in list */ | ||
221 | struct attrlist *alist; /* output buffer */ | ||
222 | int seen_enough; /* T/F: seen enough of list? */ | ||
223 | int count; /* num used entries */ | ||
224 | int dupcnt; /* count dup hashvals seen */ | ||
225 | int bufsize; /* total buffer size */ | ||
226 | int firstu; /* first used byte in buffer */ | ||
227 | int flags; /* from VOP call */ | ||
228 | int resynch; /* T/F: resynch with cursor */ | ||
229 | int put_value; /* T/F: need value for listent */ | ||
230 | put_listent_func_t put_listent; /* list output fmt function */ | ||
231 | int index; /* index into output buffer */ | ||
232 | } xfs_attr_list_context_t; | ||
233 | |||
234 | /* | 207 | /* |
235 | * Used to keep a list of "remote value" extents when unlinking an inode. | 208 | * Used to keep a list of "remote value" extents when unlinking an inode. |
236 | */ | 209 | */ |