Whamcloud - gitweb
.del-ext2_fs.h~7a460879, ChangeLog:
authorTheodore Ts'o <tytso@mit.edu>
Wed, 2 Feb 2000 16:06:35 +0000 (16:06 +0000)
committerTheodore Ts'o <tytso@mit.edu>
Wed, 2 Feb 2000 16:06:35 +0000 (16:06 +0000)
  ext2_fs.h: Update to use header file from Linux 2.3.39.  (Changes from
   kernel header file: Use asm/types.h instead of linux/types.h, and the
   __GNU__ versus __hurd__ #ifdef change, with the FSF irrationality
   failsafe.  See 1999-10-25 Changelog.)

include/linux/ChangeLog
include/linux/ext2_fs.h

index 600e3bb..13ea627 100644 (file)
@@ -1,3 +1,11 @@
+2000-02-02  Theodore Ts'o  <tytso@valinux.com>
+
+       * ext2_fs.h: Update to use header file from Linux 2.3.39.
+               (Changes from kernel header file: Use asm/types.h instead
+               of linux/types.h, and the __GNU__ versus __hurd__ #ifdef
+               change, with the FSF irrationality failsafe.  See
+               1999-10-25 Changelog.)
+
 1999-11-10    <tytso@valinux.com>
 
        * Release of E2fsprogs 1.18
index 75dd714..7457e85 100644 (file)
@@ -42,7 +42,6 @@
 /*
  * Debug code
  */
-#if 0
 #ifdef EXT2FS_DEBUG
 #      define ext2_debug(f, a...)      { \
                                        printk ("EXT2-fs DEBUG (%s, %d): %s:", \
@@ -52,7 +51,6 @@
 #else
 #      define ext2_debug(f, a...)      /**/
 #endif
-#endif
 
 /*
  * Special inodes numbers
@@ -218,13 +216,13 @@ struct ext2_group_desc
  */
 struct ext2_inode {
        __u16   i_mode;         /* File mode */
-       __u16   i_uid;          /* Owner Uid */
+       __u16   i_uid;          /* Low 16 bits of Owner Uid */
        __u32   i_size;         /* Size in bytes */
        __u32   i_atime;        /* Access time */
        __u32   i_ctime;        /* Creation time */
        __u32   i_mtime;        /* Modification time */
        __u32   i_dtime;        /* Deletion Time */
-       __u16   i_gid;          /* Group Id */
+       __u16   i_gid;          /* Low 16 bits of Group Id */
        __u16   i_links_count;  /* Links count */
        __u32   i_blocks;       /* Blocks count */
        __u32   i_flags;        /* File flags */
@@ -240,7 +238,7 @@ struct ext2_inode {
                } masix1;
        } osd1;                         /* OS dependent 1 */
        __u32   i_block[EXT2_N_BLOCKS];/* Pointers to blocks */
-       __u32   i_version;      /* File version (for NFS) */
+       __u32   i_generation;   /* File version (for NFS) */
        __u32   i_file_acl;     /* File ACL */
        __u32   i_dir_acl;      /* Directory ACL */
        __u32   i_faddr;        /* Fragment address */
@@ -249,7 +247,9 @@ struct ext2_inode {
                        __u8    l_i_frag;       /* Fragment number */
                        __u8    l_i_fsize;      /* Fragment size */
                        __u16   i_pad1;
-                       __u32   l_i_reserved2[2];
+                       __u16   l_i_uid_high;   /* these 2 fields    */
+                       __u16   l_i_gid_high;   /* were reserved2[0] */
+                       __u32   l_i_reserved2;
                } linux2;
                struct {
                        __u8    h_i_frag;       /* Fragment number */
@@ -274,9 +274,14 @@ struct ext2_inode {
 #define i_reserved1    osd1.linux1.l_i_reserved1
 #define i_frag         osd2.linux2.l_i_frag
 #define i_fsize                osd2.linux2.l_i_fsize
+#define i_uid_low      i_uid
+#define i_gid_low      i_gid
+#define i_uid_high     osd2.linux2.l_i_uid_high
+#define i_gid_high     osd2.linux2.l_i_gid_high
 #define i_reserved2    osd2.linux2.l_i_reserved2
 
 #elif defined(__GNU__)
+
 #define i_translator   osd1.hurd1.h_i_translator
 #define i_frag         osd2.hurd2.h_i_frag;
 #define i_fsize                osd2.hurd2.h_i_fsize;
@@ -284,12 +289,14 @@ struct ext2_inode {
 #define i_gid_high     osd2.hurd2.h_i_gid_high
 #define i_author       osd2.hurd2.h_i_author
 
-#elif defined (__masix__)
+#elif defined(__masix__)
+
 #define i_reserved1    osd1.masix1.m_i_reserved1
 #define i_frag         osd2.masix2.m_i_frag
 #define i_fsize                osd2.masix2.m_i_fsize
 #define i_reserved2    osd2.masix2.m_i_reserved2
-#endif /* defined(__KERNEL__) || defined(__linux__) */
+
+#endif /* defined(__KERNEL) || defined(__linux__) */
 
 /*
  * File system states
@@ -300,16 +307,14 @@ struct ext2_inode {
 /*
  * Mount flags
  */
-#define EXT2_MOUNT_CHECK_NORMAL                0x0001  /* Do some more checks */
-#define EXT2_MOUNT_CHECK_STRICT                0x0002  /* Do again more checks */
-#define EXT2_MOUNT_CHECK               (EXT2_MOUNT_CHECK_NORMAL | \
-                                        EXT2_MOUNT_CHECK_STRICT)
+#define EXT2_MOUNT_CHECK               0x0001  /* Do mount-time checks */
 #define EXT2_MOUNT_GRPID               0x0004  /* Create files with directory's group */
 #define EXT2_MOUNT_DEBUG               0x0008  /* Some debugging messages */
 #define EXT2_MOUNT_ERRORS_CONT         0x0010  /* Continue on errors */
 #define EXT2_MOUNT_ERRORS_RO           0x0020  /* Remount fs ro on errors */
 #define EXT2_MOUNT_ERRORS_PANIC                0x0040  /* Panic on errors */
 #define EXT2_MOUNT_MINIX_DF            0x0080  /* Mimics the Minix statfs */
+#define EXT2_MOUNT_NO_UID32            0x0200  /* Disable 32-bit UIDs */
 
 #define clear_opt(o, opt)              o &= ~EXT2_MOUNT_##opt
 #define set_opt(o, opt)                        o |= EXT2_MOUNT_##opt
@@ -520,12 +525,16 @@ struct ext2_dir_entry_2 {
 extern int ext2_permission (struct inode *, int);
 
 /* balloc.c */
+extern int ext2_group_sparse(int group);
 extern int ext2_new_block (const struct inode *, unsigned long,
                           __u32 *, __u32 *, int *);
 extern void ext2_free_blocks (const struct inode *, unsigned long,
                              unsigned long);
 extern unsigned long ext2_count_free_blocks (struct super_block *);
 extern void ext2_check_blocks_bitmap (struct super_block *);
+extern struct ext2_group_desc * ext2_get_group_desc(struct super_block * sb,
+                                                   unsigned int block_group,
+                                                   struct buffer_head ** bh);
 
 /* bitmap.c */
 extern unsigned long ext2_count_free (struct buffer_head *, unsigned);
@@ -549,9 +558,11 @@ extern unsigned long ext2_count_free_inodes (struct super_block *);
 extern void ext2_check_inodes_bitmap (struct super_block *);
 
 /* inode.c */
-extern int ext2_bmap (struct inode *, int);
+extern long ext2_bmap (struct inode *, long);
+extern int ext2_get_block (struct inode *, long, struct buffer_head *, int);
 
 extern struct buffer_head * ext2_getblk (struct inode *, long, int, int *);
+extern int ext2_getblk_block (struct inode *, long, int, int *, int *);
 extern struct buffer_head * ext2_bread (struct inode *, int, int, int *);
 
 extern int ext2_getcluster (struct inode * inode, long block);
@@ -568,7 +579,7 @@ extern int ext2_ioctl (struct inode *, struct file *, unsigned int,
 
 /* namei.c */
 extern void ext2_release (struct inode *, struct file *);
-extern int ext2_lookup (struct inode *, struct dentry *);
+extern struct dentry *ext2_lookup (struct inode *, struct dentry *);
 extern int ext2_create (struct inode *,struct dentry *,int);
 extern int ext2_mkdir (struct inode *,struct dentry *,int);
 extern int ext2_rmdir (struct inode *,struct dentry *);
@@ -591,7 +602,6 @@ extern void ext2_put_super (struct super_block *);
 extern void ext2_write_super (struct super_block *);
 extern int ext2_remount (struct super_block *, int *, char *);
 extern struct super_block * ext2_read_super (struct super_block *,void *,int);
-extern int init_ext2_fs(void);
 extern int ext2_statfs (struct super_block *, struct statfs *, int);
 
 /* truncate.c */
@@ -609,6 +619,7 @@ extern struct inode_operations ext2_file_inode_operations;
 
 /* symlink.c */
 extern struct inode_operations ext2_symlink_inode_operations;
+extern struct inode_operations ext2_fast_symlink_inode_operations;
 
 #endif /* __KERNEL__ */