Messages in this thread | | | From | Ulrich Weigand <> | Subject | linux-kernel@vger ... | Date | Thu, 31 Jan 2002 02:02:04 +0100 (MET) |
| |
Momchil Velikov wrote:
+int move_from_swap_cache(struct page *page, unsigned long index, + struct address_space *mapping) +{ + void **pslot; + int err; + + if (!PageLocked(page)) + BUG(); + + spin_lock(&swapper_space.i_shared_lock); + spin_lock(&mapping->i_shared_lock); + + err = radix_tree_reserve(&mapping->page_tree, index, &pslot); + if (!err) { + swp_entry_t entry; + + block_flushpage(page, 0); + entry.val = page->index; + __delete_from_swap_cache(page); + swap_free(entry); + + *pslot = page; + page->flags = ((page->flags & ~(1 << PG_uptodate | 1 << PG_error + | 1 << PG_referenced | 1 << PG_arch_1 + | 1 << PG_checked)) + | (1 << PG_dirty)); + page->index = index; + add_page_to_inode_queue (mapping, page); + atomic_inc(&page_cache_size); + } + + spin_lock(&mapping->i_shared_lock); + spin_lock(&swapper_space.i_shared_lock);
Don't you mean spin_unlock here?
Bye, Ulrich
-- Dr. Ulrich Weigand weigand@informatik.uni-erlangen.de - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |