On Tue, Apr 17, 2018 at 10:40 AM, Andreas Dilger <adilger(a)dilger.ca> wrote:
On Apr 17, 2018, at 10:57 AM, Darrick J. Wong
<darrick.wong(a)oracle.com> wrote:
>
> On Tue, Apr 17, 2018 at 09:53:47AM -0700, Dan Williams wrote:
>> On Tue, Apr 17, 2018 at 9:10 AM, Christoph Hellwig <hch(a)infradead.org>
wrote:
>>> On Tue, Apr 17, 2018 at 10:40:59PM +0800, Xiong Zhou wrote:
>>>> We got these in v4.17-rc1:
>>>> 6e2608d xfs, dax: introduce xfs_dax_aops
>>>> fb094c9 ext2, dax: introduce ext2_dax_aops
>>>> 5f0663b ext4, dax: introduce ext4_dax_aops
>>>>
>>>> And we don't have ->bmap call in these aops, which may lead
>>>> to the ioctl call failure.
>>>>
>>>> Do we have any plan of adding/supporting it ?
>>>>
>>>> xfstests generic/223 covers this issue. If we are not going
>>>> to support this call for dax, we need to fix the testcase.
>>>
>>> Not supporting ->bmap is a good thing as it is hightly dangerous.
>>
>> I take this to mean "don't fix, it is another casualty of dax being
>> experimental and it won't be coming back". I can get on board with
>> that.
>>
>> Otherwise, I was about to send a series adding bmap to {xfs,ext2,ext4}_dax_ops.
>
> Frankly I'd rather see the swapfile code learn how to iomap and then we
> can get rid of bmap in xfs entirely.
Is anyone still using LILO to boot? It needed FIBMAP support to map the
kernel image for booting. I don't know if Grub needs FIBMAP support for
the early boot stages or not (it has minimal filesystem support in the
later stages), but it would be a shame if it wasn't possible to boot an
all-NVRAM system as a result of a missing ->bmap() method. Alternately,
convince the Grub folks to use FIEMAP if that is available...
For boot the recommendation is to use the BTT
(block-translation-table) to provide a sector-atomic block device for
the system-partition. Such a configuration does not support DAX mode
operation, so there should be no conflict. The EFI system partition is
also FAT in most cases which does not support DAX.