From 38667db577cc06f69c847a0c469d15bc47fbcbdb Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 14 Aug 2008 14:18:27 -0700 Subject: [PATCH] kclient: 2.6.26 updates --- src/kernel/addr.c | 14 +++++++++++++- src/kernel/super.c | 4 ++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/kernel/addr.c b/src/kernel/addr.c index c01c553e3aa59..13a2925571259 100644 --- a/src/kernel/addr.c +++ b/src/kernel/addr.c @@ -30,7 +30,11 @@ static int ceph_set_page_dirty(struct page *page) return 0; } +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26) + spin_lock_irq(&mapping->tree_lock); +#else write_lock_irq(&mapping->tree_lock); +#endif if (page->mapping) { /* Race with truncate? */ WARN_ON_ONCE(!PageUptodate(page)); @@ -62,7 +66,11 @@ static int ceph_set_page_dirty(struct page *page) mapping->host, page, snapc, snapc->seq, snapc->num_snaps); } else dout(20, "ANON set_page_dirty %p (raced truncate?)\n", page); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26) + spin_unlock_irq(&mapping->tree_lock); +#else write_unlock_irq(&mapping->tree_lock); +#endif __mark_inode_dirty(mapping->host, I_DIRTY_PAGES); return 1; @@ -356,8 +364,12 @@ get_more_pages: dout(20, "? %p idx %lu\n", page, page->index); if (locked_pages == 0) lock_page(page); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26) + else if (!trylock_page(page)) { +#else else if (TestSetPageLocked(page)) { - dout(20, "couldn't TestSetPageLocked %p\n", page); +#endif + dout(20, "couldn't lock page %p\n", page); break; } diff --git a/src/kernel/super.c b/src/kernel/super.c index 2c1de389dfa1d..0d00fa33c85f1 100644 --- a/src/kernel/super.c +++ b/src/kernel/super.c @@ -214,7 +214,11 @@ static void ceph_destroy_inode(struct inode *inode) kmem_cache_free(ceph_inode_cachep, ci); } +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26) +qstatic void init_once(void *foo) +#else static void init_once(struct kmem_cache *cachep, void *foo) +#endif { struct ceph_inode_info *ci = foo; dout(10, "init_once on %p\n", &ci->vfs_inode); -- 2.39.5