Merge branch 'for-2.6.39/core' of git://git.kernel.dk/linux-2.6-block
* 'for-2.6.39/core' of git://git.kernel.dk/linux-2.6-block: (65 commits) Documentation/iostats.txt: bit-size reference etc. cfq-iosched: removing unnecessary think time checking cfq-iosched: Don't clear queue stats when preempt. blk-throttle: Reset group slice when limits are changed blk-cgroup: Only give unaccounted_time under debug cfq-iosched: Don't set active queue in preempt block: fix non-atomic access to genhd inflight structures block: attempt to merge with existing requests on plug flush block: NULL dereference on error path in __blkdev_get() cfq-iosched: Don't update group weights when on service tree fs: assign sb->s_bdi to default_backing_dev_info if the bdi is going away block: Require subsystems to explicitly allocate bio_set integrity mempool jbd2: finish conversion from WRITE_SYNC_PLUG to WRITE_SYNC and explicit plugging jbd: finish conversion from WRITE_SYNC_PLUG to WRITE_SYNC and explicit plugging fs: make fsync_buffers_list() plug mm: make generic_writepages() use plugging blk-cgroup: Add unaccounted time to timeslice_used. block: fixup plugging stubs for !CONFIG_BLOCK block: remove obsolete comments for blkdev_issue_zeroout. blktrace: Use rq->cmd_flags directly in blk_add_trace_rq. ... Fix up conflicts in fs/{aio.c,super.c}
This commit is contained in:
@ -945,7 +945,7 @@ static int hwpoison_user_mappings(struct page *p, unsigned long pfn,
|
||||
collect_procs(ppage, &tokill);
|
||||
|
||||
if (hpage != ppage)
|
||||
lock_page_nosync(ppage);
|
||||
lock_page(ppage);
|
||||
|
||||
ret = try_to_unmap(ppage, ttu);
|
||||
if (ret != SWAP_SUCCESS)
|
||||
@ -1038,7 +1038,7 @@ int __memory_failure(unsigned long pfn, int trapno, int flags)
|
||||
* Check "just unpoisoned", "filter hit", and
|
||||
* "race with other subpage."
|
||||
*/
|
||||
lock_page_nosync(hpage);
|
||||
lock_page(hpage);
|
||||
if (!PageHWPoison(hpage)
|
||||
|| (hwpoison_filter(p) && TestClearPageHWPoison(p))
|
||||
|| (p != hpage && TestSetPageHWPoison(hpage))) {
|
||||
@ -1088,7 +1088,7 @@ int __memory_failure(unsigned long pfn, int trapno, int flags)
|
||||
* It's very difficult to mess with pages currently under IO
|
||||
* and in many cases impossible, so we just avoid it here.
|
||||
*/
|
||||
lock_page_nosync(hpage);
|
||||
lock_page(hpage);
|
||||
|
||||
/*
|
||||
* unpoison always clear PG_hwpoison inside page lock
|
||||
@ -1231,7 +1231,7 @@ int unpoison_memory(unsigned long pfn)
|
||||
return 0;
|
||||
}
|
||||
|
||||
lock_page_nosync(page);
|
||||
lock_page(page);
|
||||
/*
|
||||
* This test is racy because PG_hwpoison is set outside of page lock.
|
||||
* That's acceptable because that won't trigger kernel panic. Instead,
|
||||
|
Reference in New Issue
Block a user