From 395becf6686db179f45fbf54d3acf02b15052909 Mon Sep 17 00:00:00 2001 From: Andrew Perepechko Date: Wed, 19 May 2010 19:39:51 +0400 Subject: [PATCH] b=22610 a truncate_complete_page fix truncate_complete_page implementation for the patchless client could arbitrarily unset PG_Uptodate flag for a page being kicked from the page cache, an uptodate check right after a readpage call in filemap_fault could fail because of that as though the page read had been unsuccessful. i=Oleg Drokin i=Johann Lombardi --- lustre/ChangeLog | 10 ++++++++++ lustre/include/linux/lustre_patchless_compat.h | 1 - 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lustre/ChangeLog b/lustre/ChangeLog index 692c0d5..6a940d6 100644 --- a/lustre/ChangeLog +++ b/lustre/ChangeLog @@ -12,6 +12,16 @@ tbd Oracle, Inc. * The async journal commit feature (bug 19128) and the cancel lock before replay feature (bug 16774) are disabled by default. +Severity : normal +Bugzilla : 22610 +Description: a race condition could lead to SIGBUS being sent to an + application using mmap-ped files from Lustre +Details : truncate_complete_page implementation for the patchless + client could arbitrarily unset PG_Uptodate flag for a + page being kicked from the page cache, an uptodate check + right after a readpage call in filemap_fault could fail + because of that as though the page read had been unsuccessful. + Severity : enhancement Bugzilla : 22455 Description: add list_param to b1_8 and add "-R" option to list params diff --git a/lustre/include/linux/lustre_patchless_compat.h b/lustre/include/linux/lustre_patchless_compat.h index f5ba194..723a39a 100644 --- a/lustre/include/linux/lustre_patchless_compat.h +++ b/lustre/include/linux/lustre_patchless_compat.h @@ -86,7 +86,6 @@ truncate_complete_page(struct address_space *mapping, struct page *page) #else clear_page_dirty(page); #endif - ClearPageUptodate(page); ClearPageMappedToDisk(page); ll_remove_from_page_cache(page); page_cache_release(page); /* pagecache ref */ -- 1.8.3.1