Re: PATCH: Bug in invalidate_inode_pages()?

Trond Myklebust
2000-05-09T00:29:32Z

>>>>> " " == Juan J Quintela <quintela@fi.udc.es> writes:

> Hi
> I think that I have found a bug in
> invalidate_inode_pages.
> It results that we don't remove the pages from the
> &inode->i_mapping->pages list, then when we return te do the
> next loop through all the pages, we can try to free a page that
> we have freed in the previous pass. Once here I have also
> removed the goto

> Comments, have I lost something obvious?

Unfortunately, yes...

Firstly, you're removing the wrong page (viz. curr = curr->next).

Secondly, we're already removing the page from the mapping using the
inlined function remove_page_from_inode_queue() which is again
called by remove_inode_page(). This also updates mapping->nrpages.

So invalidate_inode_pages() is correct as it stands.

Cheers,
Trond