Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 9 Aug 2018 01:39:20 +0000
From:      Rick Macklem <rmacklem@uoguelph.ca>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        "freebsd-current@FreeBSD.org" <freebsd-current@FreeBSD.org>, "peter@holm.cc" <peter@holm.cc>
Subject:   Re: ffs_truncate3 panics
Message-ID:  <YTOPR0101MB18205CDE34ABCC2345C3F172DD250@YTOPR0101MB1820.CANPRD01.PROD.OUTLOOK.COM>
In-Reply-To: <20180808221647.GH1884@kib.kiev.ua>
References:  <YTOPR0101MB18206289DDED97BE9DD38D14DD270@YTOPR0101MB1820.CANPRD01.PROD.OUTLOOK.COM> <20180807131445.GC1884@kib.kiev.ua> <YTOPR0101MB18207C97903D3058A15091FFDD260@YTOPR0101MB1820.CANPRD01.PROD.OUTLOOK.COM>, <20180808221647.GH1884@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
Konstantin Belousov wrote:
[stuff snipped]
>> >Can you print the only buffer on the clean queue when the panic occur ?
>> ffst3 vtyp=3D1 bodirty=3D0 boclean=3D1
>> buf at 0x428a110
>> b_flags =3D 0x20001020<vmio,reuse,cache>, b_xflags=3D0x2<clean>, b_vflag=
s=3D0x0
>> b_error =3D 0, b_bufsize =3D 4096, b_bcount =3D 4096, b_resid =3D 0
>> b_bufobj =3D (0xfd8ba94), b_data =3D 0x5170000, b_blkno =3D -1, b_lblkno=
 =3D -1, b_dep =3D 0
>> b_kvabase =3D 0x5170000, b_kvasize =3D 32768
>So the buffer was indeed for extended attrs, and never written to the disk=
.
>I am quite interested what was the inode content prior to the truncation,
>esp. the di_extsize.
Just in case it wasn't clear, this buffer is on the clean list and not the =
dirty one.
(Does this mean it somehow got onto the "clean list" without being written =
to disk?)

>Could you try to formulate a way to reproduce the panic so that Peter
>can recreate it, please ?
I doubt it. It would require him doing a pNFS setup with multiple systems.
(At least that is the only way I reproduce it and I sometimes go a week of =
testing
 before I see them.)
It would be great to have more testers for the pNFS server stuff, but I dou=
bt it
would fit into Peter's setup?

I can add printf()s anywhere you suggest, but I'm not sure how you would ca=
tch
this case sooner? (For example, I could print out di_extsize at the beginni=
ng of
ffs_truncate(), if that would help?)

rick
[more stuff snipped]



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?YTOPR0101MB18205CDE34ABCC2345C3F172DD250>