[Gluster-devel] Re: write-behind mtime glitch
Anand Avati
avati at zresearch.com
Wed Apr 25 09:08:17 UTC 2007
Brent,
a simpler solution for your mtime issue would be to set the
aggregate-size to 0, so that every write is instantly written behind
(and not held back for aggregatino). the performance difference
brtween write-behind v/s write-behind+aggregatoin is very marginal for
most practical purposes. hope that helps,
avati
On Wed, Apr 18, 2007 at 09:10:59AM -0700, Anand Avati wrote:
> Brent,
> the write-behind mtime issue has more than one reason. the direct_io
> related 'fix' got my system to work correctly with "cp -a", beause in
> my binutils version of 'cp', the utimes() call is *after* the close(),
> and the direct_io fix (which caused correct flush()ing) worked for me.
> but you (and krishna) seem to have a newer version of binutils where
> utimes() is called *before* the close(). utimes happens on the path
> while write-behind is working over fd's. the right fix would be to
> flush the 'held back' data during utimes() by relating the fd and the
> path. for this 'relating' we need some enhancements in our code base
> (which will be coming in as part of the 'supporting f**** calls'
> task). Until then the 'cp -a' will continue to have the mtimes issue :(
>
> the observation you have mentioned below confirms the theory since at
> every 'aggregate-size' boundry a flush() is forced by write-behind
> itself.
> regards,
> avati
>
> On Tue, Apr 17, 2007 at 04:56:05PM -0400, Brent A Nelson wrote:
> > I found an additional clue to the write-behind mtime issue. Some more
> > copies again showed that zero-length files were getting proper mtime.
> > Non-empty files again had an mtime associated with the copy EXCEPT for
> > these two files:
> >
> > -rw-r--r-- 1 root root 131072 2006-07-11 08:48
> > /backup/usr0/share/samba/lowcase.dat
> > -rw-r--r-- 1 root root 131072 2006-07-11 08:48
> > /backup/usr0/share/samba/upcase.dat
> >
> > Well, my write-behind has "option aggregate-size 131072"! I'm guessing
> > that's not a coincidence...
> >
> > Thanks,
> >
> > Brent
> >
> > On Fri, 13 Apr 2007, Brent A Nelson wrote:
> >
> > >On Wed, 11 Apr 2007, Krishna Srinivas wrote:
> > >
> > >>Also regarding write-behind+mtime bug, can you check out the
> > >>latest code and see if rsync or "cp -a" still sees the problem?
> > >>Avati made has some changes.
> > >>
> > >
> > >write-behind still has an mtime bug. I "cp -a"'ed a /usr directory and
> > >all non-empty files had file creation time/date for their mtime rather
> > >than the original mtime. Directories have the correct mtime, and
> > >zero-length files have the correct mtime on both underlying filesystems,
> > >however, so this is working. But whenever it writes actual data, it seems
> > >like it must be doing this after the mtime is set, changing the mtime, or
> > >the mtime is never getting set.
> > >
> > >Thanks,
> > >
> > >Brent
> > >
> >
>
> --
> ultimate_answer_t
> deep_thought (void)
> {
> sleep (years2secs (7500000));
> return 42;
> }
>
>
> _______________________________________________
> Gluster-devel mailing list
> Gluster-devel at nongnu.org
> http://lists.nongnu.org/mailman/listinfo/gluster-devel
>
--
ultimate_answer_t
deep_thought (void)
{
sleep (years2secs (7500000));
return 42;
}
More information about the Gluster-devel
mailing list