From: Alexandru Avadanii 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'),