[Top] [All Lists]

Re: [PATCH 0/2] splice: i_mutex vs splice write deadlock

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [PATCH 0/2] splice: i_mutex vs splice write deadlock
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Mon, 18 Jul 2011 23:10:03 -0400
Cc: linux-fsdevel@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, xfs@xxxxxxxxxxx
In-reply-to: <1310961884-11634-1-git-send-email-david@xxxxxxxxxxxxx>
References: <1310961884-11634-1-git-send-email-david@xxxxxxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
I don't really like this very much.  Not taking the i_mutex at all
makes the splice_write method in XFS use different locking than
everyone else, and different from the normal XFS write path.

For example ocfs2 which has the same locking issues just has an
own implementation of the splice_write method, which isn't
too nice but at least marginally better.  I think the right
fix for both xfs and ocfs2 would be to have a generic_file_splice_write
variant that takes an "actor" function pointer, which defaults to
a smaller wrapper around file_remove_suid, file_update_time and
splice_from_pipe_feed, and then XFS and ocfs2 can provide their
own actors that add the additional locking.

<Prev in Thread] Current Thread [Next in Thread>