Whamcloud - gitweb
- merge 0.7rc1 from b_devel to HEAD (20030612 merge point)
[fs/lustre-release.git] / lustre / kernel_patches / patches / linux-2.4.18ea-0.8.26.patch
@@ -1,30 +1,7 @@
-Linux Extended Attributes -- Kernel Patch
-24 April 2002, 11:31:18
+ 0 files changed
 
-
-This patch is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This patch is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this patch; if not, write to the Free Software Foundation,
-Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-
-After extracting the linux-2.4.18.tar.gz package, apply this patch as follows:
-
-       cd linux
-       patch -p1 < ../linux-2.4.18ea-0.8.26.patch
-
-diff -Nur linux-2.4.18/fs/ext3/ialloc.c linux-2.4.18ea/fs/ext3/ialloc.c
---- linux-2.4.18/fs/ext3/ialloc.c      Sun Feb 24 04:42:59 2002
-+++ linux-2.4.18ea/fs/ext3/ialloc.c    Sun Feb 24 04:34:43 2002
+--- linux-2.4.18-18/fs/ext3/ialloc.c~linux-2.4.18ea-0.8.26     2003-04-20 16:14:31.000000000 +0800
++++ linux-2.4.18-18-root/fs/ext3/ialloc.c      2003-04-20 16:14:31.000000000 +0800
 @@ -17,6 +17,7 @@
  #include <linux/jbd.h>
  #include <linux/ext3_fs.h>
@@ -33,7 +10,7 @@ diff -Nur linux-2.4.18/fs/ext3/ialloc.c linux-2.4.18ea/fs/ext3/ialloc.c
  #include <linux/stat.h>
  #include <linux/string.h>
  #include <linux/locks.h>
-@@ -216,6 +217,7 @@
+@@ -216,6 +217,7 @@ void ext3_free_inode (handle_t *handle, 
         * as writing the quota to disk may need the lock as well.
         */
        DQUOT_INIT(inode);
@@ -41,9 +18,8 @@ diff -Nur linux-2.4.18/fs/ext3/ialloc.c linux-2.4.18ea/fs/ext3/ialloc.c
        DQUOT_FREE_INODE(inode);
        DQUOT_DROP(inode);
  
-diff -Nur linux-2.4.18/fs/ext3/inode.c linux-2.4.18ea/fs/ext3/inode.c
---- linux-2.4.18/fs/ext3/inode.c       Sun Feb 24 04:42:59 2002
-+++ linux-2.4.18ea/fs/ext3/inode.c     Thu Mar 14 21:51:59 2002
+--- linux-2.4.18-18/fs/ext3/inode.c~linux-2.4.18ea-0.8.26      2003-04-20 16:14:31.000000000 +0800
++++ linux-2.4.18-18-root/fs/ext3/inode.c       2003-04-20 16:14:31.000000000 +0800
 @@ -39,6 +39,18 @@
   */
  #undef SEARCH_FROM_ZERO
@@ -72,7 +48,7 @@ diff -Nur linux-2.4.18/fs/ext3/inode.c linux-2.4.18ea/fs/ext3/inode.c
                       struct inode *inode, struct buffer_head *bh,
                       int blocknr)
  {
-@@ -164,9 +176,7 @@
+@@ -164,9 +176,7 @@ void ext3_delete_inode (struct inode * i
  {
        handle_t *handle;
        
@@ -83,7 +59,7 @@ diff -Nur linux-2.4.18/fs/ext3/inode.c linux-2.4.18ea/fs/ext3/inode.c
                goto no_delete;
  
        lock_kernel();
-@@ -1845,6 +1855,8 @@
+@@ -1861,6 +1871,8 @@ void ext3_truncate(struct inode * inode)
        if (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) ||
            S_ISLNK(inode->i_mode)))
                return;
@@ -92,7 +68,7 @@ diff -Nur linux-2.4.18/fs/ext3/inode.c linux-2.4.18ea/fs/ext3/inode.c
        if (IS_APPEND(inode) || IS_IMMUTABLE(inode))
                return;
  
-@@ -1992,8 +2004,6 @@
+@@ -2008,8 +2020,6 @@ int ext3_get_inode_loc (struct inode *in
        struct ext3_group_desc * gdp;
                
        if ((inode->i_ino != EXT3_ROOT_INO &&
@@ -101,7 +77,7 @@ diff -Nur linux-2.4.18/fs/ext3/inode.c linux-2.4.18ea/fs/ext3/inode.c
                inode->i_ino != EXT3_JOURNAL_INO &&
                inode->i_ino < EXT3_FIRST_INO(inode->i_sb)) ||
                inode->i_ino > le32_to_cpu(
-@@ -2120,10 +2130,7 @@
+@@ -2136,10 +2146,7 @@ void ext3_read_inode(struct inode * inod
  
        brelse (iloc.bh);
  
@@ -113,7 +89,7 @@ diff -Nur linux-2.4.18/fs/ext3/inode.c linux-2.4.18ea/fs/ext3/inode.c
                inode->i_op = &ext3_file_inode_operations;
                inode->i_fop = &ext3_file_operations;
                inode->i_mapping->a_ops = &ext3_aops;
-@@ -2131,7 +2138,7 @@
+@@ -2147,7 +2154,7 @@ void ext3_read_inode(struct inode * inod
                inode->i_op = &ext3_dir_inode_operations;
                inode->i_fop = &ext3_dir_operations;
        } else if (S_ISLNK(inode->i_mode)) {
@@ -122,10 +98,9 @@ diff -Nur linux-2.4.18/fs/ext3/inode.c linux-2.4.18ea/fs/ext3/inode.c
                        inode->i_op = &ext3_fast_symlink_inode_operations;
                else {
                        inode->i_op = &page_symlink_inode_operations;
-diff -Nur linux-2.4.18/fs/ext3/namei.c linux-2.4.18ea/fs/ext3/namei.c
---- linux-2.4.18/fs/ext3/namei.c       Fri Nov  9 23:25:04 2001
-+++ linux-2.4.18ea/fs/ext3/namei.c     Mon Mar 11 03:27:00 2002
-@@ -23,6 +23,7 @@
+--- linux-2.4.18-18/fs/ext3/namei.c~linux-2.4.18ea-0.8.26      2003-04-20 16:14:31.000000000 +0800
++++ linux-2.4.18-18-root/fs/ext3/namei.c       2003-04-20 16:14:31.000000000 +0800
+@@ -27,6 +27,7 @@
  #include <linux/sched.h>
  #include <linux/ext3_fs.h>
  #include <linux/ext3_jbd.h>
@@ -133,15 +108,15 @@ diff -Nur linux-2.4.18/fs/ext3/namei.c linux-2.4.18ea/fs/ext3/namei.c
  #include <linux/fcntl.h>
  #include <linux/stat.h>
  #include <linux/string.h>
-@@ -435,6 +435,7 @@ static int ext3_add_nondir(handle_t *han
-                       return 0;
-               }
+@@ -1183,6 +1184,7 @@ static int ext3_add_nondir(handle_t *han
+               d_instantiate(dentry, inode);
+               return 0;
        }
 +      ext3_xattr_drop_inode(handle, inode);
        ext3_dec_count(handle, inode);
        iput(inode);
        return err;
-@@ -514,7 +519,7 @@
+@@ -1268,15 +1270,14 @@ static int ext3_mkdir(struct inode * dir
        if (IS_SYNC(dir))
                handle->h_sync = 1;
  
@@ -150,7 +125,7 @@ diff -Nur linux-2.4.18/fs/ext3/namei.c linux-2.4.18ea/fs/ext3/namei.c
        err = PTR_ERR(inode);
        if (IS_ERR(inode))
                goto out_stop;
-@@ -522,7 +527,6 @@
        inode->i_op = &ext3_dir_inode_operations;
        inode->i_fop = &ext3_dir_operations;
 -      inode->i_size = inode->u.ext3_i.i_disksize = inode->i_sb->s_blocksize;
@@ -159,7 +134,7 @@ diff -Nur linux-2.4.18/fs/ext3/namei.c linux-2.4.18ea/fs/ext3/namei.c
        dir_block = ext3_bread (handle, inode, 0, 1, &err);
        if (!dir_block) {
                inode->i_nlink--; /* is this nlink == 0? */
-@@ -549,9 +553,6 @@
+@@ -1303,9 +1304,6 @@ static int ext3_mkdir(struct inode * dir
        BUFFER_TRACE(dir_block, "call ext3_journal_dirty_metadata");
        ext3_journal_dirty_metadata(handle, dir_block);
        brelse (dir_block);
@@ -169,16 +144,17 @@ diff -Nur linux-2.4.18/fs/ext3/namei.c linux-2.4.18ea/fs/ext3/namei.c
        ext3_mark_inode_dirty(handle, inode);
        err = ext3_add_entry (handle, dentry, inode);
        if (err)
-@@ -917,5 +919,5 @@
+@@ -1671,7 +1669,7 @@ static int ext3_symlink (struct inode * 
+       if (IS_ERR(inode))
                goto out_stop;
  
 -      if (l > sizeof (inode->u.ext3_i.i_data)) {
 +      if (l > sizeof(EXT3_I(inode)->i_data)) {
                inode->i_op = &page_symlink_inode_operations;
                inode->i_mapping->a_ops = &ext3_aops;
-diff -Nur linux-2.4.18/fs/ext3/super.c linux-2.4.18ea/fs/ext3/super.c
---- linux-2.4.18/fs/ext3/super.c       Sun Feb 24 04:42:59 2002
-+++ linux-2.4.18ea/fs/ext3/super.c     Thu Apr  4 21:41:05 2002
+               /*
+--- linux-2.4.18-18/fs/ext3/super.c~linux-2.4.18ea-0.8.26      2003-04-20 16:14:31.000000000 +0800
++++ linux-2.4.18-18-root/fs/ext3/super.c       2003-04-20 16:14:31.000000000 +0800
 @@ -24,6 +24,7 @@
  #include <linux/jbd.h>
  #include <linux/ext3_fs.h>
@@ -187,7 +163,7 @@ diff -Nur linux-2.4.18/fs/ext3/super.c linux-2.4.18ea/fs/ext3/super.c
  #include <linux/slab.h>
  #include <linux/init.h>
  #include <linux/locks.h>
-@@ -404,6 +405,7 @@
+@@ -404,6 +405,7 @@ void ext3_put_super (struct super_block 
        kdev_t j_dev = sbi->s_journal->j_dev;
        int i;
  
@@ -195,7 +171,7 @@ diff -Nur linux-2.4.18/fs/ext3/super.c linux-2.4.18ea/fs/ext3/super.c
        journal_destroy(sbi->s_journal);
        if (!(sb->s_flags & MS_RDONLY)) {
                EXT3_CLEAR_INCOMPAT_FEATURE(sb, EXT3_FEATURE_INCOMPAT_RECOVER);
-@@ -1734,14 +1772,25 @@
+@@ -1748,14 +1750,25 @@ int ext3_statfs (struct super_block * sb
  
  static DECLARE_FSTYPE_DEV(ext3_fs_type, "ext3", ext3_read_super);
  
@@ -224,10 +200,9 @@ diff -Nur linux-2.4.18/fs/ext3/super.c linux-2.4.18ea/fs/ext3/super.c
 +      return error;
  }
  
- EXPORT_NO_SYMBOLS;
-diff -Nur linux-2.4.18/fs/ext3/xattr.c linux-2.4.18ea/fs/ext3/xattr.c
---- linux-2.4.18/fs/ext3/xattr.c       Thu Jan  1 01:00:00 1970
-+++ linux-2.4.18ea/fs/ext3/xattr.c     Wed Apr  3 13:19:05 2002
+ EXPORT_SYMBOL(ext3_bread);
+--- /dev/null  2002-08-31 07:31:37.000000000 +0800
++++ linux-2.4.18-18-root/fs/ext3/xattr.c       2003-04-20 16:14:31.000000000 +0800
 @@ -0,0 +1,1247 @@
 +/*
 + * linux/fs/ext3/xattr.c
@@ -302,11 +277,11 @@ diff -Nur linux-2.4.18/fs/ext3/xattr.c linux-2.4.18ea/fs/ext3/xattr.c
 +#include <linux/module.h>
 +
 +/* These symbols may be needed by a module. */
-+EXPORT_SYMBOL(extN_xattr_register);
-+EXPORT_SYMBOL(extN_xattr_unregister);
-+EXPORT_SYMBOL(extN_xattr_get);
-+EXPORT_SYMBOL(extN_xattr_list);
-+EXPORT_SYMBOL(extN_xattr_set);
++EXPORT_SYMBOL(ext3_xattr_register);
++EXPORT_SYMBOL(ext3_xattr_unregister);
++EXPORT_SYMBOL(ext3_xattr_get);
++EXPORT_SYMBOL(ext3_xattr_list);
++EXPORT_SYMBOL(ext3_xattr_set);
 +
 +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0)
 +# define mark_buffer_dirty(bh) mark_buffer_dirty(bh, 1)
@@ -1476,9 +1451,8 @@ diff -Nur linux-2.4.18/fs/ext3/xattr.c linux-2.4.18ea/fs/ext3/xattr.c
 +}
 +
 +#endif  /* CONFIG_EXT3_FS_XATTR_SHARING */
-diff -Nur linux-2.4.18/include/linux/ext3_fs.h linux-2.4.18ea/include/linux/ext3_fs.h
---- linux-2.4.18/include/linux/ext3_fs.h       Sun Feb 24 04:42:59 2002
-+++ linux-2.4.18ea/include/linux/ext3_fs.h     Mon Mar 11 03:27:00 2002
+--- linux-2.4.18-18/include/linux/ext3_fs.h~linux-2.4.18ea-0.8.26      2003-04-20 16:14:31.000000000 +0800
++++ linux-2.4.18-18-root/include/linux/ext3_fs.h       2003-04-20 16:14:31.000000000 +0800
 @@ -58,8 +58,6 @@
   */
  #define       EXT3_BAD_INO             1      /* Bad blocks inode */
@@ -1525,7 +1499,7 @@ diff -Nur linux-2.4.18/include/linux/ext3_fs.h linux-2.4.18ea/include/linux/ext3
   * Structure of a blocks group descriptor
   */
  struct ext3_group_desc
-@@ -512,7 +487,7 @@
+@@ -513,7 +488,7 @@ struct ext3_super_block {
  #define EXT3_FEATURE_INCOMPAT_RECOVER         0x0004 /* Needs recovery */
  #define EXT3_FEATURE_INCOMPAT_JOURNAL_DEV     0x0008 /* Journal device */
  
@@ -1534,8 +1508,9 @@ diff -Nur linux-2.4.18/include/linux/ext3_fs.h linux-2.4.18ea/include/linux/ext3
  #define EXT3_FEATURE_INCOMPAT_SUPP    (EXT3_FEATURE_INCOMPAT_FILETYPE| \
                                         EXT3_FEATURE_INCOMPAT_RECOVER)
  #define EXT3_FEATURE_RO_COMPAT_SUPP   (EXT3_FEATURE_RO_COMPAT_SPARSE_SUPER| \
-@@ -603,4 +578,22 @@
- */
+@@ -606,6 +581,24 @@ struct ext3_iloc
+       unsigned long block_group;
+ };
  
 +/* Defined for extended attributes */
 +#define CONFIG_EXT3_FS_XATTR y
@@ -1556,8 +1531,9 @@ diff -Nur linux-2.4.18/include/linux/ext3_fs.h linux-2.4.18ea/include/linux/ext3
 +#endif
 +
  /*
-  * Ok, these declarations are also in <linux/kernel.h> but none of the
-@@ -628,6 +603,7 @@
+  * Function prototypes
+  */
+@@ -647,6 +640,7 @@ extern void ext3_check_inodes_bitmap (st
  extern unsigned long ext3_count_free (struct buffer_head *, unsigned);
  
  /* inode.c */
@@ -1565,9 +1541,8 @@ diff -Nur linux-2.4.18/include/linux/ext3_fs.h linux-2.4.18ea/include/linux/ext3
  extern struct buffer_head * ext3_getblk (handle_t *, struct inode *, long, int, int *);
  extern struct buffer_head * ext3_bread (handle_t *, struct inode *, int, int, int *);
  
-diff -Nur linux-2.4.18/include/linux/ext3_jbd.h linux-2.4.18ea/include/linux/ext3_jbd.h
---- linux-2.4.18/include/linux/ext3_jbd.h      Fri Dec 21 18:42:03 2001
-+++ linux-2.4.18ea/include/linux/ext3_jbd.h    Mon Mar 25 00:11:36 2002
+--- linux-2.4.18-18/include/linux/ext3_jbd.h~linux-2.4.18ea-0.8.26     2003-04-20 16:14:31.000000000 +0800
++++ linux-2.4.18-18-root/include/linux/ext3_jbd.h      2003-04-20 16:14:31.000000000 +0800
 @@ -30,13 +30,19 @@
  
  #define EXT3_SINGLEDATA_TRANS_BLOCKS  8
@@ -1589,9 +1564,8 @@ diff -Nur linux-2.4.18/include/linux/ext3_jbd.h linux-2.4.18ea/include/linux/ext
  
  extern int ext3_writepage_trans_blocks(struct inode *inode);
  
-diff -Nur linux-2.4.18/include/linux/ext3_xattr.h linux-2.4.18ea/include/linux/ext3_xattr.h
---- linux-2.4.18/include/linux/ext3_xattr.h    Thu Jan  1 01:00:00 1970
-+++ linux-2.4.18ea/include/linux/ext3_xattr.h  Fri Apr  5 10:08:01 2002
+--- /dev/null  2002-08-31 07:31:37.000000000 +0800
++++ linux-2.4.18-18-root/include/linux/ext3_xattr.h    2003-04-20 16:14:31.000000000 +0800
 @@ -0,0 +1,155 @@
 +/*
 +  File: linux/ext3_xattr.h
@@ -1748,9 +1722,8 @@ diff -Nur linux-2.4.18/include/linux/ext3_xattr.h linux-2.4.18ea/include/linux/e
 +
 +#endif  /* __KERNEL__ */
 +
-diff -Nur linux-2.4.18/include/linux/xattr.h linux-2.4.18ea/include/linux/xattr.h
---- linux-2.4.18/include/linux/xattr.h Thu Jan  1 01:00:00 1970
-+++ linux-2.4.18ea/include/linux/xattr.h       Sun Mar 24 23:42:21 2002
+--- /dev/null  2002-08-31 07:31:37.000000000 +0800
++++ linux-2.4.18-18-root/include/linux/xattr.h 2003-04-20 16:14:31.000000000 +0800
 @@ -0,0 +1,15 @@
 +/*
 +  File: linux/xattr.h
@@ -1767,3 +1740,20 @@ diff -Nur linux-2.4.18/include/linux/xattr.h linux-2.4.18ea/include/linux/xattr.
 +#define XATTR_REPLACE 2       /* set value, fail if attr does not exist */
 +
 +#endif        /* _LINUX_XATTR_H */
+--- linux-2.4.18-18/fs/ext3/Makefile~linux-2.4.18ea-0.8.26     2003-04-20 16:14:54.000000000 +0800
++++ linux-2.4.18-18-root/fs/ext3/Makefile      2003-04-20 16:15:15.000000000 +0800
+@@ -9,10 +9,10 @@
+ O_TARGET := ext3.o
+-export-objs :=        super.o inode.o
++export-objs :=        super.o inode.o xattr.o
+ obj-y    := balloc.o bitmap.o dir.o file.o fsync.o ialloc.o inode.o \
+-              ioctl.o namei.o super.o symlink.o
++              ioctl.o namei.o super.o symlink.o xattr.o
+ obj-m    := $(O_TARGET)
+ include $(TOPDIR)/Rules.make
+
+_