diff options
author | Anton Altaparmakov <aia21@cantab.net> | 2005-09-08 18:03:30 -0400 |
---|---|---|
committer | Anton Altaparmakov <aia21@cantab.net> | 2005-09-08 18:03:30 -0400 |
commit | 223176bc722a7bf519904180e956292ae1d1e819 (patch) | |
tree | 75b84d09c4b6eed81e537a4e587236f05faa5b7d /fs | |
parent | 7d333d6c739a5cd6d60102ea1a9940cbbb0546ec (diff) | |
parent | 1b11d78cf87a7014f96e5b7fa2e1233cc8081a00 (diff) |
Merge branch 'master' of /usr/src/linux-2.6
Diffstat (limited to 'fs')
-rw-r--r-- | fs/xfs/Kconfig | 45 | ||||
-rw-r--r-- | fs/xfs/Makefile-linux-2.6 | 2 | ||||
-rw-r--r-- | fs/xfs/quota/Makefile-linux-2.6 | 8 | ||||
-rw-r--r-- | fs/xfs/xfs_arch.h | 22 | ||||
-rw-r--r-- | fs/xfs/xfs_bmap_btree.c | 8 | ||||
-rw-r--r-- | fs/xfs/xfs_bmap_btree.h | 12 | ||||
-rw-r--r-- | fs/xfs/xfs_dir_leaf.h | 6 | ||||
-rw-r--r-- | fs/xfs/xfs_inode_item.c | 4 | ||||
-rw-r--r-- | fs/xfs/xfs_log_priv.h | 10 |
9 files changed, 58 insertions, 59 deletions
diff --git a/fs/xfs/Kconfig b/fs/xfs/Kconfig index c92306f0fdc5..8e8f32dabe53 100644 --- a/fs/xfs/Kconfig +++ b/fs/xfs/Kconfig | |||
@@ -1,5 +1,3 @@ | |||
1 | menu "XFS support" | ||
2 | |||
3 | config XFS_FS | 1 | config XFS_FS |
4 | tristate "XFS filesystem support" | 2 | tristate "XFS filesystem support" |
5 | select EXPORTFS if NFSD!=n | 3 | select EXPORTFS if NFSD!=n |
@@ -22,27 +20,11 @@ config XFS_FS | |||
22 | 20 | ||
23 | config XFS_EXPORT | 21 | config XFS_EXPORT |
24 | bool | 22 | bool |
25 | default y if XFS_FS && EXPORTFS | 23 | depends on XFS_FS && EXPORTFS |
26 | 24 | default y | |
27 | config XFS_RT | ||
28 | bool "Realtime support (EXPERIMENTAL)" | ||
29 | depends on XFS_FS && EXPERIMENTAL | ||
30 | help | ||
31 | If you say Y here you will be able to mount and use XFS filesystems | ||
32 | which contain a realtime subvolume. The realtime subvolume is a | ||
33 | separate area of disk space where only file data is stored. The | ||
34 | realtime subvolume is designed to provide very deterministic | ||
35 | data rates suitable for media streaming applications. | ||
36 | |||
37 | See the xfs man page in section 5 for a bit more information. | ||
38 | |||
39 | This feature is unsupported at this time, is not yet fully | ||
40 | functional, and may cause serious problems. | ||
41 | |||
42 | If unsure, say N. | ||
43 | 25 | ||
44 | config XFS_QUOTA | 26 | config XFS_QUOTA |
45 | bool "Quota support" | 27 | tristate "XFS Quota support" |
46 | depends on XFS_FS | 28 | depends on XFS_FS |
47 | help | 29 | help |
48 | If you say Y here, you will be able to set limits for disk usage on | 30 | If you say Y here, you will be able to set limits for disk usage on |
@@ -59,7 +41,7 @@ config XFS_QUOTA | |||
59 | they are completely independent subsystems. | 41 | they are completely independent subsystems. |
60 | 42 | ||
61 | config XFS_SECURITY | 43 | config XFS_SECURITY |
62 | bool "Security Label support" | 44 | bool "XFS Security Label support" |
63 | depends on XFS_FS | 45 | depends on XFS_FS |
64 | help | 46 | help |
65 | Security labels support alternative access control models | 47 | Security labels support alternative access control models |
@@ -71,7 +53,7 @@ config XFS_SECURITY | |||
71 | extended attributes for inode security labels, say N. | 53 | extended attributes for inode security labels, say N. |
72 | 54 | ||
73 | config XFS_POSIX_ACL | 55 | config XFS_POSIX_ACL |
74 | bool "POSIX ACL support" | 56 | bool "XFS POSIX ACL support" |
75 | depends on XFS_FS | 57 | depends on XFS_FS |
76 | help | 58 | help |
77 | POSIX Access Control Lists (ACLs) support permissions for users and | 59 | POSIX Access Control Lists (ACLs) support permissions for users and |
@@ -82,4 +64,19 @@ config XFS_POSIX_ACL | |||
82 | 64 | ||
83 | If you don't know what Access Control Lists are, say N. | 65 | If you don't know what Access Control Lists are, say N. |
84 | 66 | ||
85 | endmenu | 67 | config XFS_RT |
68 | bool "XFS Realtime support (EXPERIMENTAL)" | ||
69 | depends on XFS_FS && EXPERIMENTAL | ||
70 | help | ||
71 | If you say Y here you will be able to mount and use XFS filesystems | ||
72 | which contain a realtime subvolume. The realtime subvolume is a | ||
73 | separate area of disk space where only file data is stored. The | ||
74 | realtime subvolume is designed to provide very deterministic | ||
75 | data rates suitable for media streaming applications. | ||
76 | |||
77 | See the xfs man page in section 5 for a bit more information. | ||
78 | |||
79 | This feature is unsupported at this time, is not yet fully | ||
80 | functional, and may cause serious problems. | ||
81 | |||
82 | If unsure, say N. | ||
diff --git a/fs/xfs/Makefile-linux-2.6 b/fs/xfs/Makefile-linux-2.6 index fbfcbe5a7cda..8e18ff157247 100644 --- a/fs/xfs/Makefile-linux-2.6 +++ b/fs/xfs/Makefile-linux-2.6 | |||
@@ -55,7 +55,7 @@ ifeq ($(CONFIG_XFS_TRACE),y) | |||
55 | endif | 55 | endif |
56 | 56 | ||
57 | obj-$(CONFIG_XFS_FS) += xfs.o | 57 | obj-$(CONFIG_XFS_FS) += xfs.o |
58 | obj-$(CONFIG_XFS_QUOTA) += quota/ | 58 | xfs-$(CONFIG_XFS_QUOTA) += quota/ |
59 | 59 | ||
60 | xfs-$(CONFIG_XFS_RT) += xfs_rtalloc.o | 60 | xfs-$(CONFIG_XFS_RT) += xfs_rtalloc.o |
61 | xfs-$(CONFIG_XFS_POSIX_ACL) += xfs_acl.o | 61 | xfs-$(CONFIG_XFS_POSIX_ACL) += xfs_acl.o |
diff --git a/fs/xfs/quota/Makefile-linux-2.6 b/fs/xfs/quota/Makefile-linux-2.6 index 8b7b676718b9..93e60e839355 100644 --- a/fs/xfs/quota/Makefile-linux-2.6 +++ b/fs/xfs/quota/Makefile-linux-2.6 | |||
@@ -41,13 +41,13 @@ ifeq ($(CONFIG_XFS_TRACE),y) | |||
41 | EXTRA_CFLAGS += -DXFS_VNODE_TRACE | 41 | EXTRA_CFLAGS += -DXFS_VNODE_TRACE |
42 | endif | 42 | endif |
43 | 43 | ||
44 | obj-$(CONFIG_XFS_QUOTA) += xfs_quota.o | 44 | xfs-$(CONFIG_XFS_QUOTA) += xfs_dquot.o \ |
45 | |||
46 | xfs_quota-y += xfs_dquot.o \ | ||
47 | xfs_dquot_item.o \ | 45 | xfs_dquot_item.o \ |
48 | xfs_trans_dquot.o \ | 46 | xfs_trans_dquot.o \ |
49 | xfs_qm_syscalls.o \ | 47 | xfs_qm_syscalls.o \ |
50 | xfs_qm_bhv.o \ | 48 | xfs_qm_bhv.o \ |
51 | xfs_qm.o | 49 | xfs_qm.o |
52 | 50 | ||
53 | xfs_quota-$(CONFIG_PROC_FS) += xfs_qm_stats.o | 51 | ifeq ($(CONFIG_XFS_QUOTA),y) |
52 | xfs-$(CONFIG_PROC_FS) += xfs_qm_stats.o | ||
53 | endif | ||
diff --git a/fs/xfs/xfs_arch.h b/fs/xfs/xfs_arch.h index ae35189b3d70..5ab0dd885b1b 100644 --- a/fs/xfs/xfs_arch.h +++ b/fs/xfs/xfs_arch.h | |||
@@ -40,22 +40,28 @@ | |||
40 | 40 | ||
41 | #include <asm/byteorder.h> | 41 | #include <asm/byteorder.h> |
42 | 42 | ||
43 | #ifdef __LITTLE_ENDIAN | ||
44 | # define __BYTE_ORDER __LITTLE_ENDIAN | ||
45 | #endif | ||
46 | #ifdef __BIG_ENDIAN | 43 | #ifdef __BIG_ENDIAN |
47 | # define __BYTE_ORDER __BIG_ENDIAN | 44 | #define XFS_NATIVE_HOST 1 |
45 | #else | ||
46 | #undef XFS_NATIVE_HOST | ||
47 | #endif | ||
48 | |||
49 | #else /* __KERNEL__ */ | ||
50 | |||
51 | #if __BYTE_ORDER == __BIG_ENDIAN | ||
52 | #define XFS_NATIVE_HOST 1 | ||
53 | #else | ||
54 | #undef XFS_NATIVE_HOST | ||
48 | #endif | 55 | #endif |
49 | 56 | ||
50 | #endif /* __KERNEL__ */ | 57 | #endif /* __KERNEL__ */ |
51 | 58 | ||
52 | /* do we need conversion? */ | 59 | /* do we need conversion? */ |
53 | |||
54 | #define ARCH_NOCONVERT 1 | 60 | #define ARCH_NOCONVERT 1 |
55 | #if __BYTE_ORDER == __LITTLE_ENDIAN | 61 | #ifdef XFS_NATIVE_HOST |
56 | # define ARCH_CONVERT 0 | ||
57 | #else | ||
58 | # define ARCH_CONVERT ARCH_NOCONVERT | 62 | # define ARCH_CONVERT ARCH_NOCONVERT |
63 | #else | ||
64 | # define ARCH_CONVERT 0 | ||
59 | #endif | 65 | #endif |
60 | 66 | ||
61 | /* generic swapping macros */ | 67 | /* generic swapping macros */ |
diff --git a/fs/xfs/xfs_bmap_btree.c b/fs/xfs/xfs_bmap_btree.c index 09c413576ba8..09a77b17565b 100644 --- a/fs/xfs/xfs_bmap_btree.c +++ b/fs/xfs/xfs_bmap_btree.c | |||
@@ -2017,7 +2017,7 @@ xfs_bmbt_get_state( | |||
2017 | ext_flag); | 2017 | ext_flag); |
2018 | } | 2018 | } |
2019 | 2019 | ||
2020 | #if __BYTE_ORDER != __BIG_ENDIAN | 2020 | #ifndef XFS_NATIVE_HOST |
2021 | /* Endian flipping versions of the bmbt extraction functions */ | 2021 | /* Endian flipping versions of the bmbt extraction functions */ |
2022 | void | 2022 | void |
2023 | xfs_bmbt_disk_get_all( | 2023 | xfs_bmbt_disk_get_all( |
@@ -2087,7 +2087,7 @@ xfs_bmbt_disk_get_state( | |||
2087 | return xfs_extent_state(xfs_bmbt_disk_get_blockcount(r), | 2087 | return xfs_extent_state(xfs_bmbt_disk_get_blockcount(r), |
2088 | ext_flag); | 2088 | ext_flag); |
2089 | } | 2089 | } |
2090 | #endif | 2090 | #endif /* XFS_NATIVE_HOST */ |
2091 | 2091 | ||
2092 | 2092 | ||
2093 | /* | 2093 | /* |
@@ -2531,7 +2531,7 @@ xfs_bmbt_set_allf( | |||
2531 | #endif /* XFS_BIG_BLKNOS */ | 2531 | #endif /* XFS_BIG_BLKNOS */ |
2532 | } | 2532 | } |
2533 | 2533 | ||
2534 | #if __BYTE_ORDER != __BIG_ENDIAN | 2534 | #ifndef XFS_NATIVE_HOST |
2535 | /* | 2535 | /* |
2536 | * Set all the fields in a bmap extent record from the uncompressed form. | 2536 | * Set all the fields in a bmap extent record from the uncompressed form. |
2537 | */ | 2537 | */ |
@@ -2617,7 +2617,7 @@ xfs_bmbt_disk_set_allf( | |||
2617 | } | 2617 | } |
2618 | #endif /* XFS_BIG_BLKNOS */ | 2618 | #endif /* XFS_BIG_BLKNOS */ |
2619 | } | 2619 | } |
2620 | #endif | 2620 | #endif /* XFS_NATIVE_HOST */ |
2621 | 2621 | ||
2622 | /* | 2622 | /* |
2623 | * Set the blockcount field in a bmap extent record. | 2623 | * Set the blockcount field in a bmap extent record. |
diff --git a/fs/xfs/xfs_bmap_btree.h b/fs/xfs/xfs_bmap_btree.h index 0a40cf126c28..2cf4fe45cbcb 100644 --- a/fs/xfs/xfs_bmap_btree.h +++ b/fs/xfs/xfs_bmap_btree.h | |||
@@ -62,7 +62,7 @@ typedef struct xfs_bmdr_block | |||
62 | * l1:0-20 are blockcount. | 62 | * l1:0-20 are blockcount. |
63 | */ | 63 | */ |
64 | 64 | ||
65 | #if __BYTE_ORDER == __LITTLE_ENDIAN | 65 | #ifndef XFS_NATIVE_HOST |
66 | 66 | ||
67 | #define BMBT_TOTAL_BITLEN 128 /* 128 bits, 16 bytes */ | 67 | #define BMBT_TOTAL_BITLEN 128 /* 128 bits, 16 bytes */ |
68 | #define BMBT_EXNTFLAG_BITOFF 0 | 68 | #define BMBT_EXNTFLAG_BITOFF 0 |
@@ -87,7 +87,7 @@ typedef struct xfs_bmdr_block | |||
87 | #define BMBT_BLOCKCOUNT_BITOFF 64 /* Start of second 64 bit container */ | 87 | #define BMBT_BLOCKCOUNT_BITOFF 64 /* Start of second 64 bit container */ |
88 | #define BMBT_BLOCKCOUNT_BITLEN 21 | 88 | #define BMBT_BLOCKCOUNT_BITLEN 21 |
89 | 89 | ||
90 | #endif | 90 | #endif /* XFS_NATIVE_HOST */ |
91 | 91 | ||
92 | 92 | ||
93 | #define BMBT_USE_64 1 | 93 | #define BMBT_USE_64 1 |
@@ -505,7 +505,7 @@ xfs_exntst_t | |||
505 | xfs_bmbt_get_state( | 505 | xfs_bmbt_get_state( |
506 | xfs_bmbt_rec_t *r); | 506 | xfs_bmbt_rec_t *r); |
507 | 507 | ||
508 | #if __BYTE_ORDER != __BIG_ENDIAN | 508 | #ifndef XFS_NATIVE_HOST |
509 | void | 509 | void |
510 | xfs_bmbt_disk_get_all( | 510 | xfs_bmbt_disk_get_all( |
511 | xfs_bmbt_rec_t *r, | 511 | xfs_bmbt_rec_t *r, |
@@ -538,7 +538,7 @@ xfs_bmbt_disk_get_startoff( | |||
538 | xfs_bmbt_get_blockcount(r) | 538 | xfs_bmbt_get_blockcount(r) |
539 | #define xfs_bmbt_disk_get_startoff(r) \ | 539 | #define xfs_bmbt_disk_get_startoff(r) \ |
540 | xfs_bmbt_get_startoff(r) | 540 | xfs_bmbt_get_startoff(r) |
541 | #endif | 541 | #endif /* XFS_NATIVE_HOST */ |
542 | 542 | ||
543 | int | 543 | int |
544 | xfs_bmbt_increment( | 544 | xfs_bmbt_increment( |
@@ -623,7 +623,7 @@ xfs_bmbt_set_state( | |||
623 | xfs_bmbt_rec_t *r, | 623 | xfs_bmbt_rec_t *r, |
624 | xfs_exntst_t v); | 624 | xfs_exntst_t v); |
625 | 625 | ||
626 | #if __BYTE_ORDER != __BIG_ENDIAN | 626 | #ifndef XFS_NATIVE_HOST |
627 | void | 627 | void |
628 | xfs_bmbt_disk_set_all( | 628 | xfs_bmbt_disk_set_all( |
629 | xfs_bmbt_rec_t *r, | 629 | xfs_bmbt_rec_t *r, |
@@ -641,7 +641,7 @@ xfs_bmbt_disk_set_allf( | |||
641 | xfs_bmbt_set_all(r, s) | 641 | xfs_bmbt_set_all(r, s) |
642 | #define xfs_bmbt_disk_set_allf(r, o, b, c, v) \ | 642 | #define xfs_bmbt_disk_set_allf(r, o, b, c, v) \ |
643 | xfs_bmbt_set_allf(r, o, b, c, v) | 643 | xfs_bmbt_set_allf(r, o, b, c, v) |
644 | #endif | 644 | #endif /* XFS_NATIVE_HOST */ |
645 | 645 | ||
646 | void | 646 | void |
647 | xfs_bmbt_to_bmdr( | 647 | xfs_bmbt_to_bmdr( |
diff --git a/fs/xfs/xfs_dir_leaf.h b/fs/xfs/xfs_dir_leaf.h index dd423ce1bc8d..480bffc1f29f 100644 --- a/fs/xfs/xfs_dir_leaf.h +++ b/fs/xfs/xfs_dir_leaf.h | |||
@@ -127,13 +127,13 @@ typedef union { | |||
127 | * Watch the order here (endian-ness dependent). | 127 | * Watch the order here (endian-ness dependent). |
128 | */ | 128 | */ |
129 | struct { | 129 | struct { |
130 | #if __BYTE_ORDER == __LITTLE_ENDIAN | 130 | #ifndef XFS_NATIVE_HOST |
131 | xfs_dahash_t h; /* hash value */ | 131 | xfs_dahash_t h; /* hash value */ |
132 | __uint32_t be; /* block and entry */ | 132 | __uint32_t be; /* block and entry */ |
133 | #else /* __BYTE_ORDER == __BIG_ENDIAN */ | 133 | #else |
134 | __uint32_t be; /* block and entry */ | 134 | __uint32_t be; /* block and entry */ |
135 | xfs_dahash_t h; /* hash value */ | 135 | xfs_dahash_t h; /* hash value */ |
136 | #endif /* __BYTE_ORDER == __BIG_ENDIAN */ | 136 | #endif /* XFS_NATIVE_HOST */ |
137 | } s; | 137 | } s; |
138 | } xfs_dircook_t; | 138 | } xfs_dircook_t; |
139 | 139 | ||
diff --git a/fs/xfs/xfs_inode_item.c b/fs/xfs/xfs_inode_item.c index 276ec70eb7f9..50e2cadf9091 100644 --- a/fs/xfs/xfs_inode_item.c +++ b/fs/xfs/xfs_inode_item.c | |||
@@ -341,7 +341,7 @@ xfs_inode_item_format( | |||
341 | nrecs = ip->i_df.if_bytes / | 341 | nrecs = ip->i_df.if_bytes / |
342 | (uint)sizeof(xfs_bmbt_rec_t); | 342 | (uint)sizeof(xfs_bmbt_rec_t); |
343 | ASSERT(nrecs > 0); | 343 | ASSERT(nrecs > 0); |
344 | #if __BYTE_ORDER == __BIG_ENDIAN | 344 | #ifdef XFS_NATIVE_HOST |
345 | if (nrecs == ip->i_d.di_nextents) { | 345 | if (nrecs == ip->i_d.di_nextents) { |
346 | /* | 346 | /* |
347 | * There are no delayed allocation | 347 | * There are no delayed allocation |
@@ -473,7 +473,7 @@ xfs_inode_item_format( | |||
473 | #endif | 473 | #endif |
474 | ASSERT(nrecs > 0); | 474 | ASSERT(nrecs > 0); |
475 | ASSERT(nrecs == ip->i_d.di_anextents); | 475 | ASSERT(nrecs == ip->i_d.di_anextents); |
476 | #if __BYTE_ORDER == __BIG_ENDIAN | 476 | #ifdef XFS_NATIVE_HOST |
477 | /* | 477 | /* |
478 | * There are not delayed allocation extents | 478 | * There are not delayed allocation extents |
479 | * for attributes, so just point at the array. | 479 | * for attributes, so just point at the array. |
diff --git a/fs/xfs/xfs_log_priv.h b/fs/xfs/xfs_log_priv.h index eb7fdc6ebc32..a884cea82fca 100644 --- a/fs/xfs/xfs_log_priv.h +++ b/fs/xfs/xfs_log_priv.h | |||
@@ -112,7 +112,7 @@ struct xfs_mount; | |||
112 | * this has endian issues, of course. | 112 | * this has endian issues, of course. |
113 | */ | 113 | */ |
114 | 114 | ||
115 | #if __BYTE_ORDER == __LITTLE_ENDIAN | 115 | #ifndef XFS_NATIVE_HOST |
116 | #define GET_CLIENT_ID(i,arch) \ | 116 | #define GET_CLIENT_ID(i,arch) \ |
117 | ((i) & 0xff) | 117 | ((i) & 0xff) |
118 | #else | 118 | #else |
@@ -414,14 +414,10 @@ typedef struct xlog_op_header { | |||
414 | #define XLOG_FMT_IRIX_BE 3 | 414 | #define XLOG_FMT_IRIX_BE 3 |
415 | 415 | ||
416 | /* our fmt */ | 416 | /* our fmt */ |
417 | #if __BYTE_ORDER == __LITTLE_ENDIAN | 417 | #ifdef XFS_NATIVE_HOST |
418 | #define XLOG_FMT XLOG_FMT_LINUX_LE | ||
419 | #else | ||
420 | #if __BYTE_ORDER == __BIG_ENDIAN | ||
421 | #define XLOG_FMT XLOG_FMT_LINUX_BE | 418 | #define XLOG_FMT XLOG_FMT_LINUX_BE |
422 | #else | 419 | #else |
423 | #error unknown byte order | 420 | #define XLOG_FMT XLOG_FMT_LINUX_LE |
424 | #endif | ||
425 | #endif | 421 | #endif |
426 | 422 | ||
427 | typedef struct xlog_rec_header { | 423 | typedef struct xlog_rec_header { |