![]() | ||||||||||
Messages in this thread |
Hi Artem,
On Tue, Apr 1, 2008 at 3:42 PM, Artem Bityutskiy <dedekind@yandex.ru> wrote:
> > > +static int ubifs_releasepage(struct page *page, gfp_t unused_gfp_flags)
> > > +{
> > > + /*
> > > + * An attempt to release a dirty page without budgeting for it - should
> > > + * not happen.
> > > + */
> > > + ubifs_assert(PageLocked(page));
> > > + if (PageWriteback(page))
> > > + return 0;
> > > + ubifs_assert(PagePrivate(page));
> > > + ubifs_assert(0);
> > > + ClearPagePrivate(page);
> > > + ClearPageChecked(page);
> > > + return 1;
> > > +}
>
> Yeah, this is also a guarding thing. When a dirty page is released
> the budget which was allocated for it has to be freed. If this function
> is called, then the budget was not freed, which must never happen.
So what guarantees that no one calls invalidate_complete_page() or
fallback_migrate_page(), for example?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
| |||||||||
| Last update: 2008-04-01 13:15 [W:0.250 / U:0.040 seconds] ©2003-2008 Jasper Spaans | ||||||||||