Two simple straight-forward non-controversial patches.... I hope.
Sunil Mushran
2009-Nov-23 21:31 UTC
[Ocfs2-devel] [PATCH 1/2] ocfs2: Enable fiemap() support
EL5 U4 enables fiemap() support for file systems that has FS_HAS_FIEMAP
flag set. Patch detects such kernels and appends the flag to enable it.
Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
---
Config.make.in | 1 +
configure.in | 5 +++++
fs/ocfs2/Makefile | 4 ++++
fs/ocfs2/super.c | 4 ++++
4 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/Config.make.in b/Config.make.in
index acbe8fd..c149524 100644
--- a/Config.make.in
+++ b/Config.make.in
@@ -84,6 +84,7 @@ NO_NAME_IN_BACKING_DEV_INFO=@NO_NAME_IN_BACKING_DEV_INFO@
NO_KOBJ_ATTRIBUTE = @NO_KOBJ_ATTRIBUTE@
SKIP_QUOTAS= @SKIP_QUOTAS@
SKIP_EXPORTS= @SKIP_EXPORTS@
+APPEND_FIEMAP_FLAG=@APPEND_FIEMAP_FLAG@
OCFS_DEBUG = @OCFS_DEBUG@
diff --git a/configure.in b/configure.in
index 405e1a5..fc46d2c 100644
--- a/configure.in
+++ b/configure.in
@@ -459,6 +459,11 @@ OCFS2_CHECK_KERNEL([cancel_work_sync() in workqueue.h],
workqueue.h,
, cancel_work_sync_header=cancel_work_sync.h, [extern int
cancel_work_sync(struct work_struct])
KAPI_COMPAT_HEADERS="$KAPI_COMPAT_HEADERS $cancel_work_sync_header"
+APPEND_FIEMAP_FLAG+OCFS2_CHECK_KERNEL([ FS_HAS_FIEMAP in fs.h], fs.h,
+ APPEND_FIEMAP_FLAG=yes, , [#define FS_HAS_FIEMAP ])
+AC_SUBST(APPEND_FIEMAP_FLAG)
+
# End kapi_compat checks
# using -include has two advantages:
diff --git a/fs/ocfs2/Makefile b/fs/ocfs2/Makefile
index 848c121..1905000 100644
--- a/fs/ocfs2/Makefile
+++ b/fs/ocfs2/Makefile
@@ -136,6 +136,10 @@ ifdef SKIP_EXPORTS
EXTRA_CFLAGS += -DSKIP_EXPORTS
endif
+ifdef APPEND_FIEMAP_FLAG
+EXTRA_CFLAGS += -DAPPEND_FIEMAP_FLAG
+endif
+
#
# Since SUBDIRS means something to kbuild, define them safely. Do not
# include trailing slashes.
diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c
index f6e2c69..adc337f 100644
--- a/fs/ocfs2/super.c
+++ b/fs/ocfs2/super.c
@@ -1559,6 +1559,10 @@ static int __init ocfs2_init(void)
ocfs2_print_version();
+#ifdef APPEND_FIEMAP_FLAG
+ ocfs2_fs_type.fs_flags |= FS_HAS_FIEMAP;
+#endif
+
status = init_ocfs2_uptodate_cache();
if (status < 0) {
mlog_errno(status);
--
1.6.3.3
Sunil Mushran
2009-Nov-23 21:31 UTC
[Ocfs2-devel] [PATCH 2/2] ocfs2: Enable fallocate() support
EL5 U4 enables fallocate() support for file systems that has FS_HAS_FALLOCATE
flag set. Patch detects such kernels and appends the flag to enable it.
Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
---
Config.make.in | 1 +
configure.in | 5 +++++
fs/ocfs2/Makefile | 4 ++++
fs/ocfs2/super.c | 4 ++++
4 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/Config.make.in b/Config.make.in
index c149524..c12ee75 100644
--- a/Config.make.in
+++ b/Config.make.in
@@ -85,6 +85,7 @@ NO_KOBJ_ATTRIBUTE = @NO_KOBJ_ATTRIBUTE@
SKIP_QUOTAS= @SKIP_QUOTAS@
SKIP_EXPORTS= @SKIP_EXPORTS@
APPEND_FIEMAP_FLAG=@APPEND_FIEMAP_FLAG@
+APPEND_FALLOCATE_FLAG=@APPEND_FALLOCATE_FLAG@
OCFS_DEBUG = @OCFS_DEBUG@
diff --git a/configure.in b/configure.in
index fc46d2c..af7b575 100644
--- a/configure.in
+++ b/configure.in
@@ -464,6 +464,11 @@ OCFS2_CHECK_KERNEL([ FS_HAS_FIEMAP in fs.h], fs.h,
APPEND_FIEMAP_FLAG=yes, , [#define FS_HAS_FIEMAP ])
AC_SUBST(APPEND_FIEMAP_FLAG)
+APPEND_FALLOCATE_FLAG+OCFS2_CHECK_KERNEL([ FS_HAS_FALLOCATE in fs.h], fs.h,
+ APPEND_FALLOCATE_FLAG=yes, , [#define FS_HAS_FALLOCATE ])
+AC_SUBST(APPEND_FALLOCATE_FLAG)
+
# End kapi_compat checks
# using -include has two advantages:
diff --git a/fs/ocfs2/Makefile b/fs/ocfs2/Makefile
index 1905000..1cc1aaf 100644
--- a/fs/ocfs2/Makefile
+++ b/fs/ocfs2/Makefile
@@ -140,6 +140,10 @@ ifdef APPEND_FIEMAP_FLAG
EXTRA_CFLAGS += -DAPPEND_FIEMAP_FLAG
endif
+ifdef APPEND_FALLOCATE_FLAG
+EXTRA_CFLAGS += -DAPPEND_FALLOCATE_FLAG
+endif
+
#
# Since SUBDIRS means something to kbuild, define them safely. Do not
# include trailing slashes.
diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c
index adc337f..fe79509 100644
--- a/fs/ocfs2/super.c
+++ b/fs/ocfs2/super.c
@@ -1563,6 +1563,10 @@ static int __init ocfs2_init(void)
ocfs2_fs_type.fs_flags |= FS_HAS_FIEMAP;
#endif
+#ifdef APPEND_FALLOCATE_FLAG
+ ocfs2_fs_type.fs_flags |= FS_HAS_FALLOCATE;
+#endif
+
status = init_ocfs2_uptodate_cache();
if (status < 0) {
mlog_errno(status);
--
1.6.3.3
On Mon, Nov 23, 2009 at 01:31:39PM -0800, Sunil Mushran wrote:> Two simple straight-forward non-controversial patches.... I hope.I'm guessing these FS_HAS_* flags only exist in EL5U4. This works just fine. Joel -- "Nearly all men can stand adversity, but if you really want to test a man's character, give him power." - Abraham Lincoln Joel Becker Principal Software Developer Oracle E-mail: joel.becker at oracle.com Phone: (650) 506-8127