]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Jason Dillaman [Thu, 18 Feb 2016 22:58:28 +0000 (17:58 -0500)]
librbd: don't hold owner lock while refreshing image synchronously
The write lock will be taken when the new state is applied.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Thu, 18 Feb 2016 22:56:20 +0000 (17:56 -0500)]
librbd: need owner write lock when disabling exclusive lock
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Wed, 17 Feb 2016 15:35:47 +0000 (10:35 -0500)]
librbd: correct memory leaks discovered via valgrind
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Wed, 17 Feb 2016 02:43:03 +0000 (21:43 -0500)]
librbd: notifications should be flushed between exclusive lock states
Avoid leaving in-flight notification messages when transitioning lock
states.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Tue, 16 Feb 2016 17:59:42 +0000 (12:59 -0500)]
librbd: update image name upon rename operations
Previously the image could not have been renamed twice without
re-opening the image.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Tue, 16 Feb 2016 17:51:34 +0000 (12:51 -0500)]
librbd: missing owner lock on snap rollback cache invalidation
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Tue, 16 Feb 2016 14:07:57 +0000 (09:07 -0500)]
librbd: journal replay should execute ops in clean context
lockdep will complain about loop cycles that won't cause an
issue in reality as replay and record are two different
journal states.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Tue, 16 Feb 2016 15:10:16 +0000 (10:10 -0500)]
librbd: use AIO notifications to prevent blocking ops
If two or more images share the same CephContext, notifications
from one image can block the work queue which will potentially
block acknowledging the notification until after it times out.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Tue, 16 Feb 2016 04:25:28 +0000 (23:25 -0500)]
librbd: cleanup header update notifications
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Tue, 16 Feb 2016 01:52:16 +0000 (20:52 -0500)]
Revert "librbd: lock notifications should be executed outside librados thread"
This reverts commit
d898995b0e3ea301b1325f68a0532d57afa3c816 .
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Tue, 16 Feb 2016 01:49:22 +0000 (20:49 -0500)]
librbd: support for AIO notifications
The header update and lock notifications might be invoked
from the librados AIO thread. Update the close state
machine to flush any potential AIO notifications.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Yehuda Sadeh [Thu, 18 Feb 2016 16:16:23 +0000 (08:16 -0800)]
Merge pull request #7457 from weiqiaomiao/w1
Rgw: check the return value when call fe->run()
Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
Yehuda Sadeh [Thu, 18 Feb 2016 16:08:13 +0000 (08:08 -0800)]
Merge pull request #7666 from rzarzynski/wip-rgw-sysreq-over-swift
rgw: add support for system requests over Swift API
Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
Yehuda Sadeh [Thu, 18 Feb 2016 16:04:19 +0000 (08:04 -0800)]
Merge pull request #7678 from linuxbox2/rgw-sigusr1
rgw: move signal.h dependency from rgw_front.h
Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
Greg Farnum [Thu, 18 Feb 2016 14:41:23 +0000 (06:41 -0800)]
Merge branch 'greg-pr-7034'
Kefu Chai [Thu, 18 Feb 2016 13:58:19 +0000 (21:58 +0800)]
Merge pull request #7679 from linuxbox2/rgw-ssconst
sstring.hh: return type from str_len(...) need not be const
Reviewed-by: Kefu Chai <kchai@redhat.com>
Gregory Farnum [Thu, 18 Feb 2016 00:45:10 +0000 (16:45 -0800)]
Merge pull request #7684 from ceph/wip-pybind-install
pybind: use correct subdir for rados install-exec rule
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
Greg Farnum [Wed, 17 Feb 2016 23:49:51 +0000 (15:49 -0800)]
Merge branch 'wip-sharded-scan' of git://github.com/jcsp/ceph into greg-pr-7034
Conflicts:
src/osdc/Objecter.cc
Josh Durgin [Wed, 17 Feb 2016 23:44:45 +0000 (15:44 -0800)]
pybind: use correct subdir for rados install-exec rule
This fixes package builds and 'make install'
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
Josh Durgin [Wed, 17 Feb 2016 18:05:20 +0000 (10:05 -0800)]
Merge pull request #7621 from sileht/sileht/rados-cython
python binding of librados with cython
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Radoslaw Zarzynski [Wed, 17 Feb 2016 17:30:06 +0000 (18:30 +0100)]
rgw: remove unnecessary overloads in RGWHTTPArgs.
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
Matt Benjamin [Wed, 17 Feb 2016 16:16:19 +0000 (11:16 -0500)]
sstring.hh: return type from str_len(...) need not be const
Removes a compile warning.
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Wed, 17 Feb 2016 15:46:21 +0000 (10:46 -0500)]
rgw: move signal.h dependency from rgw_front.h
Missed in refactoring of rgw_main.cc.
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Mehdi Abaakouk [Wed, 17 Feb 2016 09:13:31 +0000 (10:13 +0100)]
Update the documentation
Signed-off-by: Mehdi Abaakouk <sileht@redhat.com>
Mehdi Abaakouk [Tue, 16 Feb 2016 11:05:07 +0000 (12:05 +0100)]
librbdpy: Use new rados lib
Signed-off-by: Mehdi Abaakouk <sileht@redhat.com>
Mehdi Abaakouk [Mon, 15 Feb 2016 21:06:54 +0000 (22:06 +0100)]
ceph.in: Use new python rados module
This implements run_in_thread inside the ceph command itself.
And fixes the ceph command bootstrap when it run inside the
source tree to correctly load the new rados python module.
Signed-off-by: Mehdi Abaakouk <sileht@redhat.com>
Mehdi Abaakouk [Tue, 16 Feb 2016 09:42:31 +0000 (08:42 -0100)]
Fix rpm/deb packaging
Signed-off-by: Mehdi Abaakouk <sileht@redhat.com>
Mehdi Abaakouk [Mon, 15 Feb 2016 08:53:08 +0000 (09:53 +0100)]
Remove old rados pybinding
Signed-off-by: Mehdi Abaakouk <sileht@redhat.com>
Mehdi Abaakouk [Fri, 12 Feb 2016 08:13:36 +0000 (09:13 +0100)]
Cython Rados module
Notable changes:
* run_in_thread have disapeared
* timeout argument of some methods are ignored
* rados_create_write_op/rados_create_read_op returns WriteOp/ReadOp
instead of the pointer address
* rados_monitor_log callback 'arg' arguments was broken in previous python
binding (callback was called with the pointer address instead pointed object)
* object attributes that was pointer addresses are now private and not accessible in python
Some tests have been added to cover all methods
Signed-off-by: Mehdi Abaakouk <sileht@redhat.com>
Kefu Chai [Wed, 17 Feb 2016 09:21:29 +0000 (17:21 +0800)]
Merge pull request #7603 from roidayan/xio_fixes
Xio fixes
Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Radoslaw Zarzynski [Tue, 16 Feb 2016 11:16:02 +0000 (12:16 +0100)]
rgw: support system requests over Swift API.
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
Radoslaw Zarzynski [Tue, 16 Feb 2016 10:35:34 +0000 (11:35 +0100)]
rgw: enable access to system arguments of RGWHTTPArgs.
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
Mehdi Abaakouk [Thu, 11 Feb 2016 08:30:52 +0000 (09:30 +0100)]
Move pybind rbd module into it own directory
To allow to create a autonomous rados module with cython.
We move the current librbdpy to the rbd sub directory.
Signed-off-by: Mehdi Abaakouk <sileht@redhat.com>
Kefu Chai [Tue, 16 Feb 2016 14:04:24 +0000 (22:04 +0800)]
Merge pull request #7520 from renhwsky/renhw-wip-mon-monitor
mon/monitor: some clean up
Reviewed-by: Joao Eduardo Luis <joao@suse.de>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Gregory Farnum [Tue, 16 Feb 2016 04:39:55 +0000 (20:39 -0800)]
Merge pull request #7629 from ceph/wip-14750-op-timeouts
Objecter: detect laggy ops with objecter_timeout, not osd_timeout
Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
Gregory Farnum [Tue, 16 Feb 2016 04:36:47 +0000 (20:36 -0800)]
Merge pull request #7655 from gregsfortytwo/wip-metarequest-lock
client: removed unused Mutex from MetaRequest
Reviewed-by: Yan, Zheng <zyan@redhat.com>
Gregory Farnum [Tue, 16 Feb 2016 04:35:32 +0000 (20:35 -0800)]
Merge pull request #7616 from gregsfortytwo/wip-timer-14697
mds: don't double-shutdown the timer when suiciding
Reviewed-by: John Spray <john.spray@redhat.com>
Gregory Farnum [Tue, 16 Feb 2016 04:34:43 +0000 (20:34 -0800)]
Merge pull request #7490 from x11562/mds_mdstype_ref
mds: function parameter 'df' should be passed by reference
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
Dan Mick [Tue, 16 Feb 2016 01:07:39 +0000 (17:07 -0800)]
Merge pull request #7610 from dillaman/wip-bit-vector
common/bit_vector: use hard-coded value for block size
Reviewed-by: Dan Mick <dmick@redhat.com>
Josh Durgin [Mon, 15 Feb 2016 23:25:28 +0000 (15:25 -0800)]
Merge pull request #7653 from dillaman/wip-librbd-race-conditions
librbd: several race conditions discovered under single CPU environment
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Orit Wasserman [Mon, 15 Feb 2016 21:12:54 +0000 (22:12 +0100)]
Merge pull request #7408 from ceph/wip-14549
rgw: don't use s->bucket for metadata api path entry
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
Orit Wasserman [Mon, 15 Feb 2016 20:57:01 +0000 (21:57 +0100)]
Merge pull request #7633 from zaitcev/cleanup-various-1
rgw: cleanups to comments and messages
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
Jason Dillaman [Mon, 15 Feb 2016 17:30:41 +0000 (12:30 -0500)]
librados_test_stub: watch_flush should block until notifies complete
It shouldn't block until all the acks are received as that is not
how librados handles the method.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Fri, 12 Feb 2016 18:24:10 +0000 (13:24 -0500)]
librbd: lock notifications should be executed outside librados thread
Otherwise it's possible that the notification will be blocked if
the librados AIO thread isn't available to invoke the notification
handler.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Mon, 15 Feb 2016 17:10:17 +0000 (12:10 -0500)]
librbd: potential race on image close
If multiple states are pending, it's possible for an image to
be closed while the state lock is unlocked during the callback.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Mon, 15 Feb 2016 15:50:33 +0000 (10:50 -0500)]
librbd: potential deadlock during AIO image re-open
The AIO image open might complete under the librados AIO callback.
Attempting to close the old image handle under that thread will
deadlock under the new librados_test_stub flush handling.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Mon, 15 Feb 2016 15:49:17 +0000 (10:49 -0500)]
librados_test_stub: ensure AIO callback is also flushed
There are sporadic librbd unit test failures due to the
mock being destroyed while an active librados_test_stub
AIO callback is completing.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Mon, 15 Feb 2016 14:40:37 +0000 (09:40 -0500)]
Merge branch 'wip-commit_position-tests' of git://github.com/trociny/ceph
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Mykola Golub [Thu, 5 Nov 2015 14:01:45 +0000 (16:01 +0200)]
tests: librbd: commit position updated after journal replay
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
Jason Dillaman [Thu, 11 Feb 2016 15:33:40 +0000 (10:33 -0500)]
common/bit_vector: use hard-coded value for block size
The CEPH_PAGE_SIZE is not actually a constant. On aarch64 platforms
the page size is 64K instead of the assumed 4K. The CRC block
computations require a true constant.
Fixes: #14747
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Kefu Chai [Mon, 15 Feb 2016 07:19:56 +0000 (15:19 +0800)]
Merge pull request #7646 from dachary/wip-ceph-disk-flake8
ceph-disk: flake8 fixes
Reviewed-by: Kefu Chai <kchai@redhat.com>
Loic Dachary [Mon, 15 Feb 2016 05:43:36 +0000 (12:43 +0700)]
ceph-disk: flake8 fixes
Signed-off-by: Loic Dachary <loic@dachary.org>
Pete Zaitcev [Fri, 12 Feb 2016 22:07:06 +0000 (15:07 -0700)]
rgw: cleanups to comments and messages
These are minor cleanups that do not affect the code in a
material way:
- Forgot to add --tenant to usage message
- Make the help slightly less misleading
- Fix a strange error message "could not add remove caps"
- Spelling in a comment
- The vstart.sh can be run with civetweb
Signed-off-by: Pete Zaitcev <zaitcev@redhat.com>
Greg Farnum [Sat, 13 Feb 2016 00:06:20 +0000 (16:06 -0800)]
client: removed unused Mutex from MetaRequest
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
Yehuda Sadeh [Fri, 12 Feb 2016 22:51:59 +0000 (14:51 -0800)]
Merge pull request #7634 from ceph/rgw-nfs-5
nfs for rgw (Matt Benjamin, Orit Wasserman)
Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
Greg Farnum [Fri, 12 Feb 2016 18:55:43 +0000 (10:55 -0800)]
Objecter: detect laggy ops with objecter_timeout, not osd_timeout
Fixes: 14750
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
Sage Weil [Fri, 12 Feb 2016 20:45:37 +0000 (15:45 -0500)]
Merge pull request #7350 from ddiss/tracker14499_enotconn_rados_monitor_log
librados: check connection state in rados_monitor_log
Reviewed-by: Sage Weil <sage@redhat.com>
Sage Weil [Fri, 12 Feb 2016 20:40:33 +0000 (15:40 -0500)]
Merge pull request #7584 from ifed01/wip-14511
osd: fix lack of object unblock when flush fails
Reviewed-by: Sage Weil <sage@redhat.com>
Sage Weil [Fri, 12 Feb 2016 20:39:58 +0000 (15:39 -0500)]
Merge pull request #7593 from ifed01/wip-no-blockedpromote-return-fix
osd: fix return value from maybe_handle_cache_detail()
Reviewed-by: Sage Weil <sage@redhat.com>
Sage Weil [Fri, 12 Feb 2016 20:39:30 +0000 (15:39 -0500)]
Merge pull request #7587 from cbodley/wip-pageset-align
osd: memstore: fix alignment of Page for test_pageset
Reviewed-by: Dan Mick <dmick@redhat.com>
Sage Weil [Fri, 12 Feb 2016 20:38:18 +0000 (15:38 -0500)]
Merge pull request #7595 from liewegas/wip-hobject-stringify
osd: ghobject_t: use ! instead of @ as a separator
Sage Weil [Fri, 12 Feb 2016 20:37:31 +0000 (15:37 -0500)]
Merge pull request #7596 from dachary/wip-erasure-code-corpus
tests: sync ceph-erasure-code-corpus for mktemp -d
Reviewed-by: Sage Weil <sage@redhat.com>
Sage Weil [Fri, 12 Feb 2016 20:36:35 +0000 (15:36 -0500)]
Merge pull request #7608 from liewegas/wip-warnings
tests: fix a few build warnings
Reviewed-by: Kefu Chai <kchai@redhat.com>
Matt Benjamin [Thu, 11 Feb 2016 20:34:03 +0000 (15:34 -0500)]
librgw: fix rpm packaging
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Wed, 10 Feb 2016 01:57:31 +0000 (20:57 -0500)]
librgw: fix new Debian control entries
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Mon, 8 Feb 2016 15:43:43 +0000 (10:43 -0500)]
librgw: remove junk files
Files accidentally added.
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Fri, 5 Feb 2016 20:24:05 +0000 (15:24 -0500)]
librgw: don't compare a string_ref with "" (use empty())
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Wed, 3 Feb 2016 23:02:49 +0000 (18:02 -0500)]
librgw: fix boost::basic_string_ref template instantiation
The commit adding Seastar sstring.h replaced a part of the interface
which used an internal string-view type, with an equivalent using
basic_string_ref from Boost. I relied on a default template argument
not present in older versions.
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Wed, 3 Feb 2016 22:44:02 +0000 (17:44 -0500)]
librgw: add debian and rpm packaging
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Tue, 2 Feb 2016 14:38:51 +0000 (09:38 -0500)]
librgw: consolidate S3 bucket name validation
There is more cleanup potential here, but it is intrusive, as the
validators for bucket and object names have been factored through
the handler inheritance hierarchy.
This change just deletes the S3 validate_bucket_name for now, as
that method was large. The corresponding object name validator was
not defined in RGWHandler_REST_S3, so I've left it as is, for now.
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Kefu Chai [Fri, 12 Feb 2016 17:33:12 +0000 (01:33 +0800)]
Merge pull request #7626 from tchaikov/wip-fix-automake
Makefile: workaround an automake bug for "make check"
Reviewed-by: Loic Dachary <ldachary@redhat.com>
Matt Benjamin [Mon, 1 Feb 2016 20:57:00 +0000 (15:57 -0500)]
librgw: fix copyright in src/include/rados/rgw_file.h
This file originated at Red Hat.
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Yehuda Sadeh [Mon, 1 Feb 2016 20:39:43 +0000 (15:39 -0500)]
librgw: initialize RGWLib pointer members
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Mon, 1 Feb 2016 20:16:46 +0000 (15:16 -0500)]
librgw: remove slo, dlo, and supplied-md5 logic in RGWWriteRequest
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Mon, 1 Feb 2016 19:45:48 +0000 (14:45 -0500)]
librgw: remove RGWLibRequest "magic" numbers added for debugging
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Mon, 1 Feb 2016 17:56:32 +0000 (12:56 -0500)]
librgw: comment rgw_nfs config_ops.h tunables
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Mon, 1 Feb 2016 17:48:30 +0000 (12:48 -0500)]
cohort_lru: remove #if 0 section
The declaration being skipped was meant as a placeholder for future
optimization work, moved to a comment.
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Yehuda Sadeh [Fri, 29 Jan 2016 18:39:59 +0000 (10:39 -0800)]
{rgw,common}/Makefile.am: add a few more missing .h files
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Yehuda Sadeh [Fri, 29 Jan 2016 16:19:01 +0000 (08:19 -0800)]
common: add xxhash.h to Makefile.am
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Yehuda Sadeh [Wed, 3 Feb 2016 05:43:18 +0000 (00:43 -0500)]
rgw: fix null dereference
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Fri, 29 Jan 2016 04:29:35 +0000 (23:29 -0500)]
librgw/rgw: fix librgw.la linkage
Ensure that key symbols from global are satisfied in the library.
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Thu, 28 Jan 2016 17:37:03 +0000 (12:37 -0500)]
librgw/rgw: reorganize autotools linkage
Adds the RGW-NFS library to the radosgw build, with unit tests.
Adds -fPIC to compile flags to satisfy the linker, but should have
been evident to automake/libtool.
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Wed, 27 Jan 2016 21:40:43 +0000 (16:40 -0500)]
librgw: call obj_rec::sync() on dirs1_b
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Wed, 27 Jan 2016 21:20:53 +0000 (16:20 -0500)]
librgw_file_nfsns: create readf_out_name, if needed
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Wed, 27 Jan 2016 16:48:58 +0000 (11:48 -0500)]
librgw: remove deprecated/unused librgw personality
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Wed, 27 Jan 2016 16:40:52 +0000 (11:40 -0500)]
librgw: properly detect RGWRados init failure
Unit tests correctly see fail result from librgw_create.
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Wed, 27 Jan 2016 03:20:08 +0000 (22:20 -0500)]
librgw: remove deprecated librgw methods
Remove unused routines:
* librgw_acl_bin2xml
* librgw_free_xml
* librgw_acl_xml2bin
* librgw_free_bin(librgw_t rgw, char* bin)
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Sun, 17 Jan 2016 22:30:06 +0000 (17:30 -0500)]
librgw: temporary fix RGWWrite
The current behavior of put_data_and_throttle leads to data
curruption, because the supplied buffer is apparently still being
written when the call returns--regardless of the value of
need_to_wait.
For now, do a buffer::copy of the supplied buffer, rather than the
original buffer::static, since that will at least be released
when no longer needed.
Probably this improves apparent rgw_write performance, but is not
what was originally intended.
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Sun, 17 Jan 2016 21:46:05 +0000 (16:46 -0500)]
librgw: cleanup rgw_write
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Sun, 17 Jan 2016 21:45:18 +0000 (16:45 -0500)]
librgw: add new rgw_write unit test
WRITEF1 writes back data wread in READF1.
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Sun, 17 Jan 2016 19:33:03 +0000 (14:33 -0500)]
librgw: fix RGWReadRequest send_response_data
In hindsight, it seems clear how to consume the available bytes and
account for the bytes written into the caller's buffer.
Verified by unit test on data from S3, with a 6M file read in 1M
chunks, the preferred max read in modern Linux kernel NFS.
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Fri, 15 Jan 2016 22:54:43 +0000 (17:54 -0500)]
librgw: add cross-bucket rgw_rename test
It passes.
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Fri, 15 Jan 2016 22:42:55 +0000 (17:42 -0500)]
librgw: fix intra-bucket rename
Avoid hopeless fail due to binding const::std::string& to a
temporary.
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Fri, 15 Jan 2016 21:44:54 +0000 (16:44 -0500)]
librgw: add support for rgw_rename tests
Implements intra-bucket rgw_rename test, which unfortunately fails
currently.
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Fri, 15 Jan 2016 17:45:58 +0000 (12:45 -0500)]
librgw: fix rgw_unlink and delete atomicity
Move internal unlink logic into new RGWLibFS::unlink method, fix
logic for files and directories.
Use RGWFileHandle::mtx and RGWFileHandle::FLAG_DELETED to ensure
atomicity of handle creates and deletes.
Remove handles for unlinked objects from cache.
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Thu, 14 Jan 2016 22:40:17 +0000 (17:40 -0500)]
librgw: implement object rename
The implementation uses currently does a copy, followed by a
delete operation (if successful).
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Thu, 14 Jan 2016 22:25:45 +0000 (17:25 -0500)]
librgw: fix timestamp on create (another case)
In the rgw_create regular file case, the timestamp and size update
logic (though present) was being bypassed because the "FLAG_CREATE"
indicator which formerly propagated up from RGWLibFS::lookup_fh
was lost in the LRU change, which refactored the code for creating
new RGWFileHandle objects.
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Thu, 14 Jan 2016 17:42:08 +0000 (12:42 -0500)]
librgw: cleanup, move 3 prints to log channel
Save a pointer to CephContext in RGWProcess for use by logger--
using the existing pointer in ThreadPool would be an intrusive
change.
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Thu, 14 Jan 2016 16:38:24 +0000 (11:38 -0500)]
librgw: add missing RGWFileHandle::stat in rgw_mkdir
The lack of stat here induced a serious memory corruption, due to
the organization of Ganesha file attributes (and their reliance on
the FSAL to initialize the memory).
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Matt Benjamin [Tue, 12 Jan 2016 23:21:56 +0000 (18:21 -0500)]
librgw: fix leading-slash special case, again
Fix boilerplate to sanitize relative_object_name() in rgw_create
as well as the RGWStatObjRequest case of RGWLibFS::stat_leaf.
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>