Re: [PATCH 3/7] xfs: protect S_DAX transitions in XFS read path

From: Christoph Hellwig
Date: Tue Sep 26 2017 - 10:34:05 EST


On Tue, Sep 26, 2017 at 06:59:37AM -0700, Dan Williams wrote:
> > I think you probably want an IOCB_DAX flag to check IS_DAX once and
> > then stick to it, similar to what we do for direct I/O.
>
> I wonder if this works better with a reference count mechanism
> per-file so that we don't need a hold a lock over the whole
> transition. Similar to request_queue reference counting, when DAX is
> being turned off we block new references and drain the in-flight ones.

Maybe. But that assumes we want to be stuck in a perpetual binary
DAX on/off state on a given file. Which makes not only for an awkward
interface (inode or mount flag), but also might be fundamentally the
wrong thing to do for some media where you'd happily read directly
from it but rather buffer writes in DRAM.