Re: [dm-devel] [PATCH v8 0/5] Introduce provisioning primitives

2023-10-10 Thread Dave Chinner
On Tue, Oct 10, 2023 at 03:42:53PM -0700, Sarthak Kukreti wrote: > On Sun, Oct 8, 2023 at 4:50 PM Dave Chinner wrote: > > > > On Fri, Oct 06, 2023 at 06:28:12PM -0700, Sarthak Kukreti wrote: > > > Hi, > > > > > > This patch series is version 8 of the p

Re: [dm-devel] [PATCH v8 5/5] block: Pass unshare intent via REQ_OP_PROVISION

2023-10-10 Thread Dave Chinner
On Tue, Oct 10, 2023 at 03:42:39PM -0700, Sarthak Kukreti wrote: > On Sun, Oct 8, 2023 at 4:27 PM Dave Chinner wrote: > > > > On Fri, Oct 06, 2023 at 06:28:17PM -0700, Sarthak Kukreti wrote: > > > Allow REQ_OP_PROVISION to pass in an extra REQ_UNSHARE bit to > &g

Re: [dm-devel] [PATCH v8 3/5] loop: Add support for provision requests

2023-10-10 Thread Dave Chinner
On Tue, Oct 10, 2023 at 03:43:10PM -0700, Sarthak Kukreti wrote: > On Sun, Oct 8, 2023 at 4:37 PM Dave Chinner wrote: > > > > On Fri, Oct 06, 2023 at 06:28:15PM -0700, Sarthak Kukreti wrote: > > > Add support for provision requests to loopback devices. > > > Loop

Re: [dm-devel] [PATCH v8 0/5] Introduce provisioning primitives

2023-10-08 Thread Dave Chinner
eallocation gets propagated by the filesystem down to the backing device correctly and that subsequent IO to the file then does the right thing (e.g. fio testing using fallocate() to set up the files being written to) -Dave. -- Dave Chinner da...@fromorbit.com -- dm-devel mailing list dm-devel@

[dm-devel] [RFC PATCH 7/5] xfs: add block device provisioning for fallocate

2023-10-08 Thread Dave Chinner
From: Dave Chinner Provision space in the block device for preallocated file space when userspace asks for it. Make sure to do this outside of transaction context so it can fail without causing a filesystem shutdown. XXX: async provisioning submission/completion interface would be really useful

[dm-devel] [RFC PATCH 6/5] xfs: detect block devices requiring provisioning

2023-10-08 Thread Dave Chinner
From: Dave Chinner Block device provisioning detection infrastructure. Signed-off-by: Dave Chinner --- fs/xfs/xfs_buf.c | 2 ++ fs/xfs/xfs_buf.h | 1 + fs/xfs/xfs_mount.h | 11 ++- fs/xfs/xfs_super.c | 4 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/fs

Re: [dm-devel] [PATCH v8 3/5] loop: Add support for provision requests

2023-10-08 Thread Dave Chinner
ONE At minimuim, this set of implementation constraints needs tobe documented somewhere... -Dave. -- Dave Chinner da...@fromorbit.com -- dm-devel mailing list dm-devel@redhat.com https://listman.redhat.com/mailman/listinfo/dm-devel

Re: [dm-devel] [PATCH v8 5/5] block: Pass unshare intent via REQ_OP_PROVISION

2023-10-08 Thread Dave Chinner
hould be blkdev_issue_unshare() rather than optional behaviour to _provision() which - before this patch - had clear and well defined meaning Cheers, Dave. -- Dave Chinner da...@fromorbit.com -- dm-devel mailing list dm-devel@redhat.com https://listman.redhat.com/mailman/listinfo/dm-devel

Re: [dm-devel] [PATCH v4 46/48] mm: shrinker: make memcg slab shrink lockless

2023-08-07 Thread Dave Chinner
ropping the refcount to zero and freeing occuring in a different context... > + /* > + * We have already exited the read-side of rcu critical section > + * before calling do_shrink_slab(), the shrinker_info may be > + * released in expand_one_shrinker_info(), so reacquire the > + * shrinker_info. > + */ > + index++; > + goto again; With that, what makes the use of shrinker_info in xchg_nr_deferred_memcg() in do_shrink_slab() coherent and valid? -Dave. -- Dave Chinner da...@fromorbit.com -- dm-devel mailing list dm-devel@redhat.com https://listman.redhat.com/mailman/listinfo/dm-devel

Re: [dm-devel] [PATCH v4 45/48] mm: shrinker: make global slab shrink lockless

2023-08-07 Thread Dave Chinner
ker_put(shrinker); > + wait_for_completion(>done); > + } Needs a comment explaining why we need to wait here... > + > down_write(_rwsem); > if (shrinker->flags & SHRINKER_REGISTERED) { > - list_del(>list); > +

Re: [dm-devel] [PATCH v4 44/48] mm: shrinker: add a secondary array for shrinker_info::{map, nr_deferred}

2023-08-07 Thread Dave Chinner
> unsigned long ret, freed = 0; > - int i; > + int offset, index = 0; > > if (!mem_cgroup_online(memcg)) > return 0; > @@ -419,56 +470,63 @@ static unsigned long shrink_slab_memcg(gfp_t gfp_mask, > int nid, > if (unlikely(!inf

Re: [dm-devel] [PATCH v4 45/48] mm: shrinker: make global slab shrink lockless

2023-08-07 Thread Dave Chinner
lowing cases. > This commit uses the refcount+RCU method [5] proposed by Dave Chinner > to re-implement the lockless global slab shrink. The memcg slab shrink is > handled in the subsequent patch. > --- > include/linux/shrinker.h | 17 ++ >

Re: [dm-devel] [PATCH v2 44/47] mm: shrinker: make global slab shrink lockless

2023-07-26 Thread Dave Chinner
gt; We used to implement the lockless slab shrink with SRCU [2], but then > kernel test robot reported -88.8% regression in > stress-ng.ramfs.ops_per_sec test case [3], so we reverted it [4]. > > This commit uses the refcount+RCU method [5] proposed by Dave Chinner > to re-implement th

Re: [dm-devel] [PATCH v2 03/47] mm: shrinker: add infrastructure for dynamically allocating shrinker

2023-07-26 Thread Dave Chinner
shrinker); up_write(_rwsem); if (debugfs_entry) shrinker_debugfs_remove(debugfs_entry, debugfs_id); kfree(shrinker->nr_deferred); kfree(shrinker); } EXPORT_SYMBOL_GPL(shrinker_free); -- Dave Chinner da...@fromorbit.com -- dm-devel mailing list dm-devel@redhat.com https://listman.redhat.com/mailman/listinfo/dm-devel

Re: [dm-devel] [PATCH 24/29] mm: vmscan: make global slab shrink lockless

2023-06-23 Thread Dave Chinner
On Fri, Jun 23, 2023 at 09:10:57PM +0800, Qi Zheng wrote: > On 2023/6/23 14:29, Dave Chinner wrote: > > On Thu, Jun 22, 2023 at 05:12:02PM +0200, Vlastimil Babka wrote: > > > On 6/22/23 10:53, Qi Zheng wrote: > > Yes, I suggested the IDR route because radi

Re: [dm-devel] [PATCH 24/29] mm: vmscan: make global slab shrink lockless

2023-06-23 Thread Dave Chinner
t now. > IIUC this is why Dave in [4] suggests unifying shrink_slab() with > shrink_slab_memcg(), as the latter doesn't iterate the list but uses IDR. Yes, I suggested the IDR route because radix tree lookups under RCU with reference counted objects are a known safe pattern that we can easil

Re: [dm-devel] [PATCH 02/29] mm: vmscan: introduce some helpers for dynamically allocating shrinker

2023-06-23 Thread Dave Chinner
lts in... The other advantage of this is that it will break all the existing out of tree code and third party modules using the old API and will no longer work with a kernel using lockless slab shrinkers. They need to break (both at the source and binary levels) to stop bad things from happening due to using uncoverted shrinkers in the new setup. -Dave. -- Dave Chinner da...@fromorbit.com -- dm-devel mailing list dm-devel@redhat.com https://listman.redhat.com/mailman/listinfo/dm-devel

Re: [dm-devel] [PATCH v7 0/5] Introduce provisioning primitives

2023-06-09 Thread Dave Chinner
"EXPERIMENTAL online shrink feature in use. Use at your own risk!"); fs/xfs/xfs_super.c: xfs_warn(mp, "DAX enabled. Warning: EXPERIMENTAL, use at your own risk"); fs/xfs/xfs_super.c: "EXPERIMENTAL Large extent counts feature in use. Use at your own risk!&quo

Re: [dm-devel] [PATCH v7 0/5] Introduce provisioning primitives

2023-06-08 Thread Dave Chinner
under 50 lines of new code... Cheers, Dave. -- Dave Chinner da...@fromorbit.com -- dm-devel mailing list dm-devel@redhat.com https://listman.redhat.com/mailman/listinfo/dm-devel

Re: [dm-devel] [PATCH v7 0/5] Introduce provisioning primitives

2023-06-08 Thread Dave Chinner
rdware and/or remote block storage devices (e.g. ceph-rbd, nbd, etc). Hence "external" devices can provide the same guarantees as a native software-only block device implementations like dm-thinp can provide and everything gets just that little bit better behaved... Cheers, Dave. --

Re: [dm-devel] [PATCH v7 0/5] Introduce provisioning primitives

2023-06-06 Thread Dave Chinner
On Mon, Jun 05, 2023 at 02:14:44PM -0700, Sarthak Kukreti wrote: > On Sat, Jun 3, 2023 at 8:57 AM Mike Snitzer wrote: > > On Fri, Jun 02 2023 at 8:52P -0400, > > Dave Chinner wrote: > > > On Fri, Jun 02, 2023 at 11:44:27AM -0700, Sarthak Kukreti wrote: > > >

Re: [dm-devel] [PATCH v7 0/5] Introduce provisioning primitives

2023-06-06 Thread Dave Chinner
On Sat, Jun 03, 2023 at 11:57:48AM -0400, Mike Snitzer wrote: > On Fri, Jun 02 2023 at 8:52P -0400, > Dave Chinner wrote: > > > On Fri, Jun 02, 2023 at 11:44:27AM -0700, Sarthak Kukreti wrote: > > > On Tue, May 30, 2023 at 8:28 AM Mike Snitzer wrote: > > > &g

Re: [dm-devel] [PATCH v7 0/5] Introduce provisioning primitives

2023-06-02 Thread Dave Chinner
people want to do is add arbitrary implementation constraints that result in complex cross-layer corner cases that now need to be handled.... Put simply: if we restrict REQ_OP_PROVISION guarantees to just REQ_META writes (or any other specific type of write operation) then it's simply not worth persuing at the filesystem level because the guarantees we actually need just aren't there and the complexity of discovering and handling those corner cases just isn't worth the effort. Cheers, Dave. -- Dave Chinner da...@fromorbit.com -- dm-devel mailing list dm-devel@redhat.com https://listman.redhat.com/mailman/listinfo/dm-devel

Re: [dm-devel] [PATCH v7 19/20] fs: iomap: use bio_add_folio_nofail where possible

2023-05-31 Thread Dave Chinner
On Thu, Jun 01, 2023 at 06:20:21AM +0200, Christoph Hellwig wrote: > On Thu, Jun 01, 2023 at 08:36:59AM +1000, Dave Chinner wrote: > > We lose adjacent page merging with this change. > > This is only used for adding the first folio to a brand new bio, > so there is nothing

Re: [dm-devel] [PATCH v7 19/20] fs: iomap: use bio_add_folio_nofail where possible

2023-05-31 Thread Dave Chinner
h more performant when it only has to do a single large DMA instead of (potentially) hundreds of single page DMAs for the same amount of data... What performance regression testing has been done on this change? -Dave. -- Dave Chinner da...@fromorbit.com -- dm-devel mailing list dm-devel@redhat.com https://listman.redhat.com/mailman/listinfo/dm-devel

Re: [dm-devel] fuzzing bcachefs with dm-flakey

2023-05-29 Thread Dave Chinner
ly cleanly at this stage of it's development Perhaps it is worthwhile running the same tests on btrfs so we can something to compare the bcachefs behaviour to. I suspect that btrfs will fair little better on the single device, no checksums corruption test Cheers, Dave. -- Dave Chinner da.

Re: [dm-devel] [PATCH v7 0/5] Introduce provisioning primitives

2023-05-26 Thread Dave Chinner
are near full would be equivalent to how I plan to provision metadata space in XFS. Hence the implementation for ext4 looks to be broadly similar in scope and complexity as XFS -Dave. -- Dave Chinner da...@fromorbit.com -- dm-devel mailing list dm-devel@redhat.com https://listman.redhat.com/mailman/listinfo/dm-devel

Re: [dm-devel] [PATCH v7 0/5] Introduce provisioning primitives

2023-05-26 Thread Dave Chinner
On Thu, May 25, 2023 at 12:19:47PM -0400, Brian Foster wrote: > On Wed, May 24, 2023 at 10:40:34AM +1000, Dave Chinner wrote: > > On Tue, May 23, 2023 at 11:26:18AM -0400, Mike Snitzer wrote: > > > On Tue, May 23 2023 at 10:05P -0400, Brian Foster > > > wrote: > &g

Re: [dm-devel] [PATCH v7 0/5] Introduce provisioning primitives

2023-05-25 Thread Dave Chinner
On Thu, May 25, 2023 at 03:47:21PM -0700, Sarthak Kukreti wrote: > On Thu, May 25, 2023 at 9:00 AM Mike Snitzer wrote: > > On Thu, May 25 2023 at 7:39P -0400, > > Dave Chinner wrote: > > > On Wed, May 24, 2023 at 04:02:49PM -0400, Mike Snitzer wrote: > > > >

Re: [dm-devel] [PATCH v7 0/5] Introduce provisioning primitives

2023-05-25 Thread Dave Chinner
On Wed, May 24, 2023 at 04:02:49PM -0400, Mike Snitzer wrote: > On Tue, May 23 2023 at 8:40P -0400, > Dave Chinner wrote: > > > On Tue, May 23, 2023 at 11:26:18AM -0400, Mike Snitzer wrote: > > > On Tue, May 23 2023 at 10:05P -0400, Brian Foster > > > wrote: &

Re: [dm-devel] [PATCH v7 0/5] Introduce provisioning primitives

2023-05-23 Thread Dave Chinner
e fs and block devices to avoid fatal ENOSPC issues with sparse and/or snapshot capable block devices... As a bonus, if we can implement the guarantees in dm-thin/-snapshot and have a filesystem make use of it, then we also have a reference implementation to point at device vendors and standards associations Cheers, Dave. -- Dave Chinner da...@fromorbit.com -- dm-devel mailing list dm-devel@redhat.com https://listman.redhat.com/mailman/listinfo/dm-devel

Re: [dm-devel] [PATCH v7 0/5] Introduce provisioning primitives

2023-05-19 Thread Dave Chinner
ON and fail gracefully during metadata allocation. However, doing so means that we can actually harden filesystems against sparse block device ENOSPC errors by ensuring they will never occur in critical filesystem structures -Dave. -- Dave Chinner da...@fromorbit.com -- dm-devel mailing l

Re: [dm-devel] [PATCH 3/5] iomap: simplify iomap_init() with PAGE_SECTORS

2023-04-21 Thread Dave Chinner
, it's just premature optimisation at the expense of maintainability. The compiler will optimise the multiplication into shifts if that is the fastest way to do it for the given architecture the code is being compiled to. -Dave. -- Dave Chinner da...@fromorbit.com -- dm-devel mailing list dm-devel@redhat.com https://listman.redhat.com/mailman/listinfo/dm-devel

Re: [dm-devel] [PATCH v4 1/4] block: Introduce provisioning primitives

2023-04-19 Thread Dave Chinner
on; all the application has to do is implement the fallocate() fast path and a single generic "do the right thing the slow way" fallback when the fallocate() method it called is not supported... -Dave. -- Dave Chinner da...@fromorbit.com -- dm-devel mailing list dm-devel@redhat.com https://listman.redhat.com/mailman/listinfo/dm-devel

Re: [PATCH] xfs: fail dax mount if reflink is enabled on a partition

2022-11-02 Thread Dave Chinner
SECTION -- xfs_dax_noreflink = Failures: generic/051 generic/068 generic/231 generic/269 generic/270 generic/340 generic/388 generic/461 generic/471 generic/476 generic/519 generic/560 generic/561 xfs/011 xfs/013 xfs/073 xfs/297 xfs/305 xfs/517 xfs/538 Failed 20 of 2

Re: [PATCH] xfs: fail dax mount if reflink is enabled on a partition

2022-10-23 Thread Dave Chinner
On Mon, Oct 24, 2022 at 03:17:52AM +, ruansy.f...@fujitsu.com wrote: > 在 2022/10/24 6:00, Dave Chinner 写道: > > On Fri, Oct 21, 2022 at 07:11:02PM -0700, Darrick J. Wong wrote: > >> On Thu, Oct 20, 2022 at 10:17:45PM +0800, Yang, Xiao/杨 晓 wrote: > >>> In addition

Re: [PATCH] xfs: fail dax mount if reflink is enabled on a partition

2022-10-23 Thread Dave Chinner
X core away from block interfaces that filesystems need for their userspace tools to manage the storage. At what point do we simply say "the experiment failed, FSDAX is dead" and remove it from XFS altogether? Cheers, Dave. -- Dave Chinner da...@fromorbit.com

[dm-devel] [BUG 5.19-rc0] dm: BIOSET_PERCPU_CACHE breaks dm-error

2022-05-29 Thread Dave Chinner
poll_supported = !!dm_table_supports_poll(t); + //poll_supported = !!dm_table_supports_poll(t); } t->mempools = dm_alloc_md_mempools(md, type, per_io_data_size, min_pool_size, -- Dave Chinner da...@fromorbit.com -- dm-devel mailing list dm-devel@redhat.com https:/

Re: [dm-devel] [PATCH v4 00/10] Add Copy offload support

2022-05-02 Thread Dave Chinner
On Mon, May 02, 2022 at 09:54:55PM +0900, Damien Le Moal wrote: > On 2022/05/02 13:09, Dave Chinner wrote: > > On Wed, Apr 27, 2022 at 06:19:51PM +0530, Nitesh Shetty wrote: > >> O Wed, Apr 27, 2022 at 11:19:48AM +0900, Damien Le Moal wrote: > >>> On 4/26

Re: [dm-devel] [PATCH v4 00/10] Add Copy offload support

2022-05-01 Thread Dave Chinner
ck device setup at all... i.e. I think you're doing this compeltely backwards by trying to target non-existent hardware first Cheers, Dave. -- Dave Chinner da...@fromorbit.com -- dm-devel mailing list dm-devel@redhat.com https://listman.redhat.com/mailman/listinfo/dm-devel

Re: [dm-devel] [PATCH v3 00/10] Add Copy offload support

2022-02-22 Thread Dave Chinner
On Thu, Feb 17, 2022 at 06:32:15PM +0530, Nitesh Shetty wrote: > Tue, Feb 15, 2022 at 09:08:12AM +1100, Dave Chinner wrote: > > On Mon, Feb 14, 2022 at 01:29:50PM +0530, Nitesh Shetty wrote: > > > [LSF/MM/BFP TOPIC] Storage: Copy Offload[0]. > > The biggest missing piece -

Re: [dm-devel] Intel QAT on A2SDi-8C-HLN4F causes massive data corruption with dm-crypt + xfs

2022-02-19 Thread Dave Chinner
> Please CC me on replies as I'm not subscribed to all lists. CPU is C3758. [snip stalled kcryptd worker threads] This implies a dmcrypt level problem - XFS can't make progress is dmcrypt is not completing IOs. Where are the XFS corruption reports that the subject implies is occurring? C

Re: [dm-devel] [PATCH v3 00/10] Add Copy offload support

2022-02-14 Thread Dave Chinner
itself. And, in reality, I wouldn't trust a block copy offload mechanism until it is integrated with filesystems, the page cache and has solid end-to-end data integrity testing available to shake out all the bugs that will inevitably exist in this stack Cheers, Dave. -- Dave Chinner da...@fromorbi

Re: [dm-devel] [PATCH 0/6] dax poison recovery with RWF_RECOVERY_DATA flag

2021-10-29 Thread Dave Chinner
On Fri, Oct 29, 2021 at 12:46:14PM +0100, Pavel Begunkov wrote: > On 10/28/21 23:59, Dave Chinner wrote: > [...] > > > > Well, my point is doing recovery from bit errors is by definition not > > > > the fast path. Which is why I'd rather keep it away from the pme

Re: [dm-devel] [PATCH 0/6] dax poison recovery with RWF_RECOVERY_DATA flag

2021-10-28 Thread Dave Chinner
uch overhead for the fast path" argument is completely invalid - if 4 conditional branches is too much overhead to add to the fast path, then we can't add *anything ever again* to the IO path because it has too much overhead and impact on the fast path. Cheers, Dave. -- Dave Chinner da...@fromorbit.com -- dm-devel mailing list dm-devel@redhat.com https://listman.redhat.com/mailman/listinfo/dm-devel

Re: [dm-devel] [PATCH v4] loop: don't print warnings if the underlying filesystem doesn't support discard

2021-10-27 Thread Dave Chinner
On Wed, Oct 27, 2021 at 04:28:03AM -0400, Mikulas Patocka wrote: > > > On Wed, 27 Oct 2021, Dave Chinner wrote: > > > On Wed, Oct 13, 2021 at 05:28:36AM -0400, Mikulas Patocka wrote: > > > Hi > > > > > > Here I'm sending version 4 of the p

Re: [dm-devel] [PATCH v4] loop: don't print warnings if the underlying filesystem doesn't support discard

2021-10-26 Thread Dave Chinner
rq->rq_flags |= RQF_QUIET; return ret; And then we can also run blk_queue_flag_clear(QUEUE_FLAG_DISCARD) (and whatever else is needed to kill discards) to turn off future discard attempts on that loopback device. This way the problem is just quietly and correctly handled by the lo

Re: [dm-devel] [RFC PATCH v5 0/4] add simple copy support

2021-02-21 Thread Dave Chinner
this point about cross-device XCOPY at this point? Cheers, Dave. -- Dave Chinner da...@fromorbit.com -- dm-devel mailing list dm-devel@redhat.com https://listman.redhat.com/mailman/listinfo/dm-devel

Re: [dm-devel] [PATCH 0/6] Overhaul memalloc_no*

2020-06-29 Thread Dave Chinner
On Mon, Jun 29, 2020 at 09:43:23AM -0400, Mikulas Patocka wrote: > On Mon, 29 Jun 2020, Dave Chinner wrote: > > On Sat, Jun 27, 2020 at 09:09:09AM -0400, Mikulas Patocka wrote: > > > On Sat, 27 Jun 2020, Dave Chinner wrote: > > > > On Fri, Jun 26, 2020 at 11:02:19A

Re: [dm-devel] [PATCH 0/6] Overhaul memalloc_no*

2020-06-28 Thread Dave Chinner
On Sat, Jun 27, 2020 at 09:09:09AM -0400, Mikulas Patocka wrote: > > > On Sat, 27 Jun 2020, Dave Chinner wrote: > > > On Fri, Jun 26, 2020 at 11:02:19AM -0400, Mikulas Patocka wrote: > > > Hi > > > > > > I suggest to join memalloc_noio and memalloc

Re: [dm-devel] [PATCH 0/6] Overhaul memalloc_no*

2020-06-26 Thread Dave Chinner
able to make progress now because it is much less restricted in what it can reclaim. That's going to make direct relcaim faster and more efficient, and taht's the ultimate goal we are aiming to acheive here... Cheers, Dave. -- Dave Chinner da...@fromorbit.com -- dm-devel mailing list dm-devel

Re: [dm-devel] [PATCH v5 2/8] drivers/pmem: Allow pmem_clear_poison() to accept arbitrary offset and len

2020-02-27 Thread Dave Chinner
On Thu, Feb 27, 2020 at 10:25:17AM -0500, Vivek Goyal wrote: > On Thu, Feb 27, 2020 at 02:11:43PM +1100, Dave Chinner wrote: > > On Wed, Feb 26, 2020 at 11:57:56AM -0500, Vivek Goyal wrote: > > > On Tue, Feb 25, 2020 at 02:49:30PM -0800, Dan Williams wrote: > > &

Re: [dm-devel] [PATCH v5 2/8] drivers/pmem: Allow pmem_clear_poison() to accept arbitrary offset and len

2020-02-27 Thread Dave Chinner
On Wed, Feb 26, 2020 at 08:19:37PM -0800, Dan Williams wrote: > On Wed, Feb 26, 2020 at 7:03 PM Dave Chinner wrote: > > On Mon, Feb 24, 2020 at 10:38:44AM -0500, Vivek Goyal wrote: > > > Anyway, partial page truncate can't ensure that data in rest of the page > >

Re: [dm-devel] [PATCH v5 2/8] drivers/pmem: Allow pmem_clear_poison() to accept arbitrary offset and len

2020-02-26 Thread Dave Chinner
since 1999. It predates unwritten extents (1998) and I don't think any native linux applications have ever used it. A newly written DAX aware application would almost certainly not use this interface. IOWs, I wouldn't use it as justification for some special case behaviour; I'm more likely to say "rip that ancient ioctl out" than to jump through hoops because it's implementation behaviour. Cheers, Dave. -- Dave Chinner da...@fromorbit.com -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel

Re: [dm-devel] [PATCH v5 2/8] drivers/pmem: Allow pmem_clear_poison() to accept arbitrary offset and len

2020-02-26 Thread Dave Chinner
On Mon, Feb 24, 2020 at 10:38:44AM -0500, Vivek Goyal wrote: > On Mon, Feb 24, 2020 at 10:03:30AM +1100, Dave Chinner wrote: > > [..] > > > > > Hi Jeff, > > > > > > > > > > New dax zeroing interface (dax_zero_page_range()) can technica

Re: [dm-devel] [PATCH v5 2/8] drivers/pmem: Allow pmem_clear_poison() to accept arbitrary offset and len

2020-02-23 Thread Dave Chinner
eing zeroed, then they all should be cleared (and hence all I/O should > be aligned) otherwise error is returned. If yes, I could make that > change. > > Downside of current interface is that it will clear as many blocks as > possible in the given range and leave starting and end blocks poisoned > (if it is unaligned) and not return error. That means a reader will > get error on these blocks again and they will have to try to clear it > again. Which is solved by having partial page writes always EIO on poisoned memory. Cheers, Dave. -- Dave Chinner da...@fromorbit.com -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel

Re: [PATCH] direct-io: use GFP_NOIO to avoid deadlock

2019-08-14 Thread Dave Chinner
On Tue, Aug 13, 2019 at 12:35:49PM -0400, Mikulas Patocka wrote: > > > On Sat, 10 Aug 2019, Dave Chinner wrote: > > > No, you misunderstand. I'm talking about blocking kswapd being > > wrong. i.e. Blocking kswapd in shrinkers causes problems > > because th ememor

Re: [PATCH] direct-io: use GFP_NOIO to avoid deadlock

2019-08-09 Thread Dave Chinner
On Fri, Aug 09, 2019 at 07:30:00AM -0400, Mikulas Patocka wrote: > > > On Fri, 9 Aug 2019, Dave Chinner wrote: > > > And, FWIW, there's an argument to be made here that the underlying > > bug is dm_bufio_shrink_scan() blocking kswapd by waiting on IO > > com

Re: [PATCH] direct-io: use GFP_NOIO to avoid deadlock

2019-08-08 Thread Dave Chinner
ime around 4.8 or 4.9, IIRC. Perhaps it would be best to reproduce problems on a TOT kernel first? And, FWIW, there's an argument to be made here that the underlying bug is dm_bufio_shrink_scan() blocking kswapd by waiting on IO completions while holding a mutex that other IO-level reclaim contexts require to make progress. Cheers, Dave. -- Dave Chinner da...@fromorbit.com

Re: [dm-devel] block layer API for file system creation - when to use multidisk mode

2018-11-30 Thread Dave Chinner
On Fri, Nov 30, 2018 at 01:00:52PM -0500, Ric Wheeler wrote: > On 11/30/18 7:55 AM, Dave Chinner wrote: > >On Thu, Nov 29, 2018 at 06:53:14PM -0500, Ric Wheeler wrote: > >>Other file systems also need to > >>accommodate/probe behind the fictitious visible storage devic

Re: [dm-devel] Snapshot target and DAX-capable devices

2018-09-04 Thread Dave Chinner
On Fri, Aug 31, 2018 at 11:42:55AM +0200, Jan Kara wrote: > On Fri 31-08-18 09:38:09, Dave Chinner wrote: > > On Thu, Aug 30, 2018 at 03:47:32PM -0400, Mikulas Patocka wrote: > > > You can't support dax on snapshot - if someone maps a block and the block > > > n

Re: [dm-devel] Snapshot target and DAX-capable devices

2018-08-30 Thread Dave Chinner
l block address space mapping interfaces that could help solve this problem Cheers, Dave. -- Dave Chinner da...@fromorbit.com -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel

Re: [dm-devel] Snapshot target and DAX-capable devices

2018-08-30 Thread Dave Chinner
nd define how active userspace controlled DAX-only features behave when DAX is no longer available... Cheers, Dave. -- Dave Chinner da...@fromorbit.com -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel

Re: [dm-devel] [PATCH v2 2/7] dax: change bdev_dax_supported() to support boolean returns

2018-06-04 Thread Dave Chinner
On Mon, Jun 04, 2018 at 08:33:26PM -0400, Mike Snitzer wrote: > On Mon, Jun 04 2018 at 7:40pm -0400, > Dan Williams wrote: > > > On Sun, Jun 3, 2018 at 6:48 PM, Dan Williams > > wrote: > > > On Sun, Jun 3, 2018 at 5:25 PM, Dave Chinner wrote: > > >>

Re: [dm-devel] [PATCH v2 2/7] dax: change bdev_dax_supported() to support boolean returns

2018-06-03 Thread Dave Chinner
On Thu, May 31, 2018 at 09:02:52PM -0700, Dan Williams wrote: > On Thu, May 31, 2018 at 7:24 PM, Dave Chinner wrote: > > On Thu, May 31, 2018 at 06:57:33PM -0700, Dan Williams wrote: > >> > FWIW, XFS+DAX used to just work on this setup (I hadn't even > >> > i

Re: [dm-devel] [PATCH v2 2/7] dax: change bdev_dax_supported() to support boolean returns

2018-05-31 Thread Dave Chinner
On Thu, May 31, 2018 at 06:57:33PM -0700, Dan Williams wrote: > On Thu, May 31, 2018 at 6:26 PM, Dave Chinner wrote: > > On Thu, May 31, 2018 at 12:13:32PM -0700, Darrick J. Wong wrote: > >> On Tue, May 29, 2018 at 04:01:14PM -0600, Ross Zwisler wrote: > >> > On T

Re: [dm-devel] [PATCH v2 2/7] dax: change bdev_dax_supported() to support boolean returns

2018-05-31 Thread Dave Chinner
;namespace0.0", "mode":"raw", "size":8589934592, "sector_size":512, "blockdev":"pmem0" } ] $ sudo ndctl create-namespace -f -e namespace0.0 --mode=fsdax Error: operation failed, region0 fsdax mode not available fail

Re: [dm-devel] V4.16+ kernel warning when running xfs/006

2018-04-04 Thread Dave Chinner
them. The code is perfectly OK, just the debug code doesn't understand that. See https://marc.info/?l=linux-fsdevel=152285269706656=2 Cheers, Dave. -- Dave Chinner da...@fromorbit.com -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel

Re: [dm-devel] [fstests PATCH v3] generic: add test for DAX MAP_SYNC support

2017-10-25 Thread Dave Chinner
complex custom dm logwrite tests without needing one-off test programs for them all... > +#! /bin/bash > +# FS QA Test No. 466 > +# > +# Use md_log_writes to verify that MAP_SYNC actually syncs metadata during dm_log_writes? > +# We should see $SCRATCH_MNT/test as having 1MiB in block allocations > +du -sh $SCRATCH_MNT/test | _filter_scratch | _filter_spaces Perhaps stat -c %b $SCRATCH_MNT/test ? Cheers, Dave. -- Dave Chinner da...@fromorbit.com -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel

Re: [dm-devel] [RFC PATCH] mm: introduce kv[mz]alloc helpers

2016-12-08 Thread Dave Chinner
_large(), which is XFS's version of kvmalloc() that is GFP_NOFS/GFP_NOIO safe. Any generic API for this functionality will have to play these memalloc_noio_save/ memalloc_noio_restore games to ensure they are GFP_NOFS safe Cheers, Dave. -- Dave Chinner da...@fromorbit.com -- dm-devel

Re: [dm-devel] [PATCH] dm flakey: add DAX support

2016-09-20 Thread Dave Chinner
ing of the sort. Right now the test harness execution clearly documents that there is no failure testing being run on DAX devices, and that's the way it should remain until dmflakey, dmerror, etc can inject the required errors into the DAX paths.... Cheers, Dave. -- Dave Chinner da...@fromorbit.co

[dm-devel] [4.7-rc6 snapshot] xfstests::generic/081 unable to tear down snapshot VG

2016-07-18 Thread Dave Chinner
Well, that might have been the case if you could actually run a test once generic/081 failed to clean up, but you can't. So there's a window where the LVM teardown has failed, but a new DM device creation via dmsetup succeeds and overwrites part of the LVM config. And it's all down hill from there. What a mess. Can I have the last 2 hours of my life back, please? Cheers, Dave. -- Dave Chinner da...@fromorbit.com -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel