public inbox for linux-kernel@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox