Btrfs: compat code fixes
The btrfs git kernel trees is used to build a standalone tree for
compiling against older kernels. This commit makes the standalone tree
work with 2.6.27
Signed-off-by: Chris Mason <chris.mason@oracle.com>
diff --git a/fs/btrfs/compat.h b/fs/btrfs/compat.h
index dd1defd..75e4426 100644
--- a/fs/btrfs/compat.h
+++ b/fs/btrfs/compat.h
@@ -25,6 +25,7 @@
# define __pagevec_lru_add_file __pagevec_lru_add
# define open_bdev_exclusive open_bdev_excl
# define close_bdev_exclusive(bdev, mode) close_bdev_excl(bdev)
+typedef unsigned __bitwise__ fmode_t;
#endif
diff --git a/fs/btrfs/compression.c b/fs/btrfs/compression.c
index df05f51..4febe2e 100644
--- a/fs/btrfs/compression.c
+++ b/fs/btrfs/compression.c
@@ -34,13 +34,13 @@
#include <linux/bit_spinlock.h>
#include <linux/version.h>
#include <linux/pagevec.h>
+#include "compat.h"
#include "ctree.h"
#include "disk-io.h"
#include "transaction.h"
#include "btrfs_inode.h"
#include "volumes.h"
#include "ordered-data.h"
-#include "compat.h"
#include "compression.h"
#include "extent_io.h"
#include "extent_map.h"
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index c8dcb47..9816522 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -26,7 +26,8 @@
#include <linux/buffer_head.h> // for block_sync_page
#include <linux/workqueue.h>
#include <linux/kthread.h>
-# include <linux/freezer.h>
+#include <linux/freezer.h>
+#include "compat.h"
#include "crc32c.h"
#include "ctree.h"
#include "disk-io.h"
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index 62d4970..b33e0bf 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -19,6 +19,8 @@
#include <linux/pagemap.h>
#include <linux/writeback.h>
#include <linux/blkdev.h>
+#include <linux/version.h>
+#include "compat.h"
#include "hash.h"
#include "crc32c.h"
#include "ctree.h"
@@ -900,6 +902,7 @@
return ret;
}
+#ifdef BIO_RW_DISCARD
static void btrfs_issue_discard(struct block_device *bdev,
u64 start, u64 len)
{
@@ -909,7 +912,7 @@
blkdev_issue_discard(bdev, start >> 9, len >> 9);
#endif
}
-
+#endif
static int noinline free_extents(struct btrfs_trans_handle *trans,
struct btrfs_root *extent_root,
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 2c77e09..7a8ad42 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -38,6 +38,7 @@
#include <linux/xattr.h>
#include <linux/posix_acl.h>
#include <linux/falloc.h>
+#include "compat.h"
#include "ctree.h"
#include "disk-io.h"
#include "transaction.h"
@@ -47,7 +48,6 @@
#include "volumes.h"
#include "ordered-data.h"
#include "xattr.h"
-#include "compat.h"
#include "tree-log.h"
#include "ref-cache.h"
#include "compression.h"
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index 8828109..f3d6845 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -41,6 +41,7 @@
#include <linux/version.h>
#include <linux/xattr.h>
#include <linux/vmalloc.h>
+#include "compat.h"
#include "ctree.h"
#include "disk-io.h"
#include "transaction.h"
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
index 77c5eff..1975ea2 100644
--- a/fs/btrfs/super.c
+++ b/fs/btrfs/super.c
@@ -37,6 +37,8 @@
#include <linux/ctype.h>
#include <linux/namei.h>
#include <linux/miscdevice.h>
+#include <linux/version.h>
+#include "compat.h"
#include "ctree.h"
#include "disk-io.h"
#include "transaction.h"
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index c3ee63f..724ead5 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -20,7 +20,9 @@
#include <linux/buffer_head.h>
#include <linux/blkdev.h>
#include <linux/random.h>
+#include <linux/version.h>
#include <asm/div64.h>
+#include "compat.h"
#include "ctree.h"
#include "extent_map.h"
#include "disk-io.h"