Re: thin pool powerfail tests and data loss

Lakshmi Narasimhan Sundararajan <[email protected]> Mon, 9 Sep 2024 20:18:00 +0530
Newsgroups dev.linux.lists.lvm-devel
Message-ID <CAHJKXw1Xc7fabs=JOjgcuh8vTwkVMRvN2Mx9UO3Dfm8iZxxZ-w@mail.gmail.com>
On Mon, Sep 9, 2024 at 6:57=E2=80=AFPM Zdenek Kabelac <zdenek.kabelac@gmail=
.com> wrote:
>
> Dne 08. 09. 24 v 3:37 Lakshmi Narasimhan Sundararajan napsal(a):
> > Hi Team,
> > Greetings!
> >
> > In my experiments with thin pool and power cycle tests, I find that
> > the inflight data has not been persisted, even if there is a sync
> > following write that got completed.
> >
> > suppose we have the following bdev stackup:
> > bdevs(multi) -> mpath -> lvm pv -> lvm vg -> lvm thin pool -> multiple
> > thin vols.
> >
> > Each of the thin vols that has inflight data, has a corresponding sync
> > checkpoint periodically. The expectation is all writes before the sync
> > are persisted to disk and can survive power reset tests.
> >
> > Like below seq on many thin vols on the thin pool.
> > write -> write -> write -> fsync(fd) -> write -> write -> fsync(fd) -> =
..etc
> >
> > Now my code only does a fsync(fd) on the thin volume (block device dire=
ctly).
> > There are no fs mounts on the volume.
> > Is this sufficient or should the thin pool (/dev/mapper/pool) also be
> > synced along?
> > What would be the proper sequence of sync actions to survive a power re=
set?
> >
> > I am also trying to validate if this is an issue because mpath is
> > involved in any way(another dm layer in between), but would appreciate
> > some guidance in this
> > regard.
>
> Hi
>
> Could you please retest your issue with  recent lvm2  (>=3D 2.03.24) and =
recent
> linux kernel   >=3D 6.9

Thank you for your quick attention.

That is a big jump.
Would you be willing to consider any distro (say OCP latest?), that
will come with a bundle for both lvm+kernel, is there any such
combination you would consider for this test?
Also, is there any way I can check issues/fixes of interest?

Is my logic using fsync(thin pool device) sufficient to pass power fail tes=
ts?
Are there any stronger versions or more logic to ensure power reset test pa=
sses?

Regards

>
> Regards
>
> Zdenek
>