Whamcloud - gitweb
- fix to kernel patches: intents must be free before dentries
authorbraam <braam>
Thu, 20 Jun 2002 20:52:26 +0000 (20:52 +0000)
committerbraam <braam>
Thu, 20 Jun 2002 20:52:26 +0000 (20:52 +0000)
lustre/patches/patch-2.4.18
lustre/patches/patch-2.4.18-chaos1

index 743b2b3..424f567 100644 (file)
@@ -1,3 +1,18 @@
+--- lum-pristine/arch/ia64/mm/init.c   Fri Nov  9 15:26:17 2001
++++ lum/arch/ia64/mm/init.c    Thu Jun 20 14:46:05 2002
+@@ -37,6 +37,12 @@
+ static unsigned long totalram_pages;
++struct page *check_get_page(unsigned long kaddr)
++{
++#warning FIXME: Lustre team, is this solid?
++        return virt_to_page(kaddr);
++}
++
+ int
+ do_check_pgt_cache (int low, int high)
+ {
 --- lum-pristine/arch/um/kernel/mem.c  Thu Jun 13 14:07:26 2002
 +++ lum/arch/um/kernel/mem.c   Fri Jun 14 17:00:21 2002
 @@ -489,6 +489,22 @@
                nfsd_sync_dir(tdentry);
                nfsd_sync_dir(fdentry);
 --- lum-pristine/fs/namei.c    Mon Feb 25 12:38:09 2002
-+++ lum/fs/namei.c     Thu Jun 20 10:16:35 2002
++++ lum/fs/namei.c     Thu Jun 20 14:25:50 2002
 @@ -94,6 +94,14 @@
   * XEmacs seems to be relying on it...
   */
                switch (mode & S_IFMT) {
                case 0: case S_IFREG:
                        error = vfs_create(nd.dentry->d_inode,dentry,mode);
-@@ -1272,6 +1356,7 @@
+@@ -1270,6 +1354,7 @@
+               default:
+                       error = -EINVAL;
                }
++                intent_release(dentry); 
                dput(dentry);
        }
-+      intent_release(dentry); 
        up(&nd.dentry->d_inode->i_sem);
-       path_release(&nd);
- out:
 @@ -1310,6 +1395,7 @@
  {
        int error = 0;
  
        tmp = getname(pathname);
        error = PTR_ERR(tmp);
-@@ -1321,13 +1407,15 @@
+@@ -1321,11 +1407,13 @@
                        error = path_walk(tmp, &nd);
                if (error)
                        goto out;
 +                      dentry->d_it = &it;
                        error = vfs_mkdir(nd.dentry->d_inode, dentry,
                                          mode & ~current->fs->umask);
++                        intent_release(dentry); 
                        dput(dentry);
                }
-+              intent_release(dentry); 
                up(&nd.dentry->d_inode->i_sem);
-               path_release(&nd);
- out:
 @@ -1407,6 +1495,7 @@
        char * name;
        struct dentry *dentry;
  
        from = getname(oldname);
        if(IS_ERR(from))
-@@ -1557,12 +1652,14 @@
+@@ -1557,10 +1652,12 @@
                        error = path_walk(to, &nd);
                if (error)
                        goto out;
                if (!IS_ERR(dentry)) {
 +                      dentry->d_it = &it;
                        error = vfs_symlink(nd.dentry->d_inode, dentry, from);
++                        intent_release(dentry); 
                        dput(dentry);
                }
-+              intent_release(dentry); 
                up(&nd.dentry->d_inode->i_sem);
-               path_release(&nd);
- out:
 @@ -1626,6 +1723,7 @@
        int error;
        char * from;
  
        from = getname(oldname);
        if(IS_ERR(from))
-@@ -1648,12 +1746,14 @@
+@@ -1648,10 +1746,12 @@
                error = -EXDEV;
                if (old_nd.mnt != nd.mnt)
                        goto out_release;
                if (!IS_ERR(new_dentry)) {
 +                      new_dentry->d_it = &it;
                        error = vfs_link(old_nd.dentry, nd.dentry->d_inode, new_dentry);
++                        intent_release(new_dentry); 
                        dput(new_dentry);
                }
-+              intent_release(new_dentry); 
                up(&nd.dentry->d_inode->i_sem);
- out_release:
-               path_release(&nd);
 @@ -1694,7 +1794,8 @@
   *       locking].
   */
  
        f = fget(fd);
        if (f) {
---- linux-lustre/arch/ia64/mm/init.c   Tue Jun 18 17:27:49 2002
-+++ linux-lustre-new/arch/ia64/mm/init.c       Tue Jun 18 17:42:23 2002
-@@ -44,6 +44,12 @@
- static unsigned long num_dma_physpages;
- #endif
-+struct page *check_get_page(unsigned long kaddr)
-+{
-+#warning FIXME: Lustre team, is this solid?
-+        return virt_to_page(kaddr);
-+}
-+
- int
- do_check_pgt_cache (int low, int high)
- {
index 576cc40..7b4a5f6 100644 (file)
  echo 'cp System.map $RPM_BUILD_ROOT'"/boot/System.map-$VERSION.$PATCHLEVEL.$SUBLEVEL$EXTRAVERSION"
  echo ""
  echo "%clean"
+--- kernel-rh-2.4.18-pristine/arch/ia64/mm/init.c      Thu Jun 13 12:26:28 2002
++++ kernel-rh-2.4.18/arch/ia64/mm/init.c       Thu Jun 20 14:49:08 2002
+@@ -37,6 +37,12 @@
+ static unsigned long totalram_pages;
++struct page *check_get_page(unsigned long kaddr)
++{
++#warning FIXME: Lustre team, is this solid?
++        return virt_to_page(kaddr);
++}
++
+ int
+ do_check_pgt_cache (int low, int high)
+ {
 --- kernel-rh-2.4.18-pristine/arch/i386/mm/init.c      Thu Jun 13 12:26:28 2002
 +++ kernel-rh-2.4.18/arch/i386/mm/init.c       Thu Jun 20 11:24:56 2002
 @@ -43,6 +43,14 @@
                nfsd_sync_dir(tdentry);
                nfsd_sync_dir(fdentry);
 --- kernel-rh-2.4.18-pristine/fs/namei.c       Thu Jun 13 12:27:05 2002
-+++ kernel-rh-2.4.18/fs/namei.c        Thu Jun 20 11:31:14 2002
++++ kernel-rh-2.4.18/fs/namei.c        Thu Jun 20 14:27:27 2002
 @@ -94,6 +94,14 @@
   * XEmacs seems to be relying on it...
   */
                switch (mode & S_IFMT) {
                case 0: case S_IFREG:
                        error = vfs_create(nd.dentry->d_inode,dentry,mode);
-@@ -1286,6 +1370,7 @@
+@@ -1284,6 +1368,7 @@
+               default:
+                       error = -EINVAL;
                }
++                intent_release(dentry); 
                dput(dentry);
        }
-+      intent_release(dentry); 
        up(&nd.dentry->d_inode->i_sem);
-       path_release(&nd);
- out:
 @@ -1324,6 +1409,7 @@
  {
        int error = 0;
  
        tmp = getname(pathname);
        error = PTR_ERR(tmp);
-@@ -1335,13 +1421,15 @@
+@@ -1335,11 +1421,13 @@
                        error = path_walk(tmp, &nd);
                if (error)
                        goto out;
 +                      dentry->d_it = &it;
                        error = vfs_mkdir(nd.dentry->d_inode, dentry,
                                          mode & ~current->fs->umask);
++                        intent_release(dentry); 
                        dput(dentry);
                }
-+              intent_release(dentry); 
                up(&nd.dentry->d_inode->i_sem);
-               path_release(&nd);
- out:
 @@ -1421,6 +1509,7 @@
        char * name;
        struct dentry *dentry;
  
        from = getname(oldname);
        if(IS_ERR(from))
-@@ -1571,12 +1666,14 @@
+@@ -1571,11 +1666,13 @@
                        error = path_walk(to, &nd);
                if (error)
                        goto out;
                if (!IS_ERR(dentry)) {
 +                      dentry->d_it = &it;
                        error = vfs_symlink(nd.dentry->d_inode, dentry, from);
-                       dput(dentry);
+-                      dput(dentry);
++                        intent_release(dentry); 
++                        dput(dentry);
                }
-+              intent_release(dentry); 
                up(&nd.dentry->d_inode->i_sem);
                path_release(&nd);
- out:
 @@ -1640,6 +1737,7 @@
        int error;
        char * from;
  
        from = getname(oldname);
        if(IS_ERR(from))
-@@ -1662,12 +1760,14 @@
+@@ -1662,10 +1760,12 @@
                error = -EXDEV;
                if (old_nd.mnt != nd.mnt)
                        goto out_release;
                if (!IS_ERR(new_dentry)) {
 +                      new_dentry->d_it = &it;
                        error = vfs_link(old_nd.dentry, nd.dentry->d_inode, new_dentry);
++                        intent_release(new_dentry); 
                        dput(new_dentry);
                }
-+              intent_release(new_dentry); 
                up(&nd.dentry->d_inode->i_sem);
- out_release:
-               path_release(&nd);
 @@ -1708,7 +1808,8 @@
   *       locking].
   */