]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/mon/OSDMonitor.cc
update ceph source to reef 18.2.0
[ceph.git] / ceph / src / mon / OSDMonitor.cc
index 6a05124b3662e0213dec487bf09b4666b8cf091d..3acafbb82e682b812e468749815ba786ad9ea2e4 100644 (file)
@@ -13033,6 +13033,12 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
     if (pp->snap_exists(snapname.c_str())) {
       ss << "pool " << poolstr << " snap " << snapname << " already exists";
     } else {
+      if (const auto& fsmap = mon.mdsmon()->get_fsmap(); fsmap.pool_in_use(pool)) {
+       dout(20) << "pool-level snapshots have been disabled for pools "
+                   "attached to an fs - poolid:" << pool << dendl;
+       err = -EOPNOTSUPP;
+       goto reply;
+      }
       pp->add_snap(snapname.c_str(), ceph_clock_now());
       pp->set_snap_epoch(pending_inc.epoch);
       ss << "created pool " << poolstr << " snap " << snapname;