]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw_file: fix spurious mount entries w/Linux NFS client 11881/head
authorMatt Benjamin <mbenjamin@redhat.com>
Wed, 9 Nov 2016 19:24:15 +0000 (14:24 -0500)
committerMatt Benjamin <mbenjamin@redhat.com>
Wed, 9 Nov 2016 19:28:36 +0000 (14:28 -0500)
This change fixes the initialization of root file handles to have
their correct fs instance.  Previously, the root file handle had
fs_inst-1.  The apparent change in fsid in a subordinate directory
triggers the client's behavior for new filesystem mounts, which
we don't want.

Fixes: http://tracker.ceph.com/issues/17850
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
src/rgw/rgw_file.h

index 4cec6e7d5e9576d4087fd2b3ea065d747e023aaf..db675765144901b9e7f5ccd41bc6a11127bb7393 100644 (file)
@@ -781,9 +781,12 @@ namespace rgw {
               cct->_conf->rgw_nfs_lru_lane_hiwat),
        uid(_uid), key(_user_id, _key) {
 
+      /* fixup fs_inst */
+      root_fh.state.dev = ++fs_inst;
+
       /* no bucket may be named rgw_fs_inst-(.*) */
       fsid = RGWFileHandle::root_name + "rgw_fs_inst-" +
-       std::to_string(++(fs_inst));
+       std::to_string(fs_inst);
 
       root_fh.init_rootfs(fsid /* bucket */, RGWFileHandle::root_name);