efs: move headers out of include/linux/
authorChristoph Hellwig <hch@lst.de>
Sat, 23 Feb 2008 23:23:51 +0000 (15:23 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Sun, 24 Feb 2008 01:12:15 +0000 (17:12 -0800)
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>
fs/efs/dir.c
fs/efs/efs.h [new file with mode: 0644]
fs/efs/file.c
fs/efs/inode.c
fs/efs/namei.c
fs/efs/super.c
fs/efs/symlink.c
include/linux/efs_dir.h [deleted file]
include/linux/efs_fs.h [deleted file]
include/linux/efs_fs_i.h [deleted file]

index dfb5cb400217c983dba9a6503ca1f098db07758e..49308a29798a8eb77b04f7804b5f244fb99d8887 100644 (file)
@@ -5,8 +5,8 @@
  */
 
 #include <linux/buffer_head.h>
-#include <linux/efs_fs.h>
 #include <linux/smp_lock.h>
+#include "efs.h"
 
 static int efs_readdir(struct file *, void *, filldir_t);
 
diff --git a/fs/efs/efs.h b/fs/efs/efs.h
new file mode 100644 (file)
index 0000000..d8305b5
--- /dev/null
@@ -0,0 +1,140 @@
+/*
+ * Copyright (c) 1999 Al Smith
+ *
+ * Portions derived from work (c) 1995,1996 Christian Vogelgsang.
+ * Portions derived from IRIX header files (c) 1988 Silicon Graphics
+ */
+#ifndef _EFS_EFS_H_
+#define _EFS_EFS_H_
+
+#include <linux/fs.h>
+#include <asm/uaccess.h>
+
+#define EFS_VERSION "1.0a"
+
+static const char cprt[] = "EFS: "EFS_VERSION" - (c) 1999 Al Smith <Al.Smith@aeschi.ch.eu.org>";
+
+
+/* 1 block is 512 bytes */
+#define        EFS_BLOCKSIZE_BITS      9
+#define        EFS_BLOCKSIZE           (1 << EFS_BLOCKSIZE_BITS)
+
+typedef        int32_t         efs_block_t;
+typedef uint32_t       efs_ino_t;
+
+#define        EFS_DIRECTEXTENTS       12
+
+/*
+ * layout of an extent, in memory and on disk. 8 bytes exactly.
+ */
+typedef union extent_u {
+       unsigned char raw[8];
+       struct extent_s {
+               unsigned int    ex_magic:8;     /* magic # (zero) */
+               unsigned int    ex_bn:24;       /* basic block */
+               unsigned int    ex_length:8;    /* numblocks in this extent */
+               unsigned int    ex_offset:24;   /* logical offset into file */
+       } cooked;
+} efs_extent;
+
+typedef struct edevs {
+       __be16          odev;
+       __be32          ndev;
+} efs_devs;
+
+/*
+ * extent based filesystem inode as it appears on disk.  The efs inode
+ * is exactly 128 bytes long.
+ */
+struct efs_dinode {
+       __be16          di_mode;        /* mode and type of file */
+       __be16          di_nlink;       /* number of links to file */
+       __be16          di_uid;         /* owner's user id */
+       __be16          di_gid;         /* owner's group id */
+       __be32          di_size;        /* number of bytes in file */
+       __be32          di_atime;       /* time last accessed */
+       __be32          di_mtime;       /* time last modified */
+       __be32          di_ctime;       /* time created */
+       __be32          di_gen;         /* generation number */
+       __be16          di_numextents;  /* # of extents */
+       u_char          di_version;     /* version of inode */
+       u_char          di_spare;       /* spare - used by AFS */
+       union di_addr {
+               efs_extent      di_extents[EFS_DIRECTEXTENTS];
+               efs_devs        di_dev; /* device for IFCHR/IFBLK */
+       } di_u;
+};
+
+/* efs inode storage in memory */
+struct efs_inode_info {
+       int             numextents;
+       int             lastextent;
+
+       efs_extent      extents[EFS_DIRECTEXTENTS];
+       struct inode    vfs_inode;
+};
+
+#include <linux/efs_fs_sb.h>
+
+#define EFS_DIRBSIZE_BITS      EFS_BLOCKSIZE_BITS
+#define EFS_DIRBSIZE           (1 << EFS_DIRBSIZE_BITS)
+
+struct efs_dentry {
+       __be32          inode;
+       unsigned char   namelen;
+       char            name[3];
+};
+
+#define EFS_DENTSIZE   (sizeof(struct efs_dentry) - 3 + 1)
+#define EFS_MAXNAMELEN  ((1 << (sizeof(char) * 8)) - 1)
+
+#define EFS_DIRBLK_HEADERSIZE  4
+#define EFS_DIRBLK_MAGIC       0xbeef  /* moo */
+
+struct efs_dir {
+       __be16  magic;
+       unsigned char   firstused;
+       unsigned char   slots;
+
+       unsigned char   space[EFS_DIRBSIZE - EFS_DIRBLK_HEADERSIZE];
+};
+
+#define EFS_MAXENTS \
+       ((EFS_DIRBSIZE - EFS_DIRBLK_HEADERSIZE) / \
+        (EFS_DENTSIZE + sizeof(char)))
+
+#define EFS_SLOTAT(dir, slot) EFS_REALOFF((dir)->space[slot])
+
+#define EFS_REALOFF(offset) ((offset << 1))
+
+
+static inline struct efs_inode_info *INODE_INFO(struct inode *inode)
+{
+       return container_of(inode, struct efs_inode_info, vfs_inode);
+}
+
+static inline struct efs_sb_info *SUPER_INFO(struct super_block *sb)
+{
+       return sb->s_fs_info;
+}
+
+struct statfs;
+struct fid;
+
+extern const struct inode_operations efs_dir_inode_operations;
+extern const struct file_operations efs_dir_operations;
+extern const struct address_space_operations efs_symlink_aops;
+
+extern struct inode *efs_iget(struct super_block *, unsigned long);
+extern efs_block_t efs_map_block(struct inode *, efs_block_t);
+extern int efs_get_block(struct inode *, sector_t, struct buffer_head *, int);
+
+extern struct dentry *efs_lookup(struct inode *, struct dentry *, struct nameidata *);
+extern struct dentry *efs_fh_to_dentry(struct super_block *sb, struct fid *fid,
+               int fh_len, int fh_type);
+extern struct dentry *efs_fh_to_parent(struct super_block *sb, struct fid *fid,
+               int fh_len, int fh_type);
+extern struct dentry *efs_get_parent(struct dentry *);
+extern int efs_bmap(struct inode *, int);
+
+#endif /* _EFS_EFS_H_ */
index 5db20129681edacc1e8686c58aecdf634b635c61..1ccb364ffa63b2927c9a838008b4abb611f71e55 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 #include <linux/buffer_head.h>
-#include <linux/efs_fs.h>
+#include "efs.h"
 
 int efs_get_block(struct inode *inode, sector_t iblock,
                  struct buffer_head *bh_result, int create)
index 627c3026946dcea30225a825f7335fb8c64ea454..79e19e5958e162cc6909180546083b5bdfd4b6d7 100644 (file)
@@ -7,11 +7,11 @@
  *              and from work (c) 1998 Mike Shaver.
  */
 
-#include <linux/efs_fs.h>
-#include <linux/efs_fs_sb.h>
 #include <linux/buffer_head.h>
 #include <linux/module.h>
 #include <linux/fs.h>
+#include "efs.h"
+#include <linux/efs_fs_sb.h>
 
 static int efs_readpage(struct file *file, struct page *page)
 {
index e26704742d410df10af191bd2964ba70161d1b64..3a404e7fad5303ad03bbef6cdae5730734e983ab 100644 (file)
@@ -8,9 +8,9 @@
 
 #include <linux/buffer_head.h>
 #include <linux/string.h>
-#include <linux/efs_fs.h>
 #include <linux/smp_lock.h>
 #include <linux/exportfs.h>
+#include "efs.h"
 
 
 static efs_ino_t efs_find_entry(struct inode *inode, const char *name, int len) {
index 14082405cdd16b7eb7fdde3367a4e339c36b37ce..d733531b55e2653bff6d49bef4a7f62dafb0340c 100644 (file)
@@ -8,14 +8,15 @@
 
 #include <linux/init.h>
 #include <linux/module.h>
-#include <linux/efs_fs.h>
-#include <linux/efs_vh.h>
-#include <linux/efs_fs_sb.h>
 #include <linux/exportfs.h>
 #include <linux/slab.h>
 #include <linux/buffer_head.h>
 #include <linux/vfs.h>
 
+#include "efs.h"
+#include <linux/efs_vh.h>
+#include <linux/efs_fs_sb.h>
+
 static int efs_statfs(struct dentry *dentry, struct kstatfs *buf);
 static int efs_fill_super(struct super_block *s, void *d, int silent);
 
index 1d30d2ff440fa3fecb7448b25416dd8a2c13abfa..41911ec83aafcb1d42d3af9e7c98b33cc37b20de 100644 (file)
@@ -7,10 +7,10 @@
  */
 
 #include <linux/string.h>
-#include <linux/efs_fs.h>
 #include <linux/pagemap.h>
 #include <linux/buffer_head.h>
 #include <linux/smp_lock.h>
+#include "efs.h"
 
 static int efs_symlink_readpage(struct file *file, struct page *page)
 {
diff --git a/include/linux/efs_dir.h b/include/linux/efs_dir.h
deleted file mode 100644 (file)
index a09ec01..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * efs_dir.h
- *
- * Copyright (c) 1999 Al Smith
- */
-
-#ifndef __EFS_DIR_H__
-#define __EFS_DIR_H__
-
-#define EFS_DIRBSIZE_BITS      EFS_BLOCKSIZE_BITS
-#define EFS_DIRBSIZE           (1 << EFS_DIRBSIZE_BITS)
-
-struct efs_dentry {
-       __be32          inode;
-       unsigned char   namelen;
-       char            name[3];
-};
-
-#define EFS_DENTSIZE   (sizeof(struct efs_dentry) - 3 + 1)
-#define EFS_MAXNAMELEN  ((1 << (sizeof(char) * 8)) - 1)
-
-#define EFS_DIRBLK_HEADERSIZE  4
-#define EFS_DIRBLK_MAGIC       0xbeef  /* moo */
-
-struct efs_dir {
-       __be16  magic;
-       unsigned char   firstused;
-       unsigned char   slots;
-
-       unsigned char   space[EFS_DIRBSIZE - EFS_DIRBLK_HEADERSIZE];
-};
-
-#define EFS_MAXENTS \
-       ((EFS_DIRBSIZE - EFS_DIRBLK_HEADERSIZE) / \
-        (EFS_DENTSIZE + sizeof(char)))
-
-#define EFS_SLOTAT(dir, slot) EFS_REALOFF((dir)->space[slot])
-
-#define EFS_REALOFF(offset) ((offset << 1))
-
-#endif /* __EFS_DIR_H__ */
-
diff --git a/include/linux/efs_fs.h b/include/linux/efs_fs.h
deleted file mode 100644 (file)
index a695d63..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * efs_fs.h
- *
- * Copyright (c) 1999 Al Smith
- *
- * Portions derived from work (c) 1995,1996 Christian Vogelgsang.
- */
-
-#ifndef __EFS_FS_H__
-#define __EFS_FS_H__
-
-#define EFS_VERSION "1.0a"
-
-static const char cprt[] = "EFS: "EFS_VERSION" - (c) 1999 Al Smith <Al.Smith@aeschi.ch.eu.org>";
-
-#include <asm/uaccess.h>
-
-/* 1 block is 512 bytes */
-#define        EFS_BLOCKSIZE_BITS      9
-#define        EFS_BLOCKSIZE           (1 << EFS_BLOCKSIZE_BITS)
-
-#include <linux/fs.h>
-#include <linux/efs_fs_i.h>
-#include <linux/efs_fs_sb.h>
-#include <linux/efs_dir.h>
-
-static inline struct efs_inode_info *INODE_INFO(struct inode *inode)
-{
-       return container_of(inode, struct efs_inode_info, vfs_inode);
-}
-
-static inline struct efs_sb_info *SUPER_INFO(struct super_block *sb)
-{
-       return sb->s_fs_info;
-}
-
-struct statfs;
-struct fid;
-
-extern const struct inode_operations efs_dir_inode_operations;
-extern const struct file_operations efs_dir_operations;
-extern const struct address_space_operations efs_symlink_aops;
-
-extern struct inode *efs_iget(struct super_block *, unsigned long);
-extern efs_block_t efs_map_block(struct inode *, efs_block_t);
-extern int efs_get_block(struct inode *, sector_t, struct buffer_head *, int);
-
-extern struct dentry *efs_lookup(struct inode *, struct dentry *, struct nameidata *);
-extern struct dentry *efs_fh_to_dentry(struct super_block *sb, struct fid *fid,
-               int fh_len, int fh_type);
-extern struct dentry *efs_fh_to_parent(struct super_block *sb, struct fid *fid,
-               int fh_len, int fh_type);
-extern struct dentry *efs_get_parent(struct dentry *);
-extern int efs_bmap(struct inode *, int);
-
-#endif /* __EFS_FS_H__ */
diff --git a/include/linux/efs_fs_i.h b/include/linux/efs_fs_i.h
deleted file mode 100644 (file)
index 617c474..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * efs_fs_i.h
- *
- * Copyright (c) 1999 Al Smith
- *
- * Portions derived from IRIX header files (c) 1988 Silicon Graphics
- */
-
-#ifndef        __EFS_FS_I_H__
-#define        __EFS_FS_I_H__
-
-typedef        int32_t         efs_block_t;
-typedef uint32_t       efs_ino_t;
-
-#define        EFS_DIRECTEXTENTS       12
-
-/*
- * layout of an extent, in memory and on disk. 8 bytes exactly.
- */
-typedef union extent_u {
-       unsigned char raw[8];
-       struct extent_s {
-               unsigned int    ex_magic:8;     /* magic # (zero) */
-               unsigned int    ex_bn:24;       /* basic block */
-               unsigned int    ex_length:8;    /* numblocks in this extent */
-               unsigned int    ex_offset:24;   /* logical offset into file */
-       } cooked;
-} efs_extent;
-
-typedef struct edevs {
-       __be16          odev;
-       __be32          ndev;
-} efs_devs;
-
-/*
- * extent based filesystem inode as it appears on disk.  The efs inode
- * is exactly 128 bytes long.
- */
-struct efs_dinode {
-       __be16          di_mode;        /* mode and type of file */
-       __be16          di_nlink;       /* number of links to file */
-       __be16          di_uid;         /* owner's user id */
-       __be16          di_gid;         /* owner's group id */
-       __be32          di_size;        /* number of bytes in file */
-       __be32          di_atime;       /* time last accessed */
-       __be32          di_mtime;       /* time last modified */
-       __be32          di_ctime;       /* time created */
-       __be32          di_gen;         /* generation number */
-       __be16          di_numextents;  /* # of extents */
-       u_char          di_version;     /* version of inode */
-       u_char          di_spare;       /* spare - used by AFS */
-       union di_addr {
-               efs_extent      di_extents[EFS_DIRECTEXTENTS];
-               efs_devs        di_dev; /* device for IFCHR/IFBLK */
-       } di_u;
-};
-
-/* efs inode storage in memory */
-struct efs_inode_info {
-       int             numextents;
-       int             lastextent;
-
-       efs_extent      extents[EFS_DIRECTEXTENTS];
-       struct inode    vfs_inode;
-};
-
-#endif /* __EFS_FS_I_H__ */
-