[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b3f268590612192156oce50b07g379f312146c7389e@mail.gmail.com>
Date: Wed, 20 Dec 2006 14:56:55 +0900
From: "Jari Sundell" <sundell.software@...il.com>
To: "Linus Torvalds" <torvalds@...l.org>
Cc: "Nick Piggin" <nickpiggin@...oo.com.au>,
"Peter Zijlstra" <a.p.zijlstra@...llo.nl>,
"Andrew Morton" <akpm@...l.org>, andrei.popa@...eo.ro,
"Linux Kernel Mailing List" <linux-kernel@...r.kernel.org>,
"Hugh Dickins" <hugh@...itas.com>,
"Florian Weimer" <fw@...eb.enyo.de>,
"Marc Haber" <mh+linux-kernel@...schlus.de>,
"Martin Michlmayr" <tbm@...ius.com>
Subject: Re: 2.6.19 file content corruption on ext3
On 12/20/06, Linus Torvalds <torvalds@...l.org> wrote:
> On Tue, 19 Dec 2006, Linus Torvalds wrote:
> >
> > here's a totally new tangent on this: it's possible that user code is
> > simply BUGGY.
>
> Btw, here's a simpler test-program that actually shows the difference
> between 2.6.18 and 2.6.19 in action, and why it could explain why a
> program like rtorrent might show corruption behavious that it didn't show
> before.
Kinda late to the discussion, but I guess I could summarize what
rtorrent actually does, or should be doing.
When downloading a new torrent, it will create the files and truncate
them to the final size. It will never call truncate after this and the
files will remain sparse until data is downloaded. A 'piece' is mapped
to memory using MAP_SHARED, which will be page aligned on single file
torrents but unlikely to be so on multi-file torrents.
So on multi-file torrents it'll often end up with two mappings
overlapping with one page, each of which only write to their own part
the page. These will then be sync'ed with MS_ASYNC, or MS_SYNC if low
on disk space. After that it might be unmapped, then mapped as
read-only.
I haven't thought of asking if single file torrents are ok.
Rakshasa
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists