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?
| |