git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 2.0 rc7
[linux-2.6.git]
/
drivers
/
mtd
/
devices
/
block2mtd.c
diff --git
a/drivers/mtd/devices/block2mtd.c
b/drivers/mtd/devices/block2mtd.c
index
1cbdfce
..
cfe6ccf
100644
(file)
--- a/
drivers/mtd/devices/block2mtd.c
+++ b/
drivers/mtd/devices/block2mtd.c
@@
-59,7
+59,7
@@
void cache_readahead(struct address_space *mapping, int index)
end_index = ((isize - 1) >> PAGE_CACHE_SHIFT);
end_index = ((isize - 1) >> PAGE_CACHE_SHIFT);
-
spin
_lock_irq(&mapping->tree_lock);
+
read
_lock_irq(&mapping->tree_lock);
for (i = 0; i < PAGE_READAHEAD; i++) {
pagei = index + i;
if (pagei > end_index) {
for (i = 0; i < PAGE_READAHEAD; i++) {
pagei = index + i;
if (pagei > end_index) {
@@
-71,16
+71,16
@@
void cache_readahead(struct address_space *mapping, int index)
break;
if (page)
continue;
break;
if (page)
continue;
-
spin
_unlock_irq(&mapping->tree_lock);
+
read
_unlock_irq(&mapping->tree_lock);
page = page_cache_alloc_cold(mapping);
page = page_cache_alloc_cold(mapping);
-
spin
_lock_irq(&mapping->tree_lock);
+
read
_lock_irq(&mapping->tree_lock);
if (!page)
break;
page->index = pagei;
list_add(&page->lru, &page_pool);
ret++;
}
if (!page)
break;
page->index = pagei;
list_add(&page->lru, &page_pool);
ret++;
}
-
spin
_unlock_irq(&mapping->tree_lock);
+
read
_unlock_irq(&mapping->tree_lock);
if (ret)
read_cache_pages(mapping, &page_pool, filler, NULL);
}
if (ret)
read_cache_pages(mapping, &page_pool, filler, NULL);
}