linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Hans van Kranenburg <hans.van.kranenburg@mendix.com>
To: Andrei Borzenkov <arvidjaar@gmail.com>,
	Dmitrii Tcvetkov <demfloro@demfloro.ru>,
	"Scott E. Blomquist" <sb@techsquare.com>
Cc: linux-btrfs@vger.kernel.org
Subject: Re: trouble mounting btrfs filesystem....
Date: Wed, 15 Aug 2018 01:11:29 +0200	[thread overview]
Message-ID: <648a229d-94da-760a-ee04-0fd528f16a40@mendix.com> (raw)
In-Reply-To: <6fd74846-0796-e836-0651-6fe5a1e72b87@gmail.com>

On 08/14/2018 07:09 PM, Andrei Borzenkov wrote:
> 14.08.2018 18:16, Hans van Kranenburg пишет:
>> On 08/14/2018 03:00 PM, Dmitrii Tcvetkov wrote:
>>>> Scott E. Blomquist writes:
>>>>  > Hi All,
>>>>  > 
>>>>  > [...]
>>>
>>> I'm not a dev, just user.
>>> btrfs-zero-log is for very specific case[1], not for transid errors.
>>> Transid errors mean that some metadata writes are missing, if
>>> they prevent you from mounting filesystem it's pretty much fatal. If
>>> btrfs could recover metadata from good copy it'd have done that.
>>>
>>> "wanted 2159304 found 2159295" means that some metadata is stale by 
>>> 9 commits. You could try to mount it with "ro,usebackuproot" mount
>>> options as readonly mount is less strict. If that works you can try
>>> "usebackuproot" without ro option. But 9 commits is probably too much
>>> and there isn't enough data to rollback so far.
>>
>> Keep in mind that a successful mount with usebackuproot does not mean
>> you're looking at a consistent filesystem. After each transaction
>> commit, disk space that is no longer referenced is immediately freed for
>> reuse.
>>
> 
> With all respect - in this case btrfs should not even pretend it can do
> "usebackuproot". What this option is for then?

I have no idea. As the Dutch say: "schiet mij maar in de kerstboom". The
commit that introduces it contains no explanation at all.

The only thing I can think of is when you're a developer and writing
buggy code that writes out corrupted tree root blocks, which makes the
filesystem crash in some way directly after a transaction ends while no
other new writes are done again yet, combined with getting fed up of
having to mkfs and put your testdata back all the time.

>> So, even if you can mount with usebackuproot, you have to hope that none
>> of the metadata blocks that were used back then have been overwritten
>> already, even the ones in distant corners of trees. A full check / scrub
>> / etc would be needed to find out.

-- 
Hans van Kranenburg

  reply	other threads:[~2018-08-15  2:01 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-12 19:19 trouble mounting btrfs filesystem Scott E. Blomquist
2018-08-14 12:39 ` Scott E. Blomquist
2018-08-14 13:00   ` Dmitrii Tcvetkov
2018-08-14 13:31     ` Scott E. Blomquist
2018-08-14 13:41       ` Dmitrii Tcvetkov
2018-08-14 13:51         ` Scott E. Blomquist
2018-08-14 20:11         ` Roman Mamedov
2018-08-14 15:16     ` Hans van Kranenburg
2018-08-14 17:09       ` Andrei Borzenkov
2018-08-14 23:11         ` Hans van Kranenburg [this message]
2018-08-14 15:13 ` Hans van Kranenburg

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=648a229d-94da-760a-ee04-0fd528f16a40@mendix.com \
    --to=hans.van.kranenburg@mendix.com \
    --cc=arvidjaar@gmail.com \
    --cc=demfloro@demfloro.ru \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=sb@techsquare.com \
    /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;
as well as URLs for NNTP newsgroup(s).