summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw2@infradead.org>2008-08-07 17:19:43 +0200
committerChris Mason <chris.mason@oracle.com>2008-09-25 17:04:06 +0200
commit2db04966ae9a3eeb57f28df9aac4e77d5b287cb1 (patch)
tree12f42fdef9b5965c7e9970f875a6bf33ed5090f1 /fs
parentBtrfs: fix RHEL test for ClearPageFsMisc (diff)
downloadlinux-2db04966ae9a3eeb57f28df9aac4e77d5b287cb1.tar.xz
linux-2db04966ae9a3eeb57f28df9aac4e77d5b287cb1.zip
Btrfs: Change TestSetPageLocked() to trylock_page()
Add backwards compatibility in compat.h Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> --- compat.h | 3 +++ extent_io.c | 3 ++- 2 files changed, 5 insertions(+), 1 deletions(-) Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/btrfs/compat.h3
-rw-r--r--fs/btrfs/extent_io.c3
2 files changed, 5 insertions, 1 deletions
diff --git a/fs/btrfs/compat.h b/fs/btrfs/compat.h
index d39a768e65ff..b3349a66999d 100644
--- a/fs/btrfs/compat.h
+++ b/fs/btrfs/compat.h
@@ -1,6 +1,9 @@
#ifndef _COMPAT_H_
#define _COMPAT_H_
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,26)
+#define trylock_page(page) (!TestSetPageLocked(page))
+#endif
/*
* Even if AppArmor isn't enabled, it still has different prototypes.
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index 1cf4baba4342..f46f88620c70 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -14,6 +14,7 @@
#include <linux/pagevec.h>
#include "extent_io.h"
#include "extent_map.h"
+#include "compat.h"
/* temporary define until extent_map moves out of btrfs */
struct kmem_cache *btrfs_cache_create(const char *name, size_t size,
@@ -3055,7 +3056,7 @@ int read_extent_buffer_pages(struct extent_io_tree *tree,
for (i = start_i; i < num_pages; i++) {
page = extent_buffer_page(eb, i);
if (!wait) {
- if (TestSetPageLocked(page))
+ if (!trylock_page(page))
goto unlock_exit;
} else {
lock_page(page);