Signed-off-by: Casey Bodley <cbodley@redhat.com>
POSIXBucket* b = static_cast<POSIXBucket*>(obj->get_bucket());
if (b->get_dir()->get_type() == ObjectType::MULTIPART && b->get_dir_fd(dpp) > 0) {
+ locked = true;
return 0;
}
return -ENOENT;
}
+int MPPOSIXSerializer::unlock(const DoutPrefixProvider *dpp, optional_yield y)
+{
+ clear_locked();
+ return 0;
+}
+
int POSIXObject::transition(Bucket* bucket,
const rgw_placement_rule& placement_rule,
const real_time& mtime,
MPPOSIXSerializer(const DoutPrefixProvider *dpp, POSIXDriver* driver, POSIXObject* _obj, const std::string& lock_name) : obj(_obj) {}
virtual int try_lock(const DoutPrefixProvider *dpp, ceph::timespan dur, optional_yield y) override;
- virtual int unlock(const DoutPrefixProvider* dpp, optional_yield y) override { return 0; }
+ virtual int unlock(const DoutPrefixProvider* dpp, optional_yield y) override;
};
} } // namespace rgw::sal