[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <7d2edc1d-922b-763c-3122-0a6f81c3454e@suse.com>
Date: Tue, 27 Dec 2022 19:02:58 +0800
From: Qu Wenruo <wqu@...e.com>
To: Mikhail Gavrilov <mikhail.v.gavrilov@...il.com>,
Qu Wenruo <quwenruo.btrfs@....com>
Cc: dsterba@...e.com, Btrfs BTRFS <linux-btrfs@...r.kernel.org>,
Linux List Kernel Mailing <linux-kernel@...r.kernel.org>
Subject: Re: [6.2][regression] after commit
947a629988f191807d2d22ba63ae18259bb645c5 btrfs volume periodical forced
switch to readonly after a lot of disk writes
On 2022/12/27 18:19, Mikhail Gavrilov wrote:
> On Tue, Dec 27, 2022 at 10:13 AM Qu Wenruo <quwenruo.btrfs@....com> wrote:
>> The result doesn't make sense...
>>
>> A lot of read_block_for_search() and btrfs_read_node_slot() are
>> triggering the warning.
>>
>> But inside both functions, we have just set the numbers before the call:
>>
>> In read_block_for_search() we got:
>>
>> check.has_first_key = true;
>> check.level = parent_level - 1;
>> check.transid = gen;
>> check.owner_root = root->root_key.objectid;
>>
>> Thus at least check.has_first_key is always true, and the WARN_ON()
>> should never get triggered.
>> The same applies to btrfs_read_node_slot().
>>
>> It looks like something involved in memory barrier.
>>
>> Anyway, the latest debug patch has extra mb to be sure.
>>
>> And despite the possible fix, could you provide extra info of your
>> build? Include:
> Kernel log is attached. All answers are below.
>
>> - Hardware (mostly CPU and RAM spec)
> This is laptop ASUS ROG Strix G15 Advantage Edition G513QY-HQ007
> with CPU AMD Ryzen 9 5900HX and GPU Radeon RX 6800M
I have a similar laptop (G14), only GPU is different (RTX3060), and I
failed to reproduce this so far...
> I upgraded RAM to Crucial CT32G4SFD832A DDR4 - 32GB x 2 (64GB) and SSD
> to Seagate FireCuda 530 ZP4000GM3A013 4TB x 2 (8TB)
> https://linux-hardware.org/?probe=0e063e5fd5
>
>> - Toolchain used to compile the kernel (include compiler and its version)
> $ rpm -q binutils
> binutils-2.39-6.fc38.x86_64
>
> $ ld --version
> GNU ld version 2.39-6.fc38
>
> $ rpm -q gcc
> gcc-12.2.1-4.fc38.x86_64
My gcc is only a small version behind (12.2.0).
Thus none of the hardware seems suspicious at all...
Anyway I have attached my last struggle for the weird problem.
For now, I have no idea why this can even happen...
Thanks,
Qu
>
> $ gcc --version
> gcc (GCC) 12.2.1 20221121 (Red Hat 12.2.1-4)
>
> $ rpm -q make
> make-4.3-11.fc37.x86_64
>
> $ make --version
> GNU Make 4.3
>
>> - Kernel config
> Attached with debug logs.
>
View attachment "0001-btrfs-add-extra-debug-for-level-mismatch.patch" of type "text/x-patch" (7740 bytes)
Powered by blists - more mailing lists