Is there anything that prevents PageDirty from theoretically being speculatively loaded before page_count here? (see patch) It would result in pagecache corruption in the following situation: 1 2 find_get_page(); write to page write_lock(tree_lock); SetPageDirty(); if (page_count != 2 put_page(); || PageDirty()) Now I'm worried that 2 might see PageDirty *before* SetPageDirty in 1, and page_count *after* put_page in 1. Or am I seeing things that aren't there? Thanks, -- SUSE Labs, Novell Inc.