From: Dave Chinner <david@fromorbit.com>
To: Damien Gombault <damien.gombault@recia.fr>
Cc: xfs@oss.sgi.com
Subject: Re: Bug (?) : cumulative xfsrestore does not restore files and folders in a directory which was renamed
Date: Thu, 23 Jun 2016 08:09:59 +1000 [thread overview]
Message-ID: <20160622220959.GV12670@dastard> (raw)
In-Reply-To: <a08ae222-7654-4a6f-d9ba-f70017784f74@recia.fr>
[please line wrap your email at 68-72 columns]
On Wed, Jun 22, 2016 at 04:45:19PM +0200, Damien Gombault wrote:
> Hi.
>
> I have reported few weeks ago a bug on the Red Hat Bugzilla for
> CentOS 7 : https://bugzilla.redhat.com/show_bug.cgi?id=1341126 I
> had to restore a level0+level1 dump for my ownCloud server, but
> during the level1 restoration, xfsrestore showed many warnings and
> some directories/files were not restored. I recently tried to
> restore a more recent level0+level1 dump and I get the same
> results with other directories/files. I tried to figure out why
> and now I am able to reproduce the problem with a minimal test
> case.
>
> Here is the test case :
<snip test case>
It's hard to understand xfsrestore problems without the xfsdump
output that generated the dumps being restored.
What is the (verbose) output of xfsdump under this test?
....
> xfsrestore: level: 0
> xfsrestore: session label: "test"
> xfsrestore: media label: "test"
...
> xfsrestore: directory 2048 0 (0): updating
> xfsrestore: dirent dira 2051 0: adding (new)
> xfsrestore: directory 2051 0 (0): upgrading to dir
> xfsrestore: dirent filea 2052 0: adding (new)
> xfsrestore: 2 directories and 2 entries processed
Which is correct.
....
> xfsrestore: level: 1
> xfsrestore: session label: "test"
> xfsrestore: media label: "test"
....
> xfsrestore: directory 2048 0 (0): updating
> xfsrestore: dirent dirA 2051 0: renaming (name)
> xfsrestore: directory 2051 0 (0): updating
> xfsrestore: dirent filea 2052 0: retaining (nondir)
> xfsrestore: dirent dirb 526336 1283006502: adding (new)
> xfsrestore: directory 526336 1283006502 (1283006502): upgrading to dir
> xfsrestore: dirent fileb 526337 1283006502: adding (new)
> xfsrestore: 3 directories and 4 entries processed
So the inventory looks ok....
> xfsrestore: rename dir dira to orphanage/2051.0
> xfsrestore: making new directories
> xfsrestore: performing directory renames
> xfsrestore: rename dir orphanage/2051.0 to dirA
And the rename occurs...
> xfsrestore: processing hard links
> xfsrestore: processing hardlinks to 2052 0
> xfsrestore: processing hardlinks to 526337 1283006502
> xfsrestore: getting next media file for non-dir restore
> xfsrestore: Media_mfile_next: purp==2 pos==3
> xfsrestore: dump session label: "test"
> xfsrestore: dump session id: 27606c57-7b3b-43ff-83b9-69158e75f612
> xfsrestore: stream 0, object 0, file 0
> xfsrestore: restoring non-directory files
> xfsrestore: media file 0 in object 0 of stream 0
> xfsrestore: file 0 in stream, file 0 in dump 0 on object
> xfsrestore: restoring dirA/dirb/fileb (526337 1283006502)
> xfsrestore: restoring regular file ino 526337 dirA/dirb/fileb
> xfsrestore: WARNING: open of dirA/dirb/fileb failed: Aucun fichier ou dossier de ce type: discarding ino 526337
But it seems that dirb hasn't been created before the file in it
is being restored. THis can happen because the inventory is not
correct, whichmay in fact be a problem with dump rather than
restore...
I'll have a bit of a play around here, see if I can reproduce it.
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2016-06-22 22:11 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-22 14:45 Bug (?) : cumulative xfsrestore does not restore files and folders in a directory which was renamed Damien Gombault
2016-06-22 22:09 ` Dave Chinner [this message]
2016-06-22 22:23 ` Dave Chinner
2016-06-23 1:42 ` Dave Chinner
2016-06-23 14:17 ` Bill O'Donnell
2016-06-24 13:51 ` Damien Gombault
2016-06-24 23:03 ` Dave Chinner
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=20160622220959.GV12670@dastard \
--to=david@fromorbit.com \
--cc=damien.gombault@recia.fr \
--cc=xfs@oss.sgi.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