osd: requeue dup ops inline with in-progress ops

We should requeue the dups along with the originals.  This avoids
situations where, after requeue, the dups are reordered with respect to
each other.  For example:

 - client sends A, B, C
 - osd receives A
 - connection drops
 - client sends A', B', C'
 - osd puts A' in waiting_for_ondisk, starts B' and C'
 - on_change() requeues everything

Final queue order (before this patch) is
    A, B', C', A'

After this patch, the resulting queue order is
    A, A', B', C'

Or somewhat more generally, it might be:

    A, A', B, B', B'', C', C'', D'', ....

Fixes (another source of): #2947
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
Implement multi-object delete.

An implimentation of multi-object delete described in
the latest Amazon S3 API provied at

http://docs.amazonwebservices.com/AmazonS3/latest/API

This commit is in response to tracker issue 2797

http://tracker.newdream.net/issues/2797

Signed-off-by: caleb miles <caleb.miles@inktank.com>
monclient: document get_version(), and fix return value

Return -EAGAIN instead of -1, since that's more meaningful, and
document it.

Signed-off-by: Sage Weil <sage@inktank.com>
monclient: pass EAGAIN to is_latest_map() callers

If our map get_version check needs to be retried, tell the
is_latest_map() callers instead of giving returning 0 ("no").

Fixes: #3049
Signed-off-by: Sage Weil <sage@inktank.com>
objecter: fix is_latest_map() retry on mon session restart

If the mon session drops, we get an EAGAIN callback, which we already
correctly ignored.  (Clean this up and comment so it's clearer what is
going on.)

Fix ms_handle_connect() to resubmit those requests.

Noticed while fixing #3049.

Signed-off-by: Sage Weil <sage@inktank.com>
objecter: send queued requests when we get first osdmap

If we get our first osdmap and already have requests queued, send them.

Fixes: #3050
Signed-off-by: Sage Weil <sage@inktank.com>
objecter: fix skipped map handling

If we skip a map, we want to translate NO_ACTION to NEED_RESEND, but leave
POOL_DNE alone.

Signed-off-by: Sage Weil <sage@inktank.com>
Merge branch 'wip-objecter' into next

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Merge branch 'next'
doc: Cleaned up syntax errors, and converted table to list.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
doc: Clean up quick start to ensure nobody uses "localhost".

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
doc: added internal hyperlink targets.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
doc: added sudo for hdparm command.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
doc: Added internal references. Clarified language in disk prepare.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
rgw: fix usage log read

The usage log read got broken in a recent cleanup work.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
doc: added admonishment. Updated header syntax, copy semantics and x-ref.


Signed-off-by: John Wilkins <john.wilkins@inktank.com>
doc: Completed and reviewed RGW config reference.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
rados_bench: wait for completion callbacks before returning

If we don't wait for the callback, the finisher may cleanup the callback
context before the callback is actually invoked, causing a
use-after-free error.

This fixes #3048.

Signed-off-by: Mike Ryan <mike.ryan@inktank.com>
Merge remote-tracking branch 'origin/wip-multi-delete'

Conflicts:
	src/Makefile.am

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Makefile.am: add missing .h

Was missing rgw_html_errors.h

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>