[PATCH] splice: add direct fd <-> fd splicing support
[linux-2.6-block.git] / fs / pipe.c
index 705b4869262765c17124b2c361359686dce6e202..036536f072c98b64218e2a9b4115b8a3ac4d4c7b 100644 (file)
--- a/fs/pipe.c
+++ b/fs/pipe.c
@@ -691,12 +691,10 @@ struct pipe_inode_info * alloc_pipe_info(struct inode *inode)
        return info;
 }
 
-void free_pipe_info(struct inode *inode)
+void __free_pipe_info(struct pipe_inode_info *info)
 {
        int i;
-       struct pipe_inode_info *info = inode->i_pipe;
 
-       inode->i_pipe = NULL;
        for (i = 0; i < PIPE_BUFFERS; i++) {
                struct pipe_buffer *buf = info->bufs + i;
                if (buf->ops)
@@ -707,6 +705,12 @@ void free_pipe_info(struct inode *inode)
        kfree(info);
 }
 
+void free_pipe_info(struct inode *inode)
+{
+       __free_pipe_info(inode->i_pipe);
+       inode->i_pipe = NULL;
+}
+
 static struct vfsmount *pipe_mnt __read_mostly;
 static int pipefs_delete_dentry(struct dentry *dentry)
 {