Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 7852
b: refs/heads/master
c: 6a4b170
h: refs/heads/master
v: v3
  • Loading branch information
Linus Torvalds committed Sep 8, 2005
1 parent d8b7686 commit 7caa16d
Show file tree
Hide file tree
Showing 10 changed files with 59 additions and 60 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 64e47488c913ac704d465a6af86a26786d1412a5
refs/heads/master: 6a4b170c54289f427645019c52d1b9c871a6661e
45 changes: 21 additions & 24 deletions trunk/fs/xfs/Kconfig
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
menu "XFS support"

config XFS_FS
tristate "XFS filesystem support"
select EXPORTFS if NFSD!=n
Expand All @@ -22,27 +20,11 @@ config XFS_FS

config XFS_EXPORT
bool
default y if XFS_FS && EXPORTFS

config XFS_RT
bool "Realtime support (EXPERIMENTAL)"
depends on XFS_FS && EXPERIMENTAL
help
If you say Y here you will be able to mount and use XFS filesystems
which contain a realtime subvolume. The realtime subvolume is a
separate area of disk space where only file data is stored. The
realtime subvolume is designed to provide very deterministic
data rates suitable for media streaming applications.

See the xfs man page in section 5 for a bit more information.

This feature is unsupported at this time, is not yet fully
functional, and may cause serious problems.

If unsure, say N.
depends on XFS_FS && EXPORTFS
default y

config XFS_QUOTA
bool "Quota support"
tristate "XFS Quota support"
depends on XFS_FS
help
If you say Y here, you will be able to set limits for disk usage on
Expand All @@ -59,7 +41,7 @@ config XFS_QUOTA
they are completely independent subsystems.

config XFS_SECURITY
bool "Security Label support"
bool "XFS Security Label support"
depends on XFS_FS
help
Security labels support alternative access control models
Expand All @@ -71,7 +53,7 @@ config XFS_SECURITY
extended attributes for inode security labels, say N.

config XFS_POSIX_ACL
bool "POSIX ACL support"
bool "XFS POSIX ACL support"
depends on XFS_FS
help
POSIX Access Control Lists (ACLs) support permissions for users and
Expand All @@ -82,4 +64,19 @@ config XFS_POSIX_ACL

If you don't know what Access Control Lists are, say N.

endmenu
config XFS_RT
bool "XFS Realtime support (EXPERIMENTAL)"
depends on XFS_FS && EXPERIMENTAL
help
If you say Y here you will be able to mount and use XFS filesystems
which contain a realtime subvolume. The realtime subvolume is a
separate area of disk space where only file data is stored. The
realtime subvolume is designed to provide very deterministic
data rates suitable for media streaming applications.

See the xfs man page in section 5 for a bit more information.

This feature is unsupported at this time, is not yet fully
functional, and may cause serious problems.

If unsure, say N.
2 changes: 1 addition & 1 deletion trunk/fs/xfs/Makefile-linux-2.6
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ ifeq ($(CONFIG_XFS_TRACE),y)
endif

obj-$(CONFIG_XFS_FS) += xfs.o
obj-$(CONFIG_XFS_QUOTA) += quota/
xfs-$(CONFIG_XFS_QUOTA) += quota/

xfs-$(CONFIG_XFS_RT) += xfs_rtalloc.o
xfs-$(CONFIG_XFS_POSIX_ACL) += xfs_acl.o
Expand Down
8 changes: 4 additions & 4 deletions trunk/fs/xfs/quota/Makefile-linux-2.6
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,13 @@ ifeq ($(CONFIG_XFS_TRACE),y)
EXTRA_CFLAGS += -DXFS_VNODE_TRACE
endif

obj-$(CONFIG_XFS_QUOTA) += xfs_quota.o

xfs_quota-y += xfs_dquot.o \
xfs-$(CONFIG_XFS_QUOTA) += xfs_dquot.o \
xfs_dquot_item.o \
xfs_trans_dquot.o \
xfs_qm_syscalls.o \
xfs_qm_bhv.o \
xfs_qm.o

xfs_quota-$(CONFIG_PROC_FS) += xfs_qm_stats.o
ifeq ($(CONFIG_XFS_QUOTA),y)
xfs-$(CONFIG_PROC_FS) += xfs_qm_stats.o
endif
22 changes: 14 additions & 8 deletions trunk/fs/xfs/xfs_arch.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,22 +40,28 @@

#include <asm/byteorder.h>

#ifdef __LITTLE_ENDIAN
# define __BYTE_ORDER __LITTLE_ENDIAN
#endif
#ifdef __BIG_ENDIAN
# define __BYTE_ORDER __BIG_ENDIAN
#define XFS_NATIVE_HOST 1
#else
#undef XFS_NATIVE_HOST
#endif

#else /* __KERNEL__ */

#if __BYTE_ORDER == __BIG_ENDIAN
#define XFS_NATIVE_HOST 1
#else
#undef XFS_NATIVE_HOST
#endif

#endif /* __KERNEL__ */

/* do we need conversion? */

#define ARCH_NOCONVERT 1
#if __BYTE_ORDER == __LITTLE_ENDIAN
# define ARCH_CONVERT 0
#else
#ifdef XFS_NATIVE_HOST
# define ARCH_CONVERT ARCH_NOCONVERT
#else
# define ARCH_CONVERT 0
#endif

/* generic swapping macros */
Expand Down
8 changes: 4 additions & 4 deletions trunk/fs/xfs/xfs_bmap_btree.c
Original file line number Diff line number Diff line change
Expand Up @@ -2017,7 +2017,7 @@ xfs_bmbt_get_state(
ext_flag);
}

#if __BYTE_ORDER != __BIG_ENDIAN
#ifndef XFS_NATIVE_HOST
/* Endian flipping versions of the bmbt extraction functions */
void
xfs_bmbt_disk_get_all(
Expand Down Expand Up @@ -2087,7 +2087,7 @@ xfs_bmbt_disk_get_state(
return xfs_extent_state(xfs_bmbt_disk_get_blockcount(r),
ext_flag);
}
#endif
#endif /* XFS_NATIVE_HOST */


/*
Expand Down Expand Up @@ -2531,7 +2531,7 @@ xfs_bmbt_set_allf(
#endif /* XFS_BIG_BLKNOS */
}

#if __BYTE_ORDER != __BIG_ENDIAN
#ifndef XFS_NATIVE_HOST
/*
* Set all the fields in a bmap extent record from the uncompressed form.
*/
Expand Down Expand Up @@ -2617,7 +2617,7 @@ xfs_bmbt_disk_set_allf(
}
#endif /* XFS_BIG_BLKNOS */
}
#endif
#endif /* XFS_NATIVE_HOST */

/*
* Set the blockcount field in a bmap extent record.
Expand Down
12 changes: 6 additions & 6 deletions trunk/fs/xfs/xfs_bmap_btree.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ typedef struct xfs_bmdr_block
* l1:0-20 are blockcount.
*/

#if __BYTE_ORDER == __LITTLE_ENDIAN
#ifndef XFS_NATIVE_HOST

#define BMBT_TOTAL_BITLEN 128 /* 128 bits, 16 bytes */
#define BMBT_EXNTFLAG_BITOFF 0
Expand All @@ -87,7 +87,7 @@ typedef struct xfs_bmdr_block
#define BMBT_BLOCKCOUNT_BITOFF 64 /* Start of second 64 bit container */
#define BMBT_BLOCKCOUNT_BITLEN 21

#endif
#endif /* XFS_NATIVE_HOST */


#define BMBT_USE_64 1
Expand Down Expand Up @@ -505,7 +505,7 @@ xfs_exntst_t
xfs_bmbt_get_state(
xfs_bmbt_rec_t *r);

#if __BYTE_ORDER != __BIG_ENDIAN
#ifndef XFS_NATIVE_HOST
void
xfs_bmbt_disk_get_all(
xfs_bmbt_rec_t *r,
Expand Down Expand Up @@ -538,7 +538,7 @@ xfs_bmbt_disk_get_startoff(
xfs_bmbt_get_blockcount(r)
#define xfs_bmbt_disk_get_startoff(r) \
xfs_bmbt_get_startoff(r)
#endif
#endif /* XFS_NATIVE_HOST */

int
xfs_bmbt_increment(
Expand Down Expand Up @@ -623,7 +623,7 @@ xfs_bmbt_set_state(
xfs_bmbt_rec_t *r,
xfs_exntst_t v);

#if __BYTE_ORDER != __BIG_ENDIAN
#ifndef XFS_NATIVE_HOST
void
xfs_bmbt_disk_set_all(
xfs_bmbt_rec_t *r,
Expand All @@ -641,7 +641,7 @@ xfs_bmbt_disk_set_allf(
xfs_bmbt_set_all(r, s)
#define xfs_bmbt_disk_set_allf(r, o, b, c, v) \
xfs_bmbt_set_allf(r, o, b, c, v)
#endif
#endif /* XFS_NATIVE_HOST */

void
xfs_bmbt_to_bmdr(
Expand Down
6 changes: 3 additions & 3 deletions trunk/fs/xfs/xfs_dir_leaf.h
Original file line number Diff line number Diff line change
Expand Up @@ -127,13 +127,13 @@ typedef union {
* Watch the order here (endian-ness dependent).
*/
struct {
#if __BYTE_ORDER == __LITTLE_ENDIAN
#ifndef XFS_NATIVE_HOST
xfs_dahash_t h; /* hash value */
__uint32_t be; /* block and entry */
#else /* __BYTE_ORDER == __BIG_ENDIAN */
#else
__uint32_t be; /* block and entry */
xfs_dahash_t h; /* hash value */
#endif /* __BYTE_ORDER == __BIG_ENDIAN */
#endif /* XFS_NATIVE_HOST */
} s;
} xfs_dircook_t;

Expand Down
4 changes: 2 additions & 2 deletions trunk/fs/xfs/xfs_inode_item.c
Original file line number Diff line number Diff line change
Expand Up @@ -341,7 +341,7 @@ xfs_inode_item_format(
nrecs = ip->i_df.if_bytes /
(uint)sizeof(xfs_bmbt_rec_t);
ASSERT(nrecs > 0);
#if __BYTE_ORDER == __BIG_ENDIAN
#ifdef XFS_NATIVE_HOST
if (nrecs == ip->i_d.di_nextents) {
/*
* There are no delayed allocation
Expand Down Expand Up @@ -473,7 +473,7 @@ xfs_inode_item_format(
#endif
ASSERT(nrecs > 0);
ASSERT(nrecs == ip->i_d.di_anextents);
#if __BYTE_ORDER == __BIG_ENDIAN
#ifdef XFS_NATIVE_HOST
/*
* There are not delayed allocation extents
* for attributes, so just point at the array.
Expand Down
10 changes: 3 additions & 7 deletions trunk/fs/xfs/xfs_log_priv.h
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ struct xfs_mount;
* this has endian issues, of course.
*/

#if __BYTE_ORDER == __LITTLE_ENDIAN
#ifndef XFS_NATIVE_HOST
#define GET_CLIENT_ID(i,arch) \
((i) & 0xff)
#else
Expand Down Expand Up @@ -414,14 +414,10 @@ typedef struct xlog_op_header {
#define XLOG_FMT_IRIX_BE 3

/* our fmt */
#if __BYTE_ORDER == __LITTLE_ENDIAN
#define XLOG_FMT XLOG_FMT_LINUX_LE
#else
#if __BYTE_ORDER == __BIG_ENDIAN
#ifdef XFS_NATIVE_HOST
#define XLOG_FMT XLOG_FMT_LINUX_BE
#else
#error unknown byte order
#endif
#define XLOG_FMT XLOG_FMT_LINUX_LE
#endif

typedef struct xlog_rec_header {
Expand Down

0 comments on commit 7caa16d

Please sign in to comment.