aboutsummaryrefslogtreecommitdiffstats
path: root/patches/fuel-library/0011-ceph-Fix-obsolete-XFS-mount-param-delaylog.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/fuel-library/0011-ceph-Fix-obsolete-XFS-mount-param-delaylog.patch')
-rw-r--r--patches/fuel-library/0011-ceph-Fix-obsolete-XFS-mount-param-delaylog.patch48
1 files changed, 48 insertions, 0 deletions
diff --git a/patches/fuel-library/0011-ceph-Fix-obsolete-XFS-mount-param-delaylog.patch b/patches/fuel-library/0011-ceph-Fix-obsolete-XFS-mount-param-delaylog.patch
new file mode 100644
index 00000000..0d13efeb
--- /dev/null
+++ b/patches/fuel-library/0011-ceph-Fix-obsolete-XFS-mount-param-delaylog.patch
@@ -0,0 +1,48 @@
+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+Date: Sun, 27 Mar 2016 20:32:50 +0200
+Subject: [PATCH] ceph: Fix obsolete XFS mount param "delaylog".
+
+According to [1], "delaylog" mount arg is now enforced by default,
+and passing it will lead to mount failure.
+
+Trim "delaylog" from default list of xfs mount args and leave it up to
+ceph-osd.pp to add this obsoleted arg only for targets running a kernel
+older than 4.0.
+
+[1] https://www.kernel.org/doc/Documentation/filesystems/xfs.txt
+---
+ deployment/puppet/osnailyfacter/modular/ceph/ceph-osd.pp | 7 +++++++
+ deployment/puppet/osnailyfacter/modular/globals/globals.pp | 2 +-
+ 2 files changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/deployment/puppet/osnailyfacter/modular/ceph/ceph-osd.pp b/deployment/puppet/osnailyfacter/modular/ceph/ceph-osd.pp
+index f7da80e..22aab33 100644
+--- a/deployment/puppet/osnailyfacter/modular/ceph/ceph-osd.pp
++++ b/deployment/puppet/osnailyfacter/modular/ceph/ceph-osd.pp
+@@ -50,6 +50,13 @@ class {'ceph':
+ }
+
+ if $ceph_tuning_settings != {} {
++ if versioncmp($::kernelmajversion, '4.0') < 0 {
++ # FIXME(armband): XFS mount opt delaylog is deprecated in kernels >=4.0.
++ $ceph_tuning_settings['osd_mount_options_xfs'] = join([
++ $ceph_tuning_settings['osd_mount_options_xfs'],
++ 'delaylog'
++ ], ',')
++ }
+ ceph_conf {
+ 'global/debug_default' : value => $debug;
+ 'global/max_open_files' : value => $ceph_tuning_settings['max_open_files'];
+diff --git a/deployment/puppet/osnailyfacter/modular/globals/globals.pp b/deployment/puppet/osnailyfacter/modular/globals/globals.pp
+index 268a5b1..69aed7b 100644
+--- a/deployment/puppet/osnailyfacter/modular/globals/globals.pp
++++ b/deployment/puppet/osnailyfacter/modular/globals/globals.pp
+@@ -123,7 +123,7 @@ if ($storage_hash['volumes_ceph'] or $storage_hash['images_ceph'] or $storage_ha
+ $ceph_tuning_settings = {
+ 'max_open_files' => pick($storage_tuning_settings['max_open_files'], '131072'),
+ 'osd_mkfs_type' => pick($storage_tuning_settings['osd_mkfs_type'], 'xfs'),
+- 'osd_mount_options_xfs' => pick($storage_tuning_settings['osd_mount_options_xfs'], 'rw,relatime,inode64,logbsize=256k,delaylog,allocsize=4M'),
++ 'osd_mount_options_xfs' => pick($storage_tuning_settings['osd_mount_options_xfs'], 'rw,relatime,inode64,logbsize=256k,allocsize=4M'),
+ 'osd_op_threads' => pick($storage_tuning_settings['osd_op_threads'], '20'),
+ 'filestore_queue_max_ops' => pick($storage_tuning_settings['filestore_queue_max_ops'], '500'),
+ 'filestore_queue_committing_max_ops' => pick($storage_tuning_settings['filestore_queue_committing_max_ops'], '5000'),