]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/filestore: Fix erroneous WARNING: max attr too small 11246/head
authorBrad Hubbard <bhubbard@redhat.com>
Wed, 28 Sep 2016 04:50:28 +0000 (14:50 +1000)
committerBrad Hubbard <bhubbard@redhat.com>
Thu, 27 Oct 2016 06:02:09 +0000 (16:02 +1000)
When we read the conf values from the conf file we call handle_conf_change which
calls set_xattr_limits_via_conf but this is before m_fs_type is initialised so
we fall through to the default comaprison with
filestore_max_xattr_value_size_other (1024) and erroneously issue the warning.
This happens at every startup but subsequent calls once the filestore is mounted
proceed as expected. Don't call set_xattr_limits_via_conf unless the filestore
is mounted.

Fixes: http://tracker.ceph.com/issues/17420
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
src/os/filestore/FileStore.cc

index ff928314861995d4c13eadf87a2c6ec2be8d5c6e..d1e32dc3ac7b6d7fc004eac56cdc8c5ce2812942 100644 (file)
@@ -5519,8 +5519,10 @@ void FileStore::handle_conf_change(const struct md_config_t *conf,
       changed.count("filestore_max_xattr_value_size_xfs") ||
       changed.count("filestore_max_xattr_value_size_btrfs") ||
       changed.count("filestore_max_xattr_value_size_other")) {
-    Mutex::Locker l(lock);
-    set_xattr_limits_via_conf();
+    if (backend) {
+      Mutex::Locker l(lock);
+      set_xattr_limits_via_conf();
+    }
   }
 
   if (changed.count("filestore_queue_max_bytes") ||