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 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@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html