Re: [Bug report] XFS: Assertion failed: XFS_FORCED_SHUTDOWN(ip->i_mount) || ip->i_delayed_blks == 0

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

 



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



[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