Openembedded Core Discussions
 help / color / mirror / Atom feed
From: "Seebs" <seebs@seebs.net>
To: "Richard Purdie" <richard.purdie@linuxfoundation.org>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH 2/4] pseudo: Ignore mismatched inodes from the db
Date: Mon, 28 Sep 2020 09:13:41 -0500	[thread overview]
Message-ID: <20200928091341.3eebf87c@seebsdell> (raw)
In-Reply-To: <20200928133803.2741507-2-richard.purdie@linuxfoundation.org>

On Mon, 28 Sep 2020 14:38:01 +0100
"Richard Purdie" <richard.purdie@linuxfoundation.org> wrote:

> This can happen when files are deleted outside of pseudo context and
> the inode is reused by a new file which pseduo then "sees".

I'm just going to say again:

The **ENTIRE REASON** pseudo exists to replace fakeroot is that
fakeroot did this, and it consistently, repeatedly, reliably, resulted
in horrible database corruption.

If files that pseudo knows about are being deleted outside the pseudo
context, that is violating a crucial precondition, and **you cannot
then trust the database to make sense**. Yes, you can throw away some
of the specific files when you detect them -- pseudo already did this
for specific cases, like directory vs plain file mismatches -- but you
should always view it as a serious bug in the rest of the environment.

If it's **really** necessary to allow things to corrupt the filesystem,
we need a way to tell pseudo of **specific** files that it should be
forgetting about or disregarding.

But, in general, "a thing that isn't under pseudo is modifying the part
of the filesystem pseudo thinks it owns" means "your entire database
is presumptively corrupt and you should not be guessing at which parts
of it might have survived that".

I know it seems like this could conceivably be correct, but our
experience with attempts to fix it up in other ways was that it always
ended up resulting in very weird and incomprehensible corruption.

-s

  reply	other threads:[~2020-09-28 14:13 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-28 13:38 [PATCH 1/4] staging: Ensure cleaned dependencies are added Richard Purdie
2020-09-28 13:38 ` [PATCH 2/4] pseudo: Ignore mismatched inodes from the db Richard Purdie
2020-09-28 14:13   ` Seebs [this message]
2020-09-28 14:51     ` [OE-core] " Richard Purdie
2020-09-28 15:56       ` Seebs
2020-09-28 21:42         ` Richard Purdie
2020-09-29 17:05           ` Seebs
2020-09-28 13:38 ` [PATCH 3/4] pseudo: Add support for ignoring paths from the pseudo DB Richard Purdie
2020-09-28 13:38 ` [PATCH 4/4] base/bitbake.conf: Enable pseudo path filtering Richard Purdie
2020-09-28 15:15 ` [OE-core] [PATCH 1/4] staging: Ensure cleaned dependencies are added Christopher Larson
2020-09-28 17:03   ` Richard Purdie
2020-10-06 16:07 ` Chris Laplante
2020-10-06 16:49   ` Richard Purdie
2020-10-06 16:59     ` Chris Laplante
2020-10-07 10:29       ` Richard Purdie
2020-10-07 14:58         ` Chris Laplante

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200928091341.3eebf87c@seebsdell \
    --to=seebs@seebs.net \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=richard.purdie@linuxfoundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox