Hi, Without this patch btrfs doesn't compile on my system. I have Linux 2.6.27.8 on x86_64 compiled with gcc 4.1.2. This is mostly the old compat.h with one typedef removed (typedef unsigned __bitwise__ fmode_t;) as it was already defined on my system. Happy hacking :) Brcha -- Filip Brčić <brcha@xxxxxxx> WWWeb: http://www.brcha.iz.rs Jabber: brcha@xxxxxxxxxxx
diff --git a/compat.h b/compat.h
index 7c4503e..204cda7 100644
--- a/compat.h
+++ b/compat.h
@@ -4,4 +4,29 @@
#define btrfs_drop_nlink(inode) drop_nlink(inode)
#define btrfs_inc_nlink(inode) inc_nlink(inode)
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 27)
+static inline struct dentry *d_obtain_alias(struct inode *inode)
+{
+ struct dentry *d;
+
+ if (!inode)
+ return NULL;
+ if (IS_ERR(inode))
+ return ERR_CAST(inode);
+
+ d = d_alloc_anon(inode);
+ if (!d)
+ iput(inode);
+ return d;
+}
+#endif
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 28)
+# 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
+
+
#endif /* _COMPAT_H_ */
Attachment:
signature.asc
Description: This is a digitally signed message part.
