[Drbd-dev] Re: XFS on DRBD
Tue, 27 Jul 2004 20:32:09 +0200
/ 2004-07-27 10:15:53 +0200
\ Philipp Reisner:
> On Wednesday 26 May 2004 09:36, you wrote:
> > XFS does I/O on slab-allocated pages, which not a lot other code in
> > the kernel does, and it seems drbd doesn't like that. Do you have
> > a pointer to the drbd code for Linux 2.6 so I can take a look?
> Hi Christoph,
> Drbd reached release status and finally everything works, but we have a
> rather uggly workaround for XFS.
> We usually use sendpage() to send the data blocks over the network.
> But when XFS hands us its slab-allocated pages over, we may not
> use sendpage.
> If we call sendpage on such a page it will crash, since sendpage()
... first does a get_page(), and then ...
> calls put_page() after the job is done.
--> but PageSlab(), so: BOOM.
this all happens _before_ any bio_endio is called on the associated bio.
> IMHO XFS should only pass pages down the IO path which have a correct
> Which is the right forum to discuss this issue ?
I suggest we either can solve this right here,
or we move this to lkml ...
maybe we should move to lkml anyways, since actually this
is a generic issue: how to pass slab pages around to other
sub systems, which do not know anything about that page,
but expect to be able to
... later ... put_page();