Re: [PATCH 0/3] iopmem : A block device for PCIe memory
From: Stephen Bates <hidden>
Date: 2016-10-25 12:38:02
Also in:
linux-block, linux-mm, lkml, nvdimm
Hi Dave and Christoph On Fri, Oct 21, 2016 at 10:12:53PM +1100, Dave Chinner wrote:
On Fri, Oct 21, 2016 at 02:57:14AM -0700, Christoph Hellwig wrote:quoted
On Fri, Oct 21, 2016 at 10:22:39AM +1100, Dave Chinner wrote:quoted
You do realise that local filesystems can silently change the location of file data at any point in time, so there is no such thing as a "stable mapping" of file data to block device addresses in userspace? If you want remote access to the blocks owned and controlled by a filesystem, then you need to use a filesystem with a remote locking mechanism to allow co-ordinated, coherent access to the data in those blocks. Anything else is just asking for ongoing, unfixable filesystem corruption or data leakage problems (i.e. security issues).
Dave are you saying that even for local mappings of files on a DAX capable system it is possible for the mappings to move on you unless the FS supports locking? Does that not mean DAX on such FS is inherently broken?
quoted
And at least for XFS we have such a mechanism :) E.g. I have a prototype of a pNFS layout that uses XFS+DAX to allow clients to do RDMA directly to XFS files, with the same locking mechanism we use for the current block and scsi layout in xfs_pnfs.c.
Thanks for fixing this issue on XFS Christoph! I assume this problem continues to exist on the other DAX capable FS? One more reason to consider a move to /dev/dax I guess ;-)... Stephen
Oh, that's good to know - pNFS over XFS was exactly what I was thinking of when I wrote my earlier reply. A few months ago someone else was trying to use file mappings in userspace for direct remote client access on fabric connected devices. I told them "pNFS on XFS and write an efficient transport for you hardware".... Now that I know we've got RDMA support for pNFS on XFS in the pipeline, I can just tell them "just write an rdma driver for your hardware" instead. :P Cheers, Dave. -- Dave Chinner david@fromorbit.com