On 6/6/16 8:43 PM, Reinoud Koornstra wrote: > Dear Dave and Everyone, > > Today I crashed twice in a row in 4.7-rc1. > This was the message and trace: > > Jun 6 18:07:34 router-dev kernel: [ 134.297442] XFS: Assertion failed: args->op_flags & XFS_DA_OP_OKNOENT, file: fs/xfs/libxfs/xfs_dir2_leaf.c, line: 1307 Ok, that ASSERT has been there since 2005 ... > Jun 6 18:07:34 router-dev kernel: [ 134.297459] ------------[ cut here ]------------ > Jun 6 18:07:34 router-dev kernel: [ 134.297474] kernel BUG at fs/xfs/xfs_message.c:113! > Jun 6 18:07:34 router-dev kernel: [ 134.297485] invalid opcode: 0000 [#1] SMP > Jun 6 18:07:34 router-dev kernel: [ 134.297494] Modules linked in: ... unlinewrapping... > Jun 6 18:07:34 router-dev kernel: [ 134.297962] Stack: > Jun 6 18:07:34 router-dev kernel: [ 134.297967] ffff8803f7ebbc40 ffffffffc0322277 ffff8803f7ebbc58 00000000ffffffff > Jun 6 18:07:34 router-dev kernel: [ 134.297986] ffff8803ffffffff ffff880414673840 ffff8803f610b000 0000000000000000 > Jun 6 18:07:34 router-dev kernel: [ 134.298004] ffff880452bed380 0000000000000000 ffff003c00a7d2f1 00000000b56d2e47 > Jun 6 18:07:34 router-dev kernel: [ 134.298022] Call Trace: > Jun 6 18:07:34 router-dev kernel: [ 134.298039] [<ffffffffc0322277>] xfs_dir2_leaf_lookup_int+0x237/0x350 [xfs] > Jun 6 18:07:34 router-dev kernel: [ 134.298064] [<ffffffffc03229e1>] xfs_dir2_leaf_replace+0x41/0x190 [xfs] > Jun 6 18:07:34 router-dev kernel: [ 134.298088] [<ffffffffc031c06c>] xfs_dir_replace+0x18c/0x1b0 [xfs] > Jun 6 18:07:34 router-dev kernel: [ 134.298114] [<ffffffffc035653f>] xfs_rename+0x45f/0x9d0 [xfs] > Jun 6 18:07:34 router-dev kernel: [ 134.298155] [<ffffffffc034f892>] xfs_vn_rename+0xb2/0xe0 [xfs] > Jun 6 18:07:34 router-dev kernel: [ 134.298169] [<ffffffff8122e824>] vfs_rename+0x5a4/0x940 > Jun 6 18:07:34 router-dev kernel: [ 134.298195] [<ffffffff81233475>] SyS_rename+0x3d5/0x3f0 > Jun 6 18:07:34 router-dev kernel: [ 134.298207] [<ffffffff819cd236>] entry_SYSCALL_64_fastpath+0x1e/0xa8 > Jun 6 18:07:34 router-dev kernel: [ 134.298221] Code: 00 66 2e 0f 1f > I seem to be able to hit this bug rather frequently. > So I put in some instrumentation to print out the flags next time I > hit it and save a core file to another fs. > Is this is known bug to you or? xfs_dir2_leaf_lookup_int() only hits that ASSERT if it was given a name to rename, and failed to find the original. i.e. that should not happen. /* * Loop over all the entries with the right hash value * looking to match the name. */ <do that loop> <fail to find the hash value for the name> <then:> ASSERT(args->op_flags & XFS_DA_OP_OKNOENT); /* * Here, we can only be doing a lookup (not a rename or remove). * If a case-insensitive match was found earlier, re-read the * appropriate data block if required and return it. */ A rename should never fail to find the original name. Did this problem only show up after an update? Do you have a reproducer? Have you unmounted and run an "xfs_repair -n" and captured the output to see if there is any on-disk corruption? You might gather an xfs_metadump as well, before you do any live repair that might change the filesystem. -Eric _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs