Re: [PATCH] xfs: drop experimental warning for FSDAX

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Oct 02, 2023 at 06:09:56PM +0530, Chandan Babu R wrote:
> On Mon, Oct 02, 2023 at 08:15:57 PM +0800, Shiyang Ruan wrote:
> > 在 2023/9/30 2:34, Dan Williams 写道:
> >> Shiyang Ruan wrote:
> >>>
> >>>
> >>> 在 2023/9/29 1:13, Darrick J. Wong 写道:
> >>>> On Thu, Sep 28, 2023 at 09:20:52AM -0700, Andrew Morton wrote:
> >>>>> On Thu, 28 Sep 2023 16:44:00 +0800 Shiyang Ruan <ruansy.fnst@xxxxxxxxxxx> wrote:
> >>>>>
> >>>>>> But please pick the following patch[1] as well, which fixes failures of
> >>>>>> xfs55[0-2] cases.
> >>>>>>
> >>>>>> [1]
> >>>>>> https://lore.kernel.org/linux-xfs/20230913102942.601271-1-ruansy.fnst@xxxxxxxxxxx
> >>>>>
> >>>>> I guess I can take that xfs patch, as it fixes a DAX patch.  I hope the xfs team
> >>>>> are watching.
> >>>>>
> >>>>> But
> >>>>>
> >>>>> a) I'm not subscribed to linux-xfs and
> >>>>>
> >>>>> b) the changelog fails to describe the userspace-visible effects of
> >>>>>      the bug, so I (and others) are unable to determine which kernel
> >>>>>      versions should be patched.
> >>>>>
> >>>>> Please update that changelog and resend?
> >>>>
> >>>> That's a purely xfs patch anyways.  The correct maintainer is Chandan,
> >>>> not Andrew.
> >>>>
> >>>> /me notes that post-reorg, patch authors need to ask the release manager
> >>>> (Chandan) directly to merge their patches after they've gone through
> >>>> review.  Pull requests of signed tags are encouraged strongly.
> >>>>
> >>>> Shiyang, could you please send Chandan pull requests with /all/ the
> >>>> relevant pmem patches incorporated?  I think that's one PR for the
> >>>> "xfs: correct calculation for agend and blockcount" for 6.6; and a
> >>>> second PR with all the non-bugfix stuff (PRE_REMOVE and whatnot) for
> >>>> 6.7.
> >>>
> >>> OK.  Though I don't know how to send the PR by email, I have sent a list
> >>> of the patches and added description for each one.
> >> If you want I can create a signed pull request from a git.kernel.org
> >> tree.
> >> Where is that list of patches? I see v15 of preremove.
> >
> > Sorry, I sent the list below to Chandan, didn't cc the maillist
> > because it's just a rough list rather than a PR:
> >
> >
> > 1. subject: [v3]  xfs: correct calculation for agend and blockcount
> >    url:
> >    https://lore.kernel.org/linux-xfs/20230913102942.601271-1-ruansy.fnst@xxxxxxxxxxx/
> >    note:    This one is a fix patch for commit: 5cf32f63b0f4 ("xfs:
> >    fix the calculation for "end" and "length"").
> >             It can solve the fail of xfs/55[0-2]: the programs
> >             accessing the DAX file may not be notified as expected,
> >            because the length always 1 block less than actual.  Then
> >           this patch fixes this.
> >
> >
> > 2. subject: [v15] mm, pmem, xfs: Introduce MF_MEM_PRE_REMOVE for unbind
> >    url:
> >    https://lore.kernel.org/linux-xfs/20230928103227.250550-1-ruansy.fnst@xxxxxxxxxxx/T/#u
> >    note:    This is a feature patch.  It handles the pre-remove event
> >    of DAX device, by notifying kernel/user space before actually
> >   removing.
> >             It has been picked by Andrew in his
> >             mm-hotfixes-unstable. I am not sure whether you or he will
> >            merge this one.
> >
> >
> > 3. subject: [v1]  xfs: drop experimental warning for FSDAX
> >    url:
> >    https://lore.kernel.org/linux-xfs/20230915063854.1784918-1-ruansy.fnst@xxxxxxxxxxx/
> >    note:    With the patches mentioned above, I did a lot of tests,
> >    including xfstests and blackbox tests, the FSDAX function looks
> >   good now.  So I think the experimental warning could be dropped.
> 
> Darrick/Dave, Could you please review the above patch and let us know if you
> have any objections?

The first two patches are ok.  The third one ... well I was about to say
ok but then this happened with generic/269 on a 6.6-rc4 kernel and those
two patches applied:

[ 6046.844058] run fstests generic/269 at 2023-10-04 15:26:57
[ 6047.479351] XFS (pmem0): Mounting V5 Filesystem e9b327cb-ea4d-4cf8-8310-f7a2922ec934
[ 6047.487228] XFS (pmem0): Ending clean mount
[ 6047.663228] XFS (pmem1): Mounting V5 Filesystem 3c882433-356a-48d2-9670-65f09ab9da7e
[ 6047.669433] XFS (pmem1): Ending clean mount
[ 6047.671261] XFS (pmem1): Quotacheck needed: Please wait.
[ 6047.673825] XFS (pmem1): Quotacheck: Done.
[ 6047.876110] XFS (pmem1): xlog_verify_grant_tail: space > BBTOB(tail_blocks)
[ 6054.851738] ------------[ cut here ]------------
[ 6054.852580] WARNING: CPU: 1 PID: 2221403 at fs/dax.c:372 dax_insert_entry+0x2b8/0x2f0
[ 6054.853924] Modules linked in: dm_snapshot dm_bufio dm_zero xfs btrfs blake2b_generic xor lzo_compress lzo_decompress zlib_deflate raid6_pq zstd_compress ext2 nft_chain_nat xt_REDIRECT nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 ip6t_REJECT nf_reject_ipv6 ipt_REJECT nf_reject_ipv4 xt_tcpudp ip_set_hash_ip ip_set_hash_net xt_set nft_compat ip_set_hash_mac bfq ip_set nf_tables libcrc32c nfnetlink pvpanic_mmio nd_pmem pvpanic nd_btt dax_pmem sch_fq_codel fuse configfs ip_tables x_tables overlay nfsv4 af_packet [last unloaded: xfs]
[ 6054.864248] CPU: 1 PID: 2221403 Comm: fsstress Tainted: G        W          6.6.0-rc4-djwx #rc4 68f7123368bf2829d3bd2005887c1dd86a2c541a
[ 6054.866092] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.15.0-1 04/01/2014
[ 6054.867358] RIP: 0010:dax_insert_entry+0x2b8/0x2f0
[ 6054.868137] Code: e0 48 83 c4 20 5b 5d 41 5c 41 5d 41 5e 41 5f c3 48 8b 58 20 48 8d 7b 01 e9 58 ff ff ff 48 8b 58 20 48 8d 7b 01 e9 43 ff ff ff <0f> 0b e9 64 ff ff ff 31 f6 48 89 ef e8 67 50 4a 00 eb 99 48 81 e6
[ 6054.870854] RSP: 0000:ffffc9000659bb18 EFLAGS: 00010082
[ 6054.871648] RAX: ffffea000e5aa8c0 RBX: 0000000000000001 RCX: ffffea000e5aa900
[ 6054.872770] RDX: ffff88801d100d20 RSI: 000000000000015f RDI: ffff888032b5f0b8
[ 6054.874007] RBP: ffffc9000659bc00 R08: 0000000000000000 R09: 0000000000000000
[ 6054.875249] R10: ffff88801d08c920 R11: 0000000000000001 R12: 0000000000000011
[ 6054.876484] R13: ffff88801d08c920 R14: ffffc9000659be00 R15: 0000000000000000
[ 6054.877768] FS:  00007efcfc356740(0000) GS:ffff88803ed00000(0000) knlGS:0000000000000000
[ 6054.879209] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 6054.881903] CR2: 00007efcfc34d000 CR3: 000000000ba0d002 CR4: 00000000001706e0
[ 6054.883120] Call Trace:
[ 6054.883638]  <TASK>
[ 6054.884128]  ? dax_insert_entry+0x2b8/0x2f0
[ 6054.884912]  ? __warn+0x7d/0x130
[ 6054.885550]  ? dax_insert_entry+0x2b8/0x2f0
[ 6054.886348]  ? report_bug+0x189/0x1c0
[ 6054.887058]  ? handle_bug+0x3c/0x60
[ 6054.887733]  ? exc_invalid_op+0x13/0x60
[ 6054.888469]  ? asm_exc_invalid_op+0x16/0x20
[ 6054.889260]  ? dax_insert_entry+0x2b8/0x2f0
[ 6054.890025]  ? dax_insert_entry+0x12c/0x2f0
[ 6054.890812]  dax_fault_iter+0x29d/0x710
[ 6054.891517]  dax_iomap_pte_fault+0x1a5/0x3e0
[ 6054.892296]  __xfs_filemap_fault+0x26a/0x2f0 [xfs 94197186ac3b5465301609afaec7e93d309e0865]
[ 6054.893936]  __do_fault+0x31/0x240
[ 6054.894623]  do_fault+0x18d/0x6f0
[ 6054.895279]  __handle_mm_fault+0x587/0xd60
[ 6054.896057]  handle_mm_fault+0x193/0x300
[ 6054.896829]  do_user_addr_fault+0x2d1/0x6a0
[ 6054.897584]  exc_page_fault+0x63/0x130
[ 6054.898350]  asm_exc_page_fault+0x22/0x30
[ 6054.899106] RIP: 0033:0x7efcfc4fa24a
[ 6054.899827] Code: c5 fe 7f 07 c5 fe 7f 47 20 c5 fe 7f 47 40 c5 fe 7f 47 60 c5 f8 77 c3 66 0f 1f 84 00 00 00 00 00 40 0f b6 c6 48 89 d1 48 89 fa <f3> aa 48 89 d0 c5 f8 77 c3 66 66 2e 0f 1f 84 00 00 00 00 00 66 90
[ 6054.902981] RSP: 002b:00007ffd99309648 EFLAGS: 00010202
[ 6054.903930] RAX: 00000000000000bd RBX: 000000000015e000 RCX: 0000000000008cad
[ 6054.905157] RDX: 00007efcfc34c000 RSI: 00000000000000bd RDI: 00007efcfc34d000
[ 6054.906405] RBP: 000000001dcd6500 R08: 0000000000000000 R09: 000000000015e000
[ 6054.907643] R10: 0000000000000008 R11: 0000000000000246 R12: 0000563889c81280
[ 6054.908919] R13: 028f5c28f5c28f5c R14: 0000000000009cad R15: 0000563889c78790
[ 6054.910092]  </TASK>
[ 6054.912372] ---[ end trace 0000000000000000 ]---
[ 6068.755372] ------------[ cut here ]------------
[ 6068.757860] WARNING: CPU: 3 PID: 2221631 at fs/dax.c:396 dax_disassociate_entry+0x4e/0xb0
[ 6068.761773] Modules linked in: dm_snapshot dm_bufio dm_zero xfs btrfs blake2b_generic xor lzo_compress lzo_decompress zlib_deflate raid6_pq zstd_compress ext2 nft_chain_nat xt_REDIRECT nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 ip6t_REJECT nf_reject_ipv6 ipt_REJECT nf_reject_ipv4 xt_tcpudp ip_set_hash_ip ip_set_hash_net xt_set nft_compat ip_set_hash_mac bfq ip_set nf_tables libcrc32c nfnetlink pvpanic_mmio nd_pmem pvpanic nd_btt dax_pmem sch_fq_codel fuse configfs ip_tables x_tables overlay nfsv4 af_packet [last unloaded: xfs]
[ 6068.784925] CPU: 3 PID: 2221631 Comm: umount Tainted: G        W          6.6.0-rc4-djwx #rc4 68f7123368bf2829d3bd2005887c1dd86a2c541a
[ 6068.788837] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.15.0-1 04/01/2014
[ 6068.791451] RIP: 0010:dax_disassociate_entry+0x4e/0xb0
[ 6068.793121] Code: ba 00 00 00 00 00 ea ff ff 48 c1 e0 06 48 8d 9e 00 02 00 00 48 01 d0 48 89 f2 4c 8d 5e 01 eb 24 49 39 ca 74 07 48 85 c9 74 02 <0f> 0b 48 c7 40 18 00 00 00 00 48 c7 40 20 00 00 00 00 48 83 c2 01
[ 6068.798256] RSP: 0018:ffffc9000ac4fb60 EFLAGS: 00010082
[ 6068.799729] RAX: ffffea000e5aa8c0 RBX: 0000000000396ca3 RCX: ffff88801d08c920
[ 6068.801596] RDX: 0000000000396aa3 RSI: 0000000000396aa3 RDI: 0000000000000000
[ 6068.803386] RBP: ffff88801d100d20 R08: 0000000000000001 R09: 0000000000000000
[ 6068.806999] R10: ffff88801d100d20 R11: 0000000000396aa4 R12: 0000000000000001
[ 6068.809420] R13: 0000000000000002 R14: 00000000072d5461 R15: ffffc9000ac4fca8
[ 6068.811841] FS:  00007f98572ac800(0000) GS:ffff88807e100000(0000) knlGS:0000000000000000
[ 6068.814630] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 6068.816056] CR2: 00007fe472696000 CR3: 0000000040e92002 CR4: 00000000001706e0
[ 6068.817763] Call Trace:
[ 6068.818516]  <TASK>
[ 6068.819186]  ? dax_disassociate_entry+0x4e/0xb0
[ 6068.820356]  ? __warn+0x7d/0x130
[ 6068.821266]  ? dax_disassociate_entry+0x4e/0xb0
[ 6068.822452]  ? report_bug+0x189/0x1c0
[ 6068.823449]  ? handle_bug+0x3c/0x60
[ 6068.824403]  ? exc_invalid_op+0x13/0x60
[ 6068.825418]  ? asm_exc_invalid_op+0x16/0x20
[ 6068.826463]  ? dax_disassociate_entry+0x4e/0xb0
[ 6068.827574]  __dax_invalidate_entry+0x94/0x140
[ 6068.828632]  dax_delete_mapping_entry+0xf/0x20
[ 6068.829683]  truncate_folio_batch_exceptionals.part.0+0x206/0x270
[ 6068.831037]  truncate_inode_pages_range+0xf6/0x680
[ 6068.832148]  ? xfs_bmapi_read+0x1c8/0x460 [xfs 94197186ac3b5465301609afaec7e93d309e0865]
[ 6068.834281]  evict+0x1ad/0x1c0
[ 6068.835042]  dispose_list+0x48/0x70
[ 6068.837561]  evict_inodes+0x167/0x1c0
[ 6068.838731]  generic_shutdown_super+0x37/0x100
[ 6068.840095]  kill_block_super+0x16/0x40
[ 6068.841307]  xfs_kill_sb+0xe/0x20 [xfs 94197186ac3b5465301609afaec7e93d309e0865]
[ 6068.843723]  deactivate_locked_super+0x29/0xa0
[ 6068.844685]  cleanup_mnt+0xbd/0x150
[ 6068.845479]  task_work_run+0x56/0x90
[ 6068.846281]  exit_to_user_mode_prepare+0xf5/0x100
[ 6068.847290]  syscall_exit_to_user_mode+0x1d/0x40
[ 6068.848285]  do_syscall_64+0x40/0x80
[ 6068.849091]  entry_SYSCALL_64_after_hwframe+0x46/0xb0
[ 6068.850144] RIP: 0033:0x7f98574d0c2b
[ 6068.850958] Code: 0b 32 0f 00 f7 d8 64 89 01 48 83 c8 ff c3 90 f3 0f 1e fa 31 f6 e9 05 00 00 00 0f 1f 44 00 00 f3 0f 1e fa b8 a6 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 05 c3 0f 1f 40 00 48 8b 15 d1 31 0f 00 f7 d8
[ 6068.854524] RSP: 002b:00007fffde7b3678 EFLAGS: 00000246 ORIG_RAX: 00000000000000a6
[ 6068.856034] RAX: 0000000000000000 RBX: 0000555a6bcdcf20 RCX: 00007f98574d0c2b
[ 6068.857374] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000555a6bcea090
[ 6068.858701] RBP: 0000555a6bcdccf0 R08: 0000000000000000 R09: 0000555a6bce9a90
[ 6068.859998] R10: 00007f98575c5010 R11: 0000000000000246 R12: 0000000000000000
[ 6068.861296] R13: 0000555a6bcea090 R14: 0000555a6bcdce00 R15: 0000555a6bcdccf0
[ 6068.862572]  </TASK>
[ 6068.863066] ---[ end trace 0000000000000000 ]---
[ 6068.885696] XFS (pmem1): Unmounting Filesystem 3c882433-356a-48d2-9670-65f09ab9da7e
[ 6069.019027] XFS (pmem0): Unmounting Filesystem e9b327cb-ea4d-4cf8-8310-f7a2922ec934

--D

> -- 
> Chandan



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux