All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hans Reiser <reiser@namesys.com>
To: jw schultz <jw@pegasys.ws>
Cc: linux-kernel@vger.kernel.org, vs@thebsh.namesys.com, nikita@namesys.com
Subject: Re: ReiserFS patch for updating ctimes of renamed files
Date: Mon, 13 Oct 2003 09:49:20 +0400	[thread overview]
Message-ID: <3F8A3CE0.4060705@namesys.com> (raw)
In-Reply-To: <20031012071447.GJ8724@pegasys.ws>

jw schultz wrote:

>On Sun, Oct 12, 2003 at 01:05:19AM -0500, Alex Adriaanse wrote:
>  
>
>>Hi,
>>
>>I ran into some trouble trying to do incremental backups with GNU tar
>>(using --listed-incremental) where renaming a file in between backups would
>>cause the file to disappear upon restoration.  When investigating the issue
>>I discovered that this doesn't happen on ext2, ext3, and tmpfs filesystems
>>but only on ReiserFS filesystems.  I also noticed that for example ext3
>>updates the affected file's ctime upon rename whereas ReiserFS doesn't, so
>>I'm thinking this causes tar to believe that the file existed before the
>>first backup was taking under the new name, and as a result it doesn't back
>>it up during the second backup.  So I believe ReiserFS needs to update
>>ctimes for renamed files in order for incremental GNU tar backups to work
>>reliably.
>>
>>I made some changes to the reiserfs_rename function that I *think* should
>>fix the problem.  However, I don't know much about ReiserFS's internals, and
>>I haven't been able to test them out to see if things work now since I can't
>>afford to deal with potential FS corruption with my current Linux box.
>>
>>I included a patch below against the 2.4.22 kernel with my changes.  Would
>>somebody mind taking a look at this to see if I did things right here (and
>>perhaps wouldn't mind testing it out either)?  If it works then I (and I'm
>>sure others who've experienced the same problem) would like to see the
>>changes applied to the next 2.4.x (and 2.6.x?) release.
>>    
>>
>
>Hmm.  I'm conflicted.
>
>rename(2) manpage:
>	Any other hard links to the file (as created using
>	link(2)) are unaffected.
>
>A change to ctime would affect the other links.
>
>stat(2) manpage:
>	The field st_ctime is changed by writing or by
>	setting inode information (i.e., owner, group, link
>	count, mode, etc.).
>
>I am not aware of any field in the inode structure that must
>be changed by an atomic rename.  Per documentation the only
>reason rename should update st_ctime is if it does a
>link+unlink sequence which would alter st_nlink briefly.
>
>On the other hand it does seem to me there ought to be some
>record that something about the inode changed.  st_ctime would
>be the only appropriate indicator.
>
>rename() SUSv3:
>	Some implementations mark for update the st_ctime
>	field of renamed files and some do not. Applications
>	which make use of the st_ctime field may behave
>	differently with respect to renamed files unless
>	they are designed to allow for either behavior.
>
>So reiserfs is on this point definitely standards conformant
>already.  A change could at best be seen as an enhancement.
>
>
>
>
>  
>
thanks Mr. Schultz, you saved us a lot of work in reviewing this issue.

In theory it is cleaner and purer to do it the way we did.  In practice, 
Alex's problem seems like a real one, and I don't know how hard it is to 
change tar to do the right thing.  We'll discuss it in a small seminar 
today.

-- 
Hans



  reply	other threads:[~2003-10-13  5:49 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-10-12  6:05 ReiserFS patch for updating ctimes of renamed files Alex Adriaanse
2003-10-12  7:14 ` jw schultz
2003-10-13  5:49   ` Hans Reiser [this message]
     [not found]     ` <20031013073154.GL8724@pegasys.ws>
2003-10-13  8:45       ` Hans Reiser
2003-10-14  2:37         ` Alex Adriaanse
2003-10-14  6:09           ` Hans Reiser
2003-10-14  6:49             ` jw schultz
2003-10-14  9:29               ` Jamie Lokier
2003-10-13 10:24     ` Andrew Morton
2003-10-14  6:13       ` Hans Reiser
2003-10-14  6:25         ` Andrew Morton
2003-10-14  6:30           ` Hans Reiser
2003-10-14  6:44             ` Andrew Morton
2003-10-14  7:09           ` jw schultz
2003-10-13  5:32 ` Hans Reiser
     [not found] <Gr0H.1ol.5@gated-at.bofh.it>
2003-10-14  6:57 ` Anton Ertl
2003-10-14  8:40   ` Hans Reiser
2003-10-14 14:08     ` Alex Adriaanse
2003-10-25 14:42     ` Alex Adriaanse
     [not found] <JIEIIHMANOCFHDAAHBHOMENJDAAA.alex_a@caltech.edu>
     [not found] ` <3FBBA8A7.7090802@namesys.com>
     [not found]   ` <200311201746.15843.vs@namesys.com>
2003-11-23  4:22     ` Alex Adriaanse

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=3F8A3CE0.4060705@namesys.com \
    --to=reiser@namesys.com \
    --cc=jw@pegasys.ws \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nikita@namesys.com \
    --cc=vs@thebsh.namesys.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.