diff options
author | Nathan Scott <nathans@sgi.com> | 2005-05-05 16:25:00 -0400 |
---|---|---|
committer | Christoph Hellwig <hch@melbourne.sgi.com> | 2005-05-05 16:25:00 -0400 |
commit | 31b084aef3f088962f56c100b31bb8479c5dd769 (patch) | |
tree | 855685aced7ce0c25fc250875ad0428ea7f63448 /fs/xfs | |
parent | de20614b351e4d4d23af0a105baa8fd2d7cd4f26 (diff) |
[XFS] Fix up uses of nlink_t incorrectly restricting us to 2^16 links for some platforms
SGI Modid: xfs-linux:xfs-kern:22032a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Signed-off-by: Christoph Hellwig <hch@sgi.com>
Diffstat (limited to 'fs/xfs')
-rw-r--r-- | fs/xfs/linux-2.6/xfs_vnode.h | 2 | ||||
-rw-r--r-- | fs/xfs/xfs_inode.c | 2 | ||||
-rw-r--r-- | fs/xfs/xfs_inode.h | 6 | ||||
-rw-r--r-- | fs/xfs/xfs_types.h | 1 | ||||
-rw-r--r-- | fs/xfs/xfs_utils.c | 2 | ||||
-rw-r--r-- | fs/xfs/xfs_utils.h | 2 |
6 files changed, 8 insertions, 7 deletions
diff --git a/fs/xfs/linux-2.6/xfs_vnode.h b/fs/xfs/linux-2.6/xfs_vnode.h index da76c1f1e11c..7cff0f3e9bc3 100644 --- a/fs/xfs/linux-2.6/xfs_vnode.h +++ b/fs/xfs/linux-2.6/xfs_vnode.h | |||
@@ -409,7 +409,7 @@ typedef struct vattr { | |||
409 | int va_mask; /* bit-mask of attributes present */ | 409 | int va_mask; /* bit-mask of attributes present */ |
410 | enum vtype va_type; /* vnode type (for create) */ | 410 | enum vtype va_type; /* vnode type (for create) */ |
411 | mode_t va_mode; /* file access mode and type */ | 411 | mode_t va_mode; /* file access mode and type */ |
412 | nlink_t va_nlink; /* number of references to file */ | 412 | xfs_nlink_t va_nlink; /* number of references to file */ |
413 | uid_t va_uid; /* owner user id */ | 413 | uid_t va_uid; /* owner user id */ |
414 | gid_t va_gid; /* owner group id */ | 414 | gid_t va_gid; /* owner group id */ |
415 | xfs_ino_t va_nodeid; /* file id */ | 415 | xfs_ino_t va_nodeid; /* file id */ |
diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index 43c632ab86ad..bc8c8c7f9039 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c | |||
@@ -1130,7 +1130,7 @@ xfs_ialloc( | |||
1130 | xfs_trans_t *tp, | 1130 | xfs_trans_t *tp, |
1131 | xfs_inode_t *pip, | 1131 | xfs_inode_t *pip, |
1132 | mode_t mode, | 1132 | mode_t mode, |
1133 | nlink_t nlink, | 1133 | xfs_nlink_t nlink, |
1134 | xfs_dev_t rdev, | 1134 | xfs_dev_t rdev, |
1135 | cred_t *cr, | 1135 | cred_t *cr, |
1136 | xfs_prid_t prid, | 1136 | xfs_prid_t prid, |
diff --git a/fs/xfs/xfs_inode.h b/fs/xfs/xfs_inode.h index a53b1ccf6070..37e1c316f3b6 100644 --- a/fs/xfs/xfs_inode.h +++ b/fs/xfs/xfs_inode.h | |||
@@ -495,9 +495,9 @@ int xfs_itobp(struct xfs_mount *, struct xfs_trans *, | |||
495 | int xfs_iread(struct xfs_mount *, struct xfs_trans *, xfs_ino_t, | 495 | int xfs_iread(struct xfs_mount *, struct xfs_trans *, xfs_ino_t, |
496 | xfs_inode_t **, xfs_daddr_t); | 496 | xfs_inode_t **, xfs_daddr_t); |
497 | int xfs_iread_extents(struct xfs_trans *, xfs_inode_t *, int); | 497 | int xfs_iread_extents(struct xfs_trans *, xfs_inode_t *, int); |
498 | int xfs_ialloc(struct xfs_trans *, xfs_inode_t *, mode_t, nlink_t, | 498 | int xfs_ialloc(struct xfs_trans *, xfs_inode_t *, mode_t, |
499 | xfs_dev_t, struct cred *, xfs_prid_t, int, | 499 | xfs_nlink_t, xfs_dev_t, struct cred *, xfs_prid_t, |
500 | struct xfs_buf **, boolean_t *, xfs_inode_t **); | 500 | int, struct xfs_buf **, boolean_t *, xfs_inode_t **); |
501 | void xfs_xlate_dinode_core(xfs_caddr_t, struct xfs_dinode_core *, | 501 | void xfs_xlate_dinode_core(xfs_caddr_t, struct xfs_dinode_core *, |
502 | int); | 502 | int); |
503 | uint xfs_ip2xflags(struct xfs_inode *); | 503 | uint xfs_ip2xflags(struct xfs_inode *); |
diff --git a/fs/xfs/xfs_types.h b/fs/xfs/xfs_types.h index 04609d27ea51..e4bf711e48ff 100644 --- a/fs/xfs/xfs_types.h +++ b/fs/xfs/xfs_types.h | |||
@@ -63,6 +63,7 @@ typedef __u64 xfs_ino_t; /* <inode> type */ | |||
63 | typedef __s64 xfs_daddr_t; /* <disk address> type */ | 63 | typedef __s64 xfs_daddr_t; /* <disk address> type */ |
64 | typedef char * xfs_caddr_t; /* <core address> type */ | 64 | typedef char * xfs_caddr_t; /* <core address> type */ |
65 | typedef __u32 xfs_dev_t; | 65 | typedef __u32 xfs_dev_t; |
66 | typedef __u32 xfs_nlink_t; | ||
66 | 67 | ||
67 | /* __psint_t is the same size as a pointer */ | 68 | /* __psint_t is the same size as a pointer */ |
68 | #if (BITS_PER_LONG == 32) | 69 | #if (BITS_PER_LONG == 32) |
diff --git a/fs/xfs/xfs_utils.c b/fs/xfs/xfs_utils.c index 816b945fa0ea..d1f8146a06ea 100644 --- a/fs/xfs/xfs_utils.c +++ b/fs/xfs/xfs_utils.c | |||
@@ -147,7 +147,7 @@ xfs_dir_ialloc( | |||
147 | xfs_inode_t *dp, /* directory within whose allocate | 147 | xfs_inode_t *dp, /* directory within whose allocate |
148 | the inode. */ | 148 | the inode. */ |
149 | mode_t mode, | 149 | mode_t mode, |
150 | nlink_t nlink, | 150 | xfs_nlink_t nlink, |
151 | xfs_dev_t rdev, | 151 | xfs_dev_t rdev, |
152 | cred_t *credp, | 152 | cred_t *credp, |
153 | prid_t prid, /* project id */ | 153 | prid_t prid, /* project id */ |
diff --git a/fs/xfs/xfs_utils.h b/fs/xfs/xfs_utils.h index e1ed6a588000..01d98b4b7af7 100644 --- a/fs/xfs/xfs_utils.h +++ b/fs/xfs/xfs_utils.h | |||
@@ -42,7 +42,7 @@ extern int xfs_get_dir_entry (vname_t *, xfs_inode_t **); | |||
42 | extern int xfs_dir_lookup_int (bhv_desc_t *, uint, vname_t *, xfs_ino_t *, | 42 | extern int xfs_dir_lookup_int (bhv_desc_t *, uint, vname_t *, xfs_ino_t *, |
43 | xfs_inode_t **); | 43 | xfs_inode_t **); |
44 | extern int xfs_truncate_file (xfs_mount_t *, xfs_inode_t *); | 44 | extern int xfs_truncate_file (xfs_mount_t *, xfs_inode_t *); |
45 | extern int xfs_dir_ialloc (xfs_trans_t **, xfs_inode_t *, mode_t, nlink_t, | 45 | extern int xfs_dir_ialloc (xfs_trans_t **, xfs_inode_t *, mode_t, xfs_nlink_t, |
46 | xfs_dev_t, cred_t *, prid_t, int, | 46 | xfs_dev_t, cred_t *, prid_t, int, |
47 | xfs_inode_t **, int *); | 47 | xfs_inode_t **, int *); |
48 | extern int xfs_droplink (xfs_trans_t *, xfs_inode_t *); | 48 | extern int xfs_droplink (xfs_trans_t *, xfs_inode_t *); |