Re: The INN/mmap bug

From: Daniel Phillips (news-innominate.list.linux.kernel@innominate.de)
Date: Tue Sep 19 2000 - 11:10:40 EST


Daniel Phillips wrote:
> Alexander Viro wrote:
> > On Tue, 19 Sep 2000, Daniel Phillips wrote:
> >
> > > !Mapped, !Uptodate, Dirty: pending map and write
> >
> > Wrong. It's an instant BUG at line 711 in ll_rw_blk.c - remember these
> > reports?

Yes, correct, this state should not escape from prepare_write, though
that's only a limitation of the current code.

Here's the corrected, corrected table:

         Mapped, Uptodate, Dirty: pending write
        !Mapped, Uptodate, Dirty: not possible
         Mapped, !Uptodate, Dirty: not possible
        !Mapped, !Uptodate, Dirty: not possible
         Mapped, Uptodate, !Dirty: regular block
        !Mapped, Uptodate, !Dirty: hole of zeroes
         Mapped, !Uptodate, !Dirty: unread
        !Mapped, !Uptodate, !Dirty: pending map

And here's the punchline: why not have 5 states instead of 3 bits and
set the state with a single function call, instead of the mutiple bit
sets we see now.

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



This archive was generated by hypermail 2b29 : Sat Sep 23 2000 - 21:00:21 EST