From: "Darrick J. Wong" <darrick.wong@oracle.com>
To: Zorro Lang <zlang@redhat.com>
Cc: linux-xfs@vger.kernel.org
Subject: Re: [Bug report] XFS: Assertion failed: XFS_FORCED_SHUTDOWN(ip->i_mount) || ip->i_delayed_blks == 0
Date: Fri, 25 May 2018 14:05:06 -0700 [thread overview]
Message-ID: <20180525210506.GT14384@magnolia> (raw)
In-Reply-To: <20180524181639.GW4893@hp-dl360g9-06.rhts.eng.pek2.redhat.com>
On Fri, May 25, 2018 at 02:16:39AM +0800, Zorro Lang wrote:
> Hi,
>
> I just hit a XFS crash [1] when I tested XFS on a 500T storage. And a XFS
> corruption [2] can be found by "xfs_repair -n".
>
> Tested on 4.17-rc6, xfsprogs-4.16.1. mkfs.xfs options are "-m crc=1,finobt=1,
> rmapbt=1,reflink=1 -i sparse=1".
>
> I've report a bug as below:
> https://bugzilla.kernel.org/show_bug.cgi?id=199825
>
> [1]
> kernel: XFS: Assertion failed: XFS_FORCED_SHUTDOWN(ip->i_mount) || ip->i_delayed_blks == 0, file: fs/xfs/xfs_super.c, line: 984
Maybe it's time I cleaned up & sent out my patch that dumps the data and
cow forks to ftrace when we hit this assert.
Also, I think i_dlayed_blks should be xfs_filblks_t, not unsigned int...
--D
> kernel: WARNING: CPU: 39 PID: 487 at fs/xfs/xfs_message.c:105 asswarn+0x1e/0x30 [xfs]
> kernel: Modules linked in: loop intel_powerclamp coretemp kvm_intel sunrpc kvm irqbypass crct10dif_pclmul crc32_pclmul ghash_clmulni_intel pcbc aesni_intel crypto_simd cryptd glue_helper iTCO_wdt gpio_ich iTCO_vendor_support dm_service_time pcspkr ipmi_ssif ipmi_si ipmi_devintf hpilo hpwdt sg i7core_edac lpc_ich ipmi_msghandler shpchp acpi_power_meter pcc_cpufreq dm_multipath ip_tables xfs libcrc32c sr_mod cdrom ata_generic pata_acpi radeon i2c_algo_bit drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops ttm ata_piix sd_mod drm mpt3sas libata crc32c_intel serio_raw hpsa netxen_nic i2c_core raid_class scsi_transport_sas dm_mirror dm_region_hash dm_log dm_mod
> kernel: CPU: 39 PID: 487 Comm: kswapd0 Not tainted 4.17.0-rc6+ #2
> kernel: Hardware name: HP ProLiant DL580 G7, BIOS P65 10/01/2013
> kernel: RIP: 0010:asswarn+0x1e/0x30 [xfs]
> kernel: RSP: 0018:ffff9b9887d9fbc0 EFLAGS: 00010246
> kernel: RAX: 0000000000000000 RBX: ffff882b91e009d8 RCX: 0000000000000000
> kernel: RDX: ffff9b9887d9fae0 RSI: 000000000000000a RDI: ffffffffc05ecff9
> kernel: RBP: ffff882b91e008c8 R08: 0000000000000000 R09: 0000000000000021
> kernel: R10: 0000000000000000 R11: 000000000000000a R12: ffff882b91e00780
> kernel: R13: 000000000000ce58 R14: 000000000000000c R15: 00000000000000e5
> kernel: FS: 0000000000000000(0000) GS:ffff882f6fbc0000(0000) knlGS:0000000000000000
> kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> kernel: CR2: 00007f832588eff0 CR3: 0000000a2dc0a002 CR4: 00000000000206e0
> kernel: Call Trace:
> kernel: xfs_fs_destroy_inode+0x1db/0x200 [xfs]
> kernel: dispose_list+0x48/0x60
> kernel: prune_icache_sb+0x52/0x70
> kernel: super_cache_scan+0x139/0x190
> kernel: shrink_slab+0x249/0x430
> kernel: shrink_node+0x44a/0x490
> kernel: balance_pgdat+0x188/0x360
> kernel: kswapd+0x171/0x410
> kernel: ? remove_wait_queue+0x60/0x60
> kernel: kthread+0xf8/0x130
> kernel: ? balance_pgdat+0x360/0x360
> kernel: ? kthread_bind+0x10/0x10
> kernel: ret_from_fork+0x35/0x40
> kernel: Code: 99 f9 ff ff 0f 0b e8 c2 d4 4e c8 66 90 66 66 66 66 90 48 89 f1 41 89 d0 48 c7 c6 08 7f 5f c0 48 89 fa 31 c0 31 ff e8 b2 fc ff ff <0f> 0b c3 0f 1f 44 00 00 66 2e 0f 1f 84 00 00 00 00 00 66 66 66
> kernel: ---[ end trace 6d72efdc406c28bc ]---
>
> [2]
>
> Phase 1 - find and verify superblock...
> - reporting progress in intervals of 15 minutes
> Memory available for repair (48300MB) may not be sufficient.
> At least 64121MB is needed to repair this filesystem efficiently
> If repair fails due to lack of memory, please
> turn prefetching off (-P) to reduce the memory footprint.
> Phase 2 - using internal log
> - zero log...
> - scan filesystem freespace and inode maps...
> sb_fdblocks 2570207456, counted 2570207543
> - 10:12:40: scanning filesystem freespace - 501 of 501 allocation groups done
> - found root inode chunk
> Phase 3 - for each AG...
> - scan (but don't clear) agi unlinked lists...
> - 10:12:40: scanning agi unlinked lists - 501 of 501 allocation groups done
> - process known inodes and perform inode discovery...
> - agno = 0
> - agno = 15
> ...
> (501 AGs)
> ...
> - agno = 254
> - 10:57:14: process known inodes and inode discovery - 21719296 of 19087328 inodes done
> - process newly discovered inodes...
> - 10:57:14: process newly discovered inodes - 501 of 501 allocation groups done
> Phase 4 - check for duplicate blocks...
> - setting up duplicate extent list...
> - 10:57:17: setting up duplicate extent list - 501 of 501 allocation groups done
> - check for inodes claiming duplicate blocks...
> - agno = 30
> - agno = 0
> - agno = 45
> ...
> (501 AGs)
> ...
> - agno = 253
> - agno = 254
> - 11:42:57: check for inodes claiming duplicate blocks - 21719296 of 19087328 inodes done
> No modify flag set, skipping phase 5
> Phase 6 - check inode connectivity...
> - traversing filesystem ...
> - traversal finished ...
> - moving disconnected inodes to lost+found ...
> Phase 7 - verify link counts...
> - 11:52:50: verify and correct link counts - 501 of 501 allocation groups done
> No modify flag set, skipping filesystem flush and exiting.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> --
> To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
prev parent reply other threads:[~2018-05-25 21:05 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-24 18:16 [Bug report] XFS: Assertion failed: XFS_FORCED_SHUTDOWN(ip->i_mount) || ip->i_delayed_blks == 0 Zorro Lang
2018-05-25 21:05 ` Darrick J. Wong [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180525210506.GT14384@magnolia \
--to=darrick.wong@oracle.com \
--cc=linux-xfs@vger.kernel.org \
--cc=zlang@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).