Messages in this thread |  | | | Date | Tue, 1 Apr 2008 16:12:33 +0300 | | From | "Pekka Enberg" <> | | Subject | Re: [RFC PATCH 20/26] UBIFS: add VFS operations | |
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?
|  |