diff options
author | Christoph Hellwig <hch@lst.de> | 2008-02-23 18:23:51 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-23 20:12:15 -0500 |
commit | 45254b4fb2aef51c94a7397df1e481c4137b4b97 (patch) | |
tree | 3898868f385c9f96dd8147f7458ec74c2fe3828a /include/linux | |
parent | 48f15b93b2c9f4ec9b8af08ab78f7a27db7c8378 (diff) |
efs: move headers out of include/linux/
Merge include/linux/efs_fs{_i,_dir}.h into fs/efs/efs.h. efs_vh.h remains
there because this is the IRIX volume header and shouldn't really be
handled by efs but by the partitioning code. efs_sb.h remains there for
now because it's exported to userspace. Of course this wrong and aboot
should have a copy of it's own, but I'll leave that to a separate patch to
avoid any contention.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/efs_dir.h | 42 | ||||
-rw-r--r-- | include/linux/efs_fs.h | 56 | ||||
-rw-r--r-- | include/linux/efs_fs_i.h | 68 |
3 files changed, 0 insertions, 166 deletions
diff --git a/include/linux/efs_dir.h b/include/linux/efs_dir.h deleted file mode 100644 index a09ec010569c..000000000000 --- a/include/linux/efs_dir.h +++ /dev/null | |||
@@ -1,42 +0,0 @@ | |||
1 | /* | ||
2 | * efs_dir.h | ||
3 | * | ||
4 | * Copyright (c) 1999 Al Smith | ||
5 | */ | ||
6 | |||
7 | #ifndef __EFS_DIR_H__ | ||
8 | #define __EFS_DIR_H__ | ||
9 | |||
10 | #define EFS_DIRBSIZE_BITS EFS_BLOCKSIZE_BITS | ||
11 | #define EFS_DIRBSIZE (1 << EFS_DIRBSIZE_BITS) | ||
12 | |||
13 | struct efs_dentry { | ||
14 | __be32 inode; | ||
15 | unsigned char namelen; | ||
16 | char name[3]; | ||
17 | }; | ||
18 | |||
19 | #define EFS_DENTSIZE (sizeof(struct efs_dentry) - 3 + 1) | ||
20 | #define EFS_MAXNAMELEN ((1 << (sizeof(char) * 8)) - 1) | ||
21 | |||
22 | #define EFS_DIRBLK_HEADERSIZE 4 | ||
23 | #define EFS_DIRBLK_MAGIC 0xbeef /* moo */ | ||
24 | |||
25 | struct efs_dir { | ||
26 | __be16 magic; | ||
27 | unsigned char firstused; | ||
28 | unsigned char slots; | ||
29 | |||
30 | unsigned char space[EFS_DIRBSIZE - EFS_DIRBLK_HEADERSIZE]; | ||
31 | }; | ||
32 | |||
33 | #define EFS_MAXENTS \ | ||
34 | ((EFS_DIRBSIZE - EFS_DIRBLK_HEADERSIZE) / \ | ||
35 | (EFS_DENTSIZE + sizeof(char))) | ||
36 | |||
37 | #define EFS_SLOTAT(dir, slot) EFS_REALOFF((dir)->space[slot]) | ||
38 | |||
39 | #define EFS_REALOFF(offset) ((offset << 1)) | ||
40 | |||
41 | #endif /* __EFS_DIR_H__ */ | ||
42 | |||
diff --git a/include/linux/efs_fs.h b/include/linux/efs_fs.h deleted file mode 100644 index a695d63a07af..000000000000 --- a/include/linux/efs_fs.h +++ /dev/null | |||
@@ -1,56 +0,0 @@ | |||
1 | /* | ||
2 | * efs_fs.h | ||
3 | * | ||
4 | * Copyright (c) 1999 Al Smith | ||
5 | * | ||
6 | * Portions derived from work (c) 1995,1996 Christian Vogelgsang. | ||
7 | */ | ||
8 | |||
9 | #ifndef __EFS_FS_H__ | ||
10 | #define __EFS_FS_H__ | ||
11 | |||
12 | #define EFS_VERSION "1.0a" | ||
13 | |||
14 | static const char cprt[] = "EFS: "EFS_VERSION" - (c) 1999 Al Smith <Al.Smith@aeschi.ch.eu.org>"; | ||
15 | |||
16 | #include <asm/uaccess.h> | ||
17 | |||
18 | /* 1 block is 512 bytes */ | ||
19 | #define EFS_BLOCKSIZE_BITS 9 | ||
20 | #define EFS_BLOCKSIZE (1 << EFS_BLOCKSIZE_BITS) | ||
21 | |||
22 | #include <linux/fs.h> | ||
23 | #include <linux/efs_fs_i.h> | ||
24 | #include <linux/efs_fs_sb.h> | ||
25 | #include <linux/efs_dir.h> | ||
26 | |||
27 | static inline struct efs_inode_info *INODE_INFO(struct inode *inode) | ||
28 | { | ||
29 | return container_of(inode, struct efs_inode_info, vfs_inode); | ||
30 | } | ||
31 | |||
32 | static inline struct efs_sb_info *SUPER_INFO(struct super_block *sb) | ||
33 | { | ||
34 | return sb->s_fs_info; | ||
35 | } | ||
36 | |||
37 | struct statfs; | ||
38 | struct fid; | ||
39 | |||
40 | extern const struct inode_operations efs_dir_inode_operations; | ||
41 | extern const struct file_operations efs_dir_operations; | ||
42 | extern const struct address_space_operations efs_symlink_aops; | ||
43 | |||
44 | extern struct inode *efs_iget(struct super_block *, unsigned long); | ||
45 | extern efs_block_t efs_map_block(struct inode *, efs_block_t); | ||
46 | extern int efs_get_block(struct inode *, sector_t, struct buffer_head *, int); | ||
47 | |||
48 | extern struct dentry *efs_lookup(struct inode *, struct dentry *, struct nameidata *); | ||
49 | extern struct dentry *efs_fh_to_dentry(struct super_block *sb, struct fid *fid, | ||
50 | int fh_len, int fh_type); | ||
51 | extern struct dentry *efs_fh_to_parent(struct super_block *sb, struct fid *fid, | ||
52 | int fh_len, int fh_type); | ||
53 | extern struct dentry *efs_get_parent(struct dentry *); | ||
54 | extern int efs_bmap(struct inode *, int); | ||
55 | |||
56 | #endif /* __EFS_FS_H__ */ | ||
diff --git a/include/linux/efs_fs_i.h b/include/linux/efs_fs_i.h deleted file mode 100644 index 617c474ca659..000000000000 --- a/include/linux/efs_fs_i.h +++ /dev/null | |||
@@ -1,68 +0,0 @@ | |||
1 | /* | ||
2 | * efs_fs_i.h | ||
3 | * | ||
4 | * Copyright (c) 1999 Al Smith | ||
5 | * | ||
6 | * Portions derived from IRIX header files (c) 1988 Silicon Graphics | ||
7 | */ | ||
8 | |||
9 | #ifndef __EFS_FS_I_H__ | ||
10 | #define __EFS_FS_I_H__ | ||
11 | |||
12 | typedef int32_t efs_block_t; | ||
13 | typedef uint32_t efs_ino_t; | ||
14 | |||
15 | #define EFS_DIRECTEXTENTS 12 | ||
16 | |||
17 | /* | ||
18 | * layout of an extent, in memory and on disk. 8 bytes exactly. | ||
19 | */ | ||
20 | typedef union extent_u { | ||
21 | unsigned char raw[8]; | ||
22 | struct extent_s { | ||
23 | unsigned int ex_magic:8; /* magic # (zero) */ | ||
24 | unsigned int ex_bn:24; /* basic block */ | ||
25 | unsigned int ex_length:8; /* numblocks in this extent */ | ||
26 | unsigned int ex_offset:24; /* logical offset into file */ | ||
27 | } cooked; | ||
28 | } efs_extent; | ||
29 | |||
30 | typedef struct edevs { | ||
31 | __be16 odev; | ||
32 | __be32 ndev; | ||
33 | } efs_devs; | ||
34 | |||
35 | /* | ||
36 | * extent based filesystem inode as it appears on disk. The efs inode | ||
37 | * is exactly 128 bytes long. | ||
38 | */ | ||
39 | struct efs_dinode { | ||
40 | __be16 di_mode; /* mode and type of file */ | ||
41 | __be16 di_nlink; /* number of links to file */ | ||
42 | __be16 di_uid; /* owner's user id */ | ||
43 | __be16 di_gid; /* owner's group id */ | ||
44 | __be32 di_size; /* number of bytes in file */ | ||
45 | __be32 di_atime; /* time last accessed */ | ||
46 | __be32 di_mtime; /* time last modified */ | ||
47 | __be32 di_ctime; /* time created */ | ||
48 | __be32 di_gen; /* generation number */ | ||
49 | __be16 di_numextents; /* # of extents */ | ||
50 | u_char di_version; /* version of inode */ | ||
51 | u_char di_spare; /* spare - used by AFS */ | ||
52 | union di_addr { | ||
53 | efs_extent di_extents[EFS_DIRECTEXTENTS]; | ||
54 | efs_devs di_dev; /* device for IFCHR/IFBLK */ | ||
55 | } di_u; | ||
56 | }; | ||
57 | |||
58 | /* efs inode storage in memory */ | ||
59 | struct efs_inode_info { | ||
60 | int numextents; | ||
61 | int lastextent; | ||
62 | |||
63 | efs_extent extents[EFS_DIRECTEXTENTS]; | ||
64 | struct inode vfs_inode; | ||
65 | }; | ||
66 | |||
67 | #endif /* __EFS_FS_I_H__ */ | ||
68 | |||