[DRBD-user] drbd 7 + xfs + 2.6.7

Lars Ellenberg Lars.Ellenberg at linbit.com
Sat Jul 24 18:12:51 CEST 2004

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.


/ 2004-07-24 15:08:48 +0200
\ Lars Marowsky-Bree:
> On 2004-07-24T07:07:18,
>    Lars Marowsky-Bree <lmb at suse.de> said:
> 
> > I also discussed this with Andrea and Chris Mason over dinner, and they
> > basically said it's an XFS bug - pagecount() is a macro which ought to
> > work correctly for slab pages too, however XFS is doing something funny.
> > Please also bring this to attention at LKML.
> 
> Oh. I just noticed, we are using page_count() and not pagecount(); the
> second one should yield the right number for slab pages. However, I'm
> mostly sure we still need special handling for the slab pages.
> 
> page_count() will only yield the right number for the first part of a
> split slab page and return 0 for any other one; the macro pagecount()
> will yield that very number for all splits of a page.

there is no such macro "pagecount" in my 2.6.6 (2.6.7) kernel.org ??
there only is page_count...

from include/linux/mm.h
*
* Since 2.6.6 (approx), a free page has ->_count = -1.  This is so that we
* can use atomic_add_negative(-1, page->_count) to detect when the page
* becomes free and so that we can also use atomic_inc_and_test to atomically
* detect when we just tried to grab a ref on a page which some other CPU has
* already deemed to be freeable.
*
* NO code should make assumptions about this internal detail!  Use the provided
* macros which retain the old rules: page_count(page) == 0 is a free page.
*/

so.
what?


	Lars Ellenberg

-- 
please use the "List-Reply" function of your email client.



More information about the drbd-user mailing list