[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-btrfs
Subject:    Re: [PATCH v4 00/15] FITRIM improvement
From:       Qu Wenruo <quwenruo.btrfs () gmx ! com>
Date:       2019-03-29 6:55:48
Message-ID: 430654e4-3193-3471-902e-4759365b9001 () gmx ! com
[Download RAW message or body]



On 2019/3/29 下午2:20, Nikolay Borisov wrote:
> 
> 
> On 29.03.19 г. 1:18 ч., David Sterba wrote:
> > On Wed, Mar 27, 2019 at 02:24:03PM +0200, Nikolay Borisov wrote:
> > > Here is the (hopefully final) v4 of the fitrim patches. Main changes since v3:
> > 
> > Nope, tests don't like it. It's v4 applied from mails on top of misc-next.
> > 
> > generic/475             [20:36:10][11571.724402] run fstests generic/475 at \
> > 2019-03-28 20:36:10
> <snip>
> 
> > [11576.260681] BTRFS error (device dm-0): error reading free space cache
> > [11576.260832] BUG: unable to handle kernel paging request at fffffffffffffffb
> > [11576.262301] BTRFS warning (device dm-0): failed to load free space cache for \
> > block group 1104150528, rebuilding it now [11576.265687] #PF error: [normal \
> > kernel read fault] [11576.265690] PGD 2b016067 P4D 2b016067 PUD 2b018067 PMD 0
> > [11576.265696] Oops: 0000 [#1] PREEMPT SMP
> > [11576.265700] CPU: 0 PID: 25594 Comm: fsstress Not tainted 5.1.0-rc2-default+ \
> > #531 [11576.265702] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS \
> > rel-1.12.0-0-ga698c89-prebuilt.qemu.org 04/01/2014 [11576.265753] RIP: \
> > 0010:btrfs_lookup_dentry+0x4ce/0x5d0 [btrfs] [11576.265756] Code: 4c 63 f8 85 c0 \
> > 0f 88 90 fb ff ff 80 7d ae 01 0f 85 8c fc ff ff 48 8b 7b 28 45 31 c0 31 c9 4c 89 \
> > f2 48 8d 75 a6 e8 e2 f0 ff ff <0f> b7 38 49 89 c7 e8 c7 01 e9 d2 3a 45 98 0f 84 \
> > 5d fb ff ff 41 [11576.271036] BTRFS: error (device dm-0) in \
> > __btrfs_free_extent:7103: errno=-5 IO failure [11576.271144] RSP: \
> > 0018:ffffa82cc3fe7db8 EFLAGS: 00010292 [11576.271149] RAX: fffffffffffffffb RBX: \
> > ffff94f41ea66218 RCX: 0000001603c56600 [11576.273851] BTRFS info (device dm-0): \
> > forced readonly [11576.274694] RDX: 0000000000000011 RSI: ffff94f41ea63ed8 RDI: \
> > ffffffff930dacb4 [11576.274696] RBP: ffffa82cc3fe7e40 R08: 0000000000000001 R09: \
> > fffffffffffffffb [11576.274698] R10: 0000000000000000 R11: ffff94f46f36a910 R12: \
> > ffff94f414e94500 [11576.275912] BTRFS: error (device dm-0) in \
> > btrfs_run_delayed_refs:3001: errno=-5 IO failure [11576.278115] R13: \
> > ffff94f474880000 R14: ffff94f403833000 R15: ffff94f4563eaa10 [11576.278117] FS:  \
> > 00007ff34f4f4b80(0000) GS:ffff94f47d400000(0000) knlGS:0000000000000000 \
> > [11576.278121] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [11576.278123] \
> > CR2: fffffffffffffffb CR3: 000000001f60c000 CR4: 00000000000006f0 [11576.299608] \
> > Call Trace: [11576.300463]  btrfs_lookup+0xe/0x30 [btrfs]
> > [11576.301666]  __lookup_hash+0x6b/0x90
> > [11576.302748]  filename_create+0xa9/0x180
> > [11576.303865]  do_mkdirat+0x53/0xf0
> > [11576.304844]  do_syscall_64+0x54/0x180
> > [11576.305924]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
> > [11576.307131] RIP: 0033:0x7ff34f5e5307
> > [11576.307952] Code: 1f 40 00 48 8b 05 91 eb 0c 00 64 c7 00 5f 00 00 00 b8 ff ff \
> > ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 b8 53 00 00 00 0f 05 <48> 3d 01 f0 \
> > ff ff 73 01 c3 48 8b 0d 61 eb 0c 00 f7 d8 64 89 01
> 
> My Code doesn't touch the lookup path, furthermore it doesn't touch the
> extent freeing logic, could this be something unrelated? How reliable it
> is to repro with/without this patchset?

OK, it's my inode mode checker patchset triggering all these.

It's btrfs_inode_type() call causing all the problems.

I'll investigate how this happens.

Thanks,
Qu

> 
> > [11576.311502] RSP: 002b:00007fff14fd0a98 EFLAGS: 00000206 ORIG_RAX: \
> > 0000000000000053 [11576.313415] RAX: ffffffffffffffda RBX: 0000000000000014 RCX: \
> > 00007ff34f5e5307 [11576.314809] RDX: 0000000000000000 RSI: 00000000000001ff RDI: \
> > 00000000004153d0 [11576.316224] RBP: 00007fff14fd0bf0 R08: fefefefefefefeff R09: \
> > fefefefefeff3263 [11576.318087] R10: 0000000000000000 R11: 0000000000000206 R12: \
> > 00000000000001ff [11576.319955] R13: 0000000000405390 R14: 0000000000000000 R15: \
> > 0000000000000000 [11576.321746] Modules linked in: dm_thin_pool \
> > dm_persistent_data dm_bio_prison dm_snapshot dm_bufio btrfs libcrc32c xor \
> > zstd_decompress zstd_compress xxhash raid6_pq dm_flakey dm_mod loop [last \
> > unloaded: scsi_d [11576.325773] CR2: fffffffffffffffb
> > [11576.326498] ---[ end trace fe71251c3619f317 ]---
> > [11576.327514] RIP: 0010:btrfs_lookup_dentry+0x4ce/0x5d0 [btrfs]
> > [11576.328841] Code: 4c 63 f8 85 c0 0f 88 90 fb ff ff 80 7d ae 01 0f 85 8c fc ff \
> > ff 48 8b 7b 28 45 31 c0 31 c9 4c 89 f2 48 8d 75 a6 e8 e2 f0 ff ff <0f> b7 38 49 \
> > 89 c7 e8 c7 01 e9 d2 3a 45 98 0f 84 5d fb ff ff 41 [11576.332993] RSP: \
> > 0018:ffffa82cc3fe7db8 EFLAGS: 00010292 [11576.334430] RAX: fffffffffffffffb RBX: \
> > ffff94f41ea66218 RCX: 0000001603c56600 [11576.336263] RDX: 0000000000000011 RSI: \
> > ffff94f41ea63ed8 RDI: ffffffff930dacb4 [11576.338080] RBP: ffffa82cc3fe7e40 R08: \
> > 0000000000000001 R09: fffffffffffffffb [11576.339907] R10: 0000000000000000 R11: \
> > ffff94f46f36a910 R12: ffff94f414e94500 [11576.341535] R13: ffff94f474880000 R14: \
> > ffff94f403833000 R15: ffff94f4563eaa10 [11576.342561] FS:  00007ff34f4f4b80(0000) \
> > GS:ffff94f47d400000(0000) knlGS:0000000000000000 [11576.343689] CS:  0010 DS: \
> > 0000 ES: 0000 CR0: 0000000080050033 [11576.345041] CR2: fffffffffffffffb CR3: \
> > 000000001f60c000 CR4: 00000000000006f0 [11576.346593] BUG: sleeping function \
> > called from invalid context at include/linux/cgroup-defs.h:721 [11576.348556] \
> > in_atomic(): 0, irqs_disabled(): 1, pid: 25594, name: fsstress [11576.350006] \
> > INFO: lockdep is turned off. [11576.350894] irq event stamp: 0
> > [11576.351608] hardirqs last  enabled at (0): [<0000000000000000>]           \
> > (null) [11576.353254] hardirqs last disabled at (0): [<ffffffff9305cc77>] \
> > copy_process.part.72+0x847/0x1df0 [11576.355056] softirqs last  enabled at (0): \
> > [<ffffffff9305cc77>] copy_process.part.72+0x847/0x1df0 [11576.356705] softirqs \
> > last disabled at (0): [<0000000000000000>]           (null) [11576.357848] CPU: 0 \
> > PID: 25594 Comm: fsstress Tainted: G      D           5.1.0-rc2-default+ #531 \
> > [11576.359000] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS \
> > rel-1.12.0-0-ga698c89-prebuilt.qemu.org 04/01/2014 [11576.360913] Call Trace:
> > [11576.361480]  dump_stack+0x67/0x90
> > [11576.362231]  ___might_sleep.cold.85+0x9f/0xb1
> > [11576.363300]  exit_signals+0x30/0x130
> > [11576.364220]  do_exit+0xac/0xc10
> > [11576.365042]  ? do_mkdirat+0x53/0xf0
> > [11576.365937]  rewind_stack_do_exit+0x17/0x20
> > [failed, exit status 1] [20:36:15]- output mismatch (see \
> > /tmp/fstests/results//generic/475.out.bad) 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic