Re: [PATCH 001 of 2] Fix read/truncate race.

From: Neil Brown
Date: Mon Jun 11 2007 - 20:16:50 EST


On Thursday June 7, akpm@xxxxxxxxxxxxxxxxxxxx wrote:
> On Fri, 8 Jun 2007 12:48:48 +1000 Neil Brown <neilb@xxxxxxx> wrote:
>
> > The following patch will remove the extra seqlock except when we
> > actually need it and remove the extra arithmetic - but I haven't
> > tested it or reviewed it properly. I can do that if you think it is
> > the right direction.
>
> Yes, the optimisation is valid and looks useful.
>
> > ./mm/filemap.c | 34 ++++++++++++++++++++++++++++------
>
> It didn't apply - your tree seems different from mine.

Odd. I had no other changes to that file in my tree. I'll wait until
the next -mm(?).
It's just as well really, the patch was buggy - didn't even compile
and (as I said) totally untested. I'll get you a tested patch after I
can rebase.

>
> > + *
> > + * NOTE: This access of inode->i_size is not protected
> > + * and if there is a concurrent update on a 32bit machine,
> > + * it could return the wrong value. This could only be a problem
> > + * if i_size has actually changed to a smaller value before the
> > + * page became uptodate, and at this point it still has a smaller
> > + * value, but due to a race while reading, it appears unchanged.
> > + * The chances of this happening are so small and the consequence
> > + * sufficiently minor, that the cost of the seqlock seems
> > + * not to be justified.
>
> please consider incorporating scripts/checkpatch.pl into your patch
> preparation toolchain.

Done... Any reason that it isn't executable (chmod +x)?

NeilBrown
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/