| 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> |
|---|---|---|
| ||
| Previous by Date: | Re: [PATCH 3/3] xfs: flush the CIL via a workqueue, Dave Chinner |
|---|---|
| Next by Date: | Re: [PATCH 3/3] xfs: flush the CIL via a workqueue, Christoph Hellwig |
| Previous by Thread: | [PATCH 2/2] xfs: fix splice/direct-IO deadlock, Dave Chinner |
| Next by Thread: | Re: [PATCH 0/2] splice: i_mutex vs splice write deadlock, Dave Chinner |
| Indexes: | [Date] [Thread] [Top] [All Lists] |