Re: [PATCH v9 02/10] dax: Introduce holder for dax_device

From: Darrick J. Wong
Date: Thu Jan 20 2022 - 21:22:06 EST


On Fri, Jan 21, 2022 at 09:26:52AM +0800, Shiyang Ruan wrote:
>
>
> 在 2022/1/20 16:46, Christoph Hellwig 写道:
> > On Wed, Jan 05, 2022 at 04:12:04PM -0800, Dan Williams wrote:
> > > We ended up with explicit callbacks after hch balked at a notifier
> > > call-chain, but I think we're back to that now. The partition mistake
> > > might be unfixable, but at least bdev_dax_pgoff() is dead. Notifier
> > > call chains have their own locking so, Ruan, this still does not need
> > > to touch dax_read_lock().
> >
> > I think we have a few options here:
> >
> > (1) don't allow error notifications on partitions. And error return from
> > the holder registration with proper error handling in the file
> > system would give us that

Hm, so that means XFS can only support dax+pmem when there aren't
partitions in use? Ew.

> > (2) extent the holder mechanism to cover a rangeo

I don't think I was around for the part where "hch balked at a notifier
call chain" -- what were the objections there, specifically? I would
hope that pmem problems would be infrequent enough that the locking
contention (or rcu expiration) wouldn't be an issue...?

> > (3) bite the bullet and create a new stacked dax_device for each
> > partition
> >
> > I think (1) is the best option for now. If people really do need
> > partitions we'll have to go for (3)
>
> Yes, I agree. I'm doing it the first way right now.
>
> I think that since we can use namespace to divide a big NVDIMM into multiple
> pmems, partition on a pmem seems not so meaningful.

I'll try to find out what will happen if pmem suddenly stops supporting
partitions...

--D

>
> --
> Thanks,
> Ruan.
>
>