]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
fix splice patch as it needed to actually build on 2.6.17.y...
authorGreg Kroah-Hartman <gregkh@suse.de>
Mon, 17 Jul 2006 15:10:59 +0000 (08:10 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 17 Jul 2006 15:10:59 +0000 (08:10 -0700)
queue-2.6.17/splice-fix-problems-with-sys_tee.patch

index c07963c5865bae1ae0edafdeef809e6f9fac0eaf..d463df6df3aa6b20ee4564680dc1b28f9adf5c54 100644 (file)
@@ -16,11 +16,11 @@ Several issues noticed/fixed:
 Signed-off-by: Jens Axboe <axboe@suse.de>
 Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
 ---
- fs/splice.c |  238 +++++++++++++++++++++++++++++++++---------------------------
- 1 file changed, 133 insertions(+), 105 deletions(-)
+ fs/splice.c |  230 +++++++++++++++++++++++++++++++++---------------------------
+ 1 file changed, 129 insertions(+), 101 deletions(-)
 
---- linux-2.6.17.4.orig/fs/splice.c
-+++ linux-2.6.17.4/fs/splice.c
+--- linux-2.6.17.6.orig/fs/splice.c
++++ linux-2.6.17.6/fs/splice.c
 @@ -1295,6 +1295,85 @@ asmlinkage long sys_splice(int fd_in, lo
  }
  
@@ -118,20 +118,16 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  
        /*
         * Potential ABBA deadlock, work around it by ordering lock
-@@ -1312,126 +1389,62 @@ static int link_pipe(struct pipe_inode_i
+@@ -1312,7 +1389,6 @@ static int link_pipe(struct pipe_inode_i
         * could deadlock (one doing tee from A -> B, the other from B -> A).
         */
        if (ipipe->inode < opipe->inode) {
 -              ipipe_first = 1;
--              mutex_lock(&ipipe->inode->i_mutex);
--              mutex_lock(&opipe->inode->i_mutex);
-+              mutex_lock_nested(&ipipe->inode->i_mutex, I_MUTEX_PARENT);
-+              mutex_lock_nested(&opipe->inode->i_mutex, I_MUTEX_CHILD);
+               mutex_lock(&ipipe->inode->i_mutex);
+               mutex_lock(&opipe->inode->i_mutex);
        } else {
--              mutex_lock(&opipe->inode->i_mutex);
--              mutex_lock(&ipipe->inode->i_mutex);
-+              mutex_lock_nested(&opipe->inode->i_mutex, I_MUTEX_PARENT);
-+              mutex_lock_nested(&ipipe->inode->i_mutex, I_MUTEX_CHILD);
+@@ -1320,118 +1396,55 @@ static int link_pipe(struct pipe_inode_i
+               mutex_lock(&ipipe->inode->i_mutex);
        }
  
 -      for (i = 0;; i++) {