[BUG?] Experimenting problems during an Arch->Mercurial repo
conversion
Theodore Ts'o
tytso at mit.edu
Wed Jul 27 22:21:14 CDT 2005
On Wed, Jul 27, 2005 at 08:28:54AM -0700, Matt Mackall wrote:
> On Wed, Jul 27, 2005 at 10:34:03AM +0200, Andreas Gruenbacher wrote:
> > On Wednesday 27 July 2005 03:40, Matt Mackall wrote:
> > > In general, not all filesystems support sub-second granularity.
> > > Critically, if you want it on ext3, I believe you need to reformat
> > > your drive to use 256 byte inodes rather than the default 128.
> >
> > Most file systems, including ext3, don't have sub-second timestamps at all
> > right now. Increasing the inode size won't help.
>
> Ahh. I thought the nanoseconds stuff went in earlier this year.
Nope. A patch has been floated around, but it needs some work before
it can go in:
*) It needs to do the right thing if the extended-inode
information doesn't have space for the nanosecond
timestamps:
1) If there is space in the inode, just move the
ea-in-inode down to make space for the extra
extended fields.
2) If there isn't enough space in the inode, then
create an ea block and move some or all of the
ea-in-inodes to the ea block.
3) If there is no space in the ea block either, run in
circles, scream and shout. (Since that means
there is no way at all to record the
nanosecond timestamp, and not recording the
nanosecond timestamp in some inodes but not in
others could cause make to get terminally
confused.)
*) We need to throttle the modtime updates so that we don't
end up creating hundreds of inode updates for every
single write(2) call, which will fill the journal
quite rapidly and completely trash our write
performance.
So the patch which Alex Thomas did was a starting point, but there's
quite a bit of work that needs to be done before we can merge it.
- Ted
More information about the Mercurial
mailing list