All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bill Kendall <wkendall@sgi.com>
To: Dave Chinner <david@fromorbit.com>
Cc: David Brown <davidb@davidb.org>, xfs@oss.sgi.com
Subject: Re: xfsrestore: incorrect restore if file becomes a dir
Date: Tue, 03 Jan 2012 16:43:48 -0600	[thread overview]
Message-ID: <4F0384A4.6000505@sgi.com> (raw)
In-Reply-To: <20120103213147.GS23662@dastard>

On 01/03/2012 03:31 PM, Dave Chinner wrote:
> On Tue, Jan 03, 2012 at 03:15:34PM -0600, Bill Kendall wrote:
>> On 12/26/2011 02:18 PM, David Brown wrote:
>>> http://oss.sgi.com/bugzilla/show_bug.cgi?id=915
>>>
>>> I've had this happen again. It appears to be the case if between
>>> incremental dumps, a file is deleted and a directory is created that
>>> gets the same inode number. The restore leaves a file in place of the
>>> directory. If the new directory has any contents, xfsrestore prints a
>>> warning, and doesn't restore the subdirectory contents.
>>>
>>> Given the sparseness of inodes, this doesn't seem to occur all that
>>> frequently, but I do have a couple of backups that exhibit the
>>> behavior. If no one has any ideas, I'll start digging through
>>> xfsrestore to see if I can figure out what is happening.
>>
>> I haven't looked at the relevant code, but it sounds like the inode
>> generation number would also have to be the same in order for this
>> to happen. Two inodes from separate backups are only considered to
>> be the same file or directory if the inode number and the lower 12
>> bits of the inode generation number are the same.
>
> Why does dump only use the lower twelve bits? The on-disk generation
> number is 32 bits and we use all of it (by way of random numbers) to
> distinguish between different inode generations. That sounds like
> something that needs to be fixed....

I don't know the history there, but it dates back to when the generation
number was not randomly initialized. So an inode had to be reused 4,096
times for a collision to occur. With the current scheme (initially
random, then incremented) there would be cases where a collision
happens more frequently. I agree, it should be changed.

Bill

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

  reply	other threads:[~2012-01-03 22:43 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-26 20:18 xfsrestore: incorrect restore if file becomes a dir David Brown
2012-01-03 21:15 ` Bill Kendall
2012-01-03 21:31   ` Dave Chinner
2012-01-03 22:43     ` Bill Kendall [this message]
2012-01-03 23:16       ` Dave Chinner
2012-01-04 14:56         ` Bill Kendall

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=4F0384A4.6000505@sgi.com \
    --to=wkendall@sgi.com \
    --cc=david@fromorbit.com \
    --cc=davidb@davidb.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.