Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

os: unify Sequencer and CollectionHandle #20173

Merged
merged 12 commits into from Feb 7, 2018
Merged

Conversation

liewegas
Copy link
Member

  • unify Sequencer and CollectionHandle, since they map 1:1 in practice
  • drop explicit flush() callers and instead flush in collection_list and _empty
  • drop several test tools that are no longer used or needed but make it harder to make interface changes like this!

There should be no functional change here.

These are stale and superceded by the fio ObjectStore (and other)
backends.  Shed the weight!

Signed-off-by: Sage Weil <sage@redhat.com>
Signed-off-by: Sage Weil <sage@redhat.com>
This relies on smalliobench, which is gone now.  The task could
pretty easily be resurrected if we substitute in another tool.

Signed-off-by: Sage Weil <sage@redhat.com>
Stale test code, never run.

Signed-off-by: Sage Weil <sage@redhat.com>
In practice we have a sequencer per collection. Combine them in the interface
to simplify our lives!

Signed-off-by: Sage Weil <sage@redhat.com>
Drop the coll_t shims, and convert the last few that weren't already
handle-based.

Signed-off-by: Sage Weil <sage@redhat.com>
This takes the (awkward) burden off the caller.

Signed-off-by: Sage Weil <sage@redhat.com>
The ObjectStore implementation should handle this.

Signed-off-by: Sage Weil <sage@redhat.com>
These are no longer needed as the implementations do it themselves.

Signed-off-by: Sage Weil <sage@redhat.com>
This was used only to name the osr for the purposes of the tracepoint. We
can do that ourselves!

Signed-off-by: Sage Weil <sage@redhat.com>
No longer used!  (It was only needed for an ugly FileStore hack.)

Signed-off-by: Sage Weil <sage@redhat.com>
- start pool at 1
- make hash fall within pg (just match it for now)

Signed-off-by: Sage Weil <sage@redhat.com>
@liewegas
Copy link
Member Author

liewegas commented Feb 6, 2018

@jdurgin jdurgin merged commit eae6e64 into ceph:master Feb 7, 2018
Copy link
Member

@gregsfortytwo gregsfortytwo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Heh, a quick note and a question I had already come up with

@@ -7234,6 +7234,7 @@ int BlueStore::collection_list(
vector<ghobject_t> *ls, ghobject_t *pnext)
{
Collection *c = static_cast<Collection *>(c_.get());
c->flush();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's a comment in PG::_deleting_some() that this commit obviates.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i'll clean that out in teh next pr

@@ -11654,7 +11654,6 @@ void PrimaryLogPG::shutdown()
lock();
on_shutdown();
unlock();
ch->flush();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't look at everything yet so I probably just missed it, but what change to the ObjectStores makes them flush on shutdown?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

both bluestore and filestore already have machinery in umount() that flushes stuff that's in flight--no changes needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants