From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Chinner Subject: Re: [ATTEND] [LSF TOPIC] What to do about O_DIRECT? Date: Mon, 21 Jan 2013 09:35:21 +1100 Message-ID: <20130120223521.GE2498@dastard> References: <20130118221007.GA2276@localhost.localdomain> <20130118230128.GA15758@thunk.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Josef Bacik , lsf-pc@lists.linux-foundation.org, linux-fsdevel@vger.kernel.org To: Theodore Ts'o Return-path: Received: from ipmail06.adl2.internode.on.net ([150.101.137.129]:4773 "EHLO ipmail06.adl2.internode.on.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752522Ab3ATWfd (ORCPT ); Sun, 20 Jan 2013 17:35:33 -0500 Content-Disposition: inline In-Reply-To: <20130118230128.GA15758@thunk.org> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Fri, Jan 18, 2013 at 06:01:28PM -0500, Theodore Ts'o wrote: > .... and can we get rid of this horrible hack where we have this > bastardized use of a struct buffer_head which is allocated on the > stack, which has nothing really to do with a buffer head, and is all > about the fact that no one wants to change the function signature for > get_block_t? I have patches to do that, but they are on the back burner right now because it causes some kind of weird corruption in the pwritev case that kvm uses to issue IO (i.e. large iovecs of 4k segments). IMO, the direct IO code is that complex and convoluted now that t is close to impossible to modify without introduce some weird, subtle and almost impossible to debug issue. The code has been optimised to the point of being unmaintainable, and I have seriously considered just reimplementing the bits XFS needs just for XFS several times in the past year.... Cheers, Dave. -- Dave Chinner david@fromorbit.com