aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_fs.h
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2007-09-14 01:22:37 -0400
committerTim Shimmin <tes@chook.melbourne.sgi.com>2007-10-19 04:02:55 -0400
commitc6143911a7e0f8abef0319c801eb36718f57dfde (patch)
tree86138962b153b617b5c117797394e23337f979c7 /fs/xfs/xfs_fs.h
parentc8fcfac5a257f8a04f7ba3d397dedccffef19be2 (diff)
[XFS] cleanup fid types mess
Currently XFs has three different fid types: struct fid, struct xfs_fid and struct xfs_fid2 with hte latter two beeing identicaly and the first one beeing the same size but an unstructured array with the same size. This patch consolidates all this to alway uuse struct xfs_fid. This patch is required for an upcoming patch series from me that revamps the nfs exporting code and introduces a Linux-wide struct fid. SGI-PV: 970336 SGI-Modid: xfs-linux-melb:xfs-kern:29651a Signed-off-by: Christoph Hellwig <hch@infradead.org> Signed-off-by: Lachlan McIlroy <lachlan@sgi.com> Signed-off-by: Tim Shimmin <tes@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_fs.h')
-rw-r--r--fs/xfs/xfs_fs.h29
1 files changed, 6 insertions, 23 deletions
diff --git a/fs/xfs/xfs_fs.h b/fs/xfs/xfs_fs.h
index ec3c9c27e0de..aab966276517 100644
--- a/fs/xfs/xfs_fs.h
+++ b/fs/xfs/xfs_fs.h
@@ -389,30 +389,13 @@ typedef struct xfs_fsop_attrmulti_handlereq {
389 */ 389 */
390typedef struct { __u32 val[2]; } xfs_fsid_t; /* file system id type */ 390typedef struct { __u32 val[2]; } xfs_fsid_t; /* file system id type */
391 391
392
393#ifndef HAVE_FID
394#define MAXFIDSZ 46
395
396typedef struct fid {
397 __u16 fid_len; /* length of data in bytes */
398 unsigned char fid_data[MAXFIDSZ]; /* data (fid_len worth) */
399} fid_t;
400#endif
401
402typedef struct xfs_fid { 392typedef struct xfs_fid {
403 __u16 xfs_fid_len; /* length of remainder */ 393 __u16 fid_len; /* length of remainder */
404 __u16 xfs_fid_pad; 394 __u16 fid_pad;
405 __u32 xfs_fid_gen; /* generation number */ 395 __u32 fid_gen; /* generation number */
406 __u64 xfs_fid_ino; /* 64 bits inode number */ 396 __u64 fid_ino; /* 64 bits inode number */
407} xfs_fid_t; 397} xfs_fid_t;
408 398
409typedef struct xfs_fid2 {
410 __u16 fid_len; /* length of remainder */
411 __u16 fid_pad; /* padding, must be zero */
412 __u32 fid_gen; /* generation number */
413 __u64 fid_ino; /* inode number */
414} xfs_fid2_t;
415
416typedef struct xfs_handle { 399typedef struct xfs_handle {
417 union { 400 union {
418 __s64 align; /* force alignment of ha_fid */ 401 __s64 align; /* force alignment of ha_fid */
@@ -422,9 +405,9 @@ typedef struct xfs_handle {
422} xfs_handle_t; 405} xfs_handle_t;
423#define ha_fsid ha_u._ha_fsid 406#define ha_fsid ha_u._ha_fsid
424 407
425#define XFS_HSIZE(handle) (((char *) &(handle).ha_fid.xfs_fid_pad \ 408#define XFS_HSIZE(handle) (((char *) &(handle).ha_fid.fid_pad \
426 - (char *) &(handle)) \ 409 - (char *) &(handle)) \
427 + (handle).ha_fid.xfs_fid_len) 410 + (handle).ha_fid.fid_len)
428 411
429/* 412/*
430 * Flags for going down operation 413 * Flags for going down operation