common: do not unlock rwlock on destruction#2937
Merged
athanatos merged 1 commit intoceph:masterfrom Dec 1, 2014
Merged
Conversation
According to pthread_rwlock_unlock(3p): Results are undefined if the read-write lock rwlock is not held by the calling thread. and: https://sourceware.org/bugzilla/show_bug.cgi?id=17561 Calling pthread_rwlock_unlock on an rwlock which is not locked is undefined. calling pthread_rwlock_unlock on RWLock destruction could cause an unknown behavior for two reasons: - the lock is acquired by another thread (undefined) - the lock is not acquired (undefined) Moreover since glibc-2.20 calling pthread_rwlock_unlock on a rwlock that is not locked results in a SIGILL that kills the application. This patch removes the pthread_rwlock_unlock call on destruction and replaces it with an assertion to check that the RWLock is not in use. Any code that relied on the implicit release is now going to break the assertion, e.g.: { RWLock l; l.get(for_write); } // implicit release, wrong. Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
Member
|
This looks right. We need to run it through the test suite, though, to make sure there aren't any naughty users. |
Contributor
|
Nice catch, adding to suite. |
Contributor
|
For future reference, do not submit pull requests on your own 'master' branch. Please create a descriptively named branch for the pull request and use that. |
athanatos
pushed a commit
that referenced
this pull request
Dec 1, 2014
common: do not unlock rwlock on destruction Reviewed-by: Samuel Just <sjust@redhat.com> Reviewed-by: Sage Weil <sage@redhat.com>
dillaman
pushed a commit
that referenced
this pull request
Dec 9, 2014
commit 8ed536e1433fb4bef394aa10123971f720653c8b
Author: Sage Weil <sage@redhat.com>
Date: Sun Dec 7 10:36:17 2014 -0800
ceph_test_rados_api_watch_notify: fix signed/unsigend
Signed-off-by: Sage Weil <sage@redhat.com>
commit 45223d9a33d69c563f1d77aacafaf11c80872577
Author: Sage Weil <sage@redhat.com>
Date: Sun Dec 7 10:36:07 2014 -0800
librados: mark new API watch/notify calls
Signed-off-by: Sage Weil <sage@redhat.com>
commit dc67cd69604ec4e4df846b818ec739dc7b09a537
Author: Sage Weil <sage@redhat.com>
Date: Fri Dec 5 18:00:04 2014 -0800
rgw: switch to new watch/notify API
Note that we don't use it properly, yet!
Signed-off-by: Sage Weil <sage@redhat.com>
commit a53dbabd762d0dbb704ff709c8888a79614abfdc
Author: Sage Weil <sage@redhat.com>
Date: Mon Nov 24 15:58:11 2014 -0800
librados:: carry IoCtx ref from WatchInfo
The WatchInfo gets totally async notifications. Make sure our ioctx
ref is valid when that happens.
Signed-off-by: Sage Weil <sage@redhat.com>
commit a989fecea01b4aae5fc5c6699afde8dd3f2260b3
Author: Sage Weil <sage@redhat.com>
Date: Fri Nov 21 16:04:38 2014 -0800
osd: allow deletion of objects with watchers
If we delete an object with a watcher, forcefully disconnect the watcher
instead of preventing the deletion with EBUSY.
Fixes: #2339
Signed-off-by: Sage Weil <sage@redhat.com>
commit 1c6944f79a3f1400525d13c298e569c1471d9b78
Author: Sage Weil <sage@redhat.com>
Date: Fri Nov 21 15:34:30 2014 -0800
osd/ReplicatedPG: do watch effects only when change commits
Do not tell the client their watch succeeded until it is durable and
visible to clients doing a notify. This is less important in the initial
watch registration stage, but critical in the disconnect (and disconnect
+ reconnect) pipelining cases.
Simplify the watch_disconnects struct to have exactly the information
we need, and no more. Note that the conn is not needed for disconnects
(and we don't have a req to provide one in the watch timeout op case).
Signed-off-by: Sage Weil <sage@redhat.com>
commit 1c5bba670bdd61269769247b7b84ee4fbd98fd1c
Author: Sage Weil <sage@redhat.com>
Date: Fri Nov 21 15:11:00 2014 -0800
osd/ReplicatedPG: pass obc to OpContext ctor
We always set it, except for the handle_watch_timeout caller, which needs
to.
Signed-off-by: Sage Weil <sage@redhat.com>
commit 6fa05dbf4ac849ca3d3b2d48abcdecb539dd050d
Author: Sage Weil <sage@redhat.com>
Date: Fri Nov 21 13:50:58 2014 -0800
osdc/Objecter: queued_async() gets called inside watch_lock from caller
Signed-off-by: Sage Weil <sage@redhat.com>
commit 61fc317d722ee45ceebe948f6781a24d697079d3
Author: Sage Weil <sage@redhat.com>
Date: Tue Nov 18 15:35:28 2014 -0800
librados: remove failed notify
Decided this wasn't useful.
Signed-off-by: Sage Weil <sage@redhat.com>
commit 0a6128762d299a246ae7e0c7fb02c56760302fd2
Author: Sage Weil <sage@redhat.com>
Date: Tue Nov 18 15:10:52 2014 -0800
librados: s/handle/cookie/ in headers
Be consistent.
Signed-off-by: Sage Weil <sage@redhat.com>
commit f0614a109e79ac22e48c3334edfffde6ae665e28
Author: Sage Weil <sage@redhat.com>
Date: Mon Nov 17 16:20:49 2014 -0800
ceph_test_rados_watch_notify: do not unwatch on invalid handle
It is not safe to call rados_unwatch on an undefined handle.
Signed-off-by: Sage Weil <sage@redhat.com>
commit 27ceb16903d8d3856638e9e56221799720e835da
Author: Sage Weil <sage@redhat.com>
Date: Mon Nov 17 16:20:20 2014 -0800
ceph_test_rados_api_watch_notify: test ENOENT case
Signed-off-by: Sage Weil <sage@redhat.com>
commit 1a36eb370d7b0b9402d89df07b9cde8ccc43d1fd
Author: Sage Weil <sage@redhat.com>
Date: Mon Nov 17 16:20:06 2014 -0800
PendingReleaseNotes: a few notes about watch/notify changes
Signed-off-by: Sage Weil <sage@redhat.com>
commit a824be974c106ecf6a287b41493c1d21448b8fbf
Author: Sage Weil <sage@redhat.com>
Date: Mon Nov 17 12:42:49 2014 -0800
test_async_driver: fix warning
Signed-off-by: Sage Weil <sage@redhat.com>
commit 7f8ffae88bacb544c931495010d438c2d80a4675
Author: Sage Weil <sage@redhat.com>
Date: Mon Nov 17 12:13:45 2014 -0800
osdc/Objecter: set last_error before async error event delivery
No reason to delay this.
Signed-off-by: Sage Weil <sage@redhat.com>
commit 26440fd72d9b3dca28d9665b85fe893849dfaff6
Author: Sage Weil <sage@redhat.com>
Date: Mon Nov 17 12:06:27 2014 -0800
osdc/Objecter: use RWLock for watch_lock
This makes the linger_check fast path an RWLock read lock. Drop the
unnecessary write lock on rwlock and drop the unused Cond.
Signed-off-by: Sage Weil <sage@redhat.com>
commit 5c0a8c411f3b5ac0ec37c2859a0a11a697f9e2a3
Author: Sage Weil <sage@redhat.com>
Date: Mon Nov 17 11:28:21 2014 -0800
osdc/Objecter: make watch_check time reflect async delivery
When a librados user calls watch_check(), the age they get back should
establish a timestamp for which:
1) we know that the watch was registered at least through this time,
2) we have received and processed notifies sent as of this time,
3) we have processed any async error events as of this time.
We already accomplish 1 by updating watch_valid_thru based on the time
the ping is sent (not received).
This patch gets us 2 and 3 by using the MIN of watch_valid_thru and the
oldest queued async event for the watch_check result.
Signed-off-by: Sage Weil <sage@redhat.com>
commit 955a2f0ee95f30ae09f4d937c889423ecdba17e2
Author: Sage Weil <sage@redhat.com>
Date: Mon Nov 17 10:27:49 2014 -0800
osdc/Objecter: use recast LingerOp* as OTW cookie, too
This makes the OSD reply's cookie values match up with what the librados
users see. And it makes life less confusing when debugging.
Signed-off-by: Sage Weil <sage@redhat.com>
commit 14e933d2b01ce06d6817a3809b5b07e16147c958
Author: Sage Weil <sage@redhat.com>
Date: Mon Nov 17 10:08:55 2014 -0800
librados: use (gid,cookie) to identify notify participants
Signed-off-by: Sage Weil <sage@redhat.com>
commit 5e994508580ba720dbc7b6578f792b1b5e6bbab1
Author: Sage Weil <sage@redhat.com>
Date: Mon Nov 17 08:02:55 2014 -0800
librados: include missed watchers in notify reply data
Include a list of who missed their notify in the notify reply.
Signed-off-by: Sage Weil <sage@redhat.com>
commit 32043a38395aef0f2a16ca929f7a496ea6770737
Author: Sage Weil <sage@redhat.com>
Date: Mon Nov 17 09:45:55 2014 -0800
encoding: multiset encode/decode
Signed-off-by: Sage Weil <sage@redhat.com>
commit 9d9e66e663996a9646c761206ff7c1b779f4c8f7
Author: Sage Weil <sage@redhat.com>
Date: Mon Nov 17 08:01:15 2014 -0800
osd: rejigger watch connect/disconnect callers
Signed-off-by: Sage Weil <sage@redhat.com>
commit 88233696ff17cfcaa7d5fc017f1da38fc097397d
Author: Sage Weil <sage@redhat.com>
Date: Mon Nov 17 08:00:34 2014 -0800
osdc/Objecter: ignore pings from previous registrations
If we have a ping in flight and then reregister (due to interval change
or whatever), ignore the result of the previous ping.
Signed-off-by: Sage Weil <sage@redhat.com>
commit 45aaa340a9ab27425daac34807233f87bb7c5700
Author: Sage Weil <sage@redhat.com>
Date: Mon Nov 17 07:32:12 2014 -0800
osdc/Objecter: only reconnect watches; skip ack unless needed
Only watches get a RECONNECT op; lingers just get resent.
Only request an ACK in the non-watch reconnect case and when an ack
callback is specified.
Signed-off-by: Sage Weil <sage@redhat.com>
commit e8df0771267a5eb1949226703408040c678d9ce4
Author: Sage Weil <sage@redhat.com>
Date: Mon Nov 17 07:30:44 2014 -0800
osdc/Objecter: drop ACK callback for watch
It is semantically useless.
Signed-off-by: Sage Weil <sage@redhat.com>
commit e72035f3f5bc2eb2b6d16a5cad4b691ec638fa5e
Author: Sage Weil <sage@redhat.com>
Date: Sun Nov 16 13:44:08 2014 -0800
librados: move watch/notify into the Objecter
Several things here:
- we move all of the junk from librados' RadosClient into Objecter
- we use fast-dispatch to schedule the watch-notify events (this will
keep them ordered wrt ping)
- we use the LingerOp * as the librados-exposed handle so that we can
avoid any lookups for watch-check.
Signed-off-by: Sage Weil <sage@redhat.com>
commit cd6a4aa9ee5d2b3567bde105f3928764ebd68cca
Author: Sage Weil <sage@redhat.com>
Date: Sun Nov 16 11:50:42 2014 -0800
rados: break out notify replies by client
Signed-off-by: Sage Weil <sage@redhat.com>
commit de9f18ddcc407b90f2cc44e1a52c7d7da01f85b2
Author: Sage Weil <sage@redhat.com>
Date: Fri Nov 14 14:47:05 2014 -0800
osdc/Objecter: take Finisher ref from creator
Only needed for watch/notify users, so most can pass NULL.
Signed-off-by: Sage Weil <sage@redhat.com>
commit 8ec0af473e1f0839b757ae9dfc7d198937729ae9
Author: Sage Weil <sage@redhat.com>
Date: Fri Nov 14 13:35:05 2014 -0800
librados: use Objecter's linger_id as the cookie
Signed-off-by: Sage Weil <sage@redhat.com>
commit 34c9d729092f52a091935227d3aca3dbfc49967c
Author: Sage Weil <sage@redhat.com>
Date: Fri Nov 14 13:32:12 2014 -0800
osdc/Objecter: spit out linger register step
Signed-off-by: Sage Weil <sage@redhat.com>
commit 5f90c20dd41170bb30cd2e2bba11393cb7c6fa51
Author: Sage Weil <sage@redhat.com>
Date: Fri Nov 14 11:21:05 2014 -0800
osdc/Objecter: expose LingerOp instead of linger_id
We want a reference-counted handle, not an id.
Signed-off-by: Sage Weil <sage@redhat.com>
commit 889cd874e2ded7a1350659449d777af8f4a7a918
Author: Sage Weil <sage@redhat.com>
Date: Thu Nov 13 15:19:23 2014 -0800
messages/MWatchNotify: print more nicer
Signed-off-by: Sage Weil <sage@redhat.com>
commit 03778502c22f3025d3ac235c793fab8a41a07f19
Author: Sage Weil <sage@redhat.com>
Date: Thu Nov 13 15:19:05 2014 -0800
librados: watch_check() to check on status of watch
Return either an accumulated error code, or the time since the watch was
last confirmed.
Signed-off-by: Sage Weil <sage@redhat.com>
commit 8c867b8f776e331455c61625d346e3601bd9ea3b
Author: Sage Weil <sage@redhat.com>
Date: Thu Nov 13 14:28:14 2014 -0800
ceph_test_rados: use new watch/notify API
Ignore error events for now; we are just stressing the OSD.
Signed-off-by: Sage Weil <sage@redhat.com>
commit 42e4baa06ab87690808b33307735c1c4e11716ab
Author: Sage Weil <sage@redhat.com>
Date: Fri Nov 21 21:03:09 2014 -0800
librados: unwatch doesn't need the oid argument
The handle is like a file handle: there is internal state that is getting
freed and the user needn't provide it again.
Signed-off-by: Sage Weil <sage@redhat.com>
commit 85f336d5c87866a91ab476ff83d684ff512f7ece
Author: Sage Weil <sage@redhat.com>
Date: Thu Nov 13 14:11:45 2014 -0800
rados: use new notify API
Signed-off-by: Sage Weil <sage@redhat.com>
commit ea53983a9ff2d41f9e8bf49b529cb8e13218c606
Author: Sage Weil <sage@redhat.com>
Date: Thu Nov 13 14:01:10 2014 -0800
librados: no need for '2' suffix in c++
Compiler disambiguates based on the rest of the signature.
Signed-off-by: Sage Weil <sage@redhat.com>
commit 219f824894c02973f4a0ee6f61e1c1cfa27cc85f
Author: Sage Weil <sage@redhat.com>
Date: Thu Nov 13 13:53:37 2014 -0800
librados: mark old rollback call deprecated
Signed-off-by: Sage Weil <sage@redhat.com>
commit d3ec70ee13245f3aa30939c61bd1d260883ced61
Author: Sage Weil <sage@redhat.com>
Date: Thu Nov 13 13:53:23 2014 -0800
librados: mark old watch calls deprecated
Signed-off-by: Sage Weil <sage@redhat.com>
commit 5e794c11c17f6a31fa984c6aec9306f42d82b813
Author: Sage Weil <sage@redhat.com>
Date: Thu Nov 13 14:09:40 2014 -0800
librados: mark old object listing api deprecated
Signed-off-by: Sage Weil <sage@redhat.com>
commit 1b6bcfe327dfc02db17bc13adb9afa034c98f91f
Author: Sage Weil <sage@redhat.com>
Date: Thu Nov 13 14:09:28 2014 -0800
librados: mark old rollback method deprecated
Signed-off-by: Sage Weil <sage@redhat.com>
commit 6c83ec57339470a869952ad07252c6f2a8e52f57
Author: Sage Weil <sage@redhat.com>
Date: Thu Nov 13 14:09:20 2014 -0800
librados: mark deprecated watch/notify methods with deprecated attribute
Signed-off-by: Sage Weil <sage@redhat.com>
commit b5751947e11f081a69e596369aea32df40f282b9
Author: Sage Weil <sage@redhat.com>
Date: Thu Nov 13 14:08:08 2014 -0800
scratchtoolpp: suppress deprecation warnings
Signed-off-by: Sage Weil <sage@redhat.com>
commit cdc9f5f261281757d171452e9fbe021eaca2b436
Author: Sage Weil <sage@redhat.com>
Date: Thu Nov 13 13:08:27 2014 -0800
ceph_test_rados_api_watch_notify: test watch disconnect, reconnect
Signed-off-by: Sage Weil <sage@redhat.com>
commit 300131eaab7ebdc9e2400b66ea641230417a3044
Author: Sage Weil <sage@redhat.com>
Date: Thu Nov 13 13:01:44 2014 -0800
osd: send watch DISCONNECT to client when a watch is removed
This is an explicit notification to the client that a watch is no longer
valid and needs to be re-registered.
Signed-off-by: Sage Weil <sage@redhat.com>
commit 14cd71978b622cf9ed74adf241c0b71f2aaa5458
Author: Sage Weil <sage@redhat.com>
Date: Wed Nov 12 16:51:23 2014 -0800
ceph_test_rados_api_watch_notify: reorder tests
Group by function, not language/pool type.
Signed-off-by: Sage Weil <sage@redhat.com>
commit a4eeaf5ad41a9e3f15705b3cfabd597a1bb5e7ee
Author: Sage Weil <sage@redhat.com>
Date: Wed Nov 12 16:47:46 2014 -0800
ceph_test_rados_api_watch_notify: drop 'Test' suffix
Signed-off-by: Sage Weil <sage@redhat.com>
commit 0601b5f9080e254bc2a59279eb5fc4c430cca9ec
Author: Sage Weil <sage@redhat.com>
Date: Wed Nov 12 16:38:18 2014 -0800
ceph_test_rados_watch_notify: fix signed/unsigned warnings
Signed-off-by: Sage Weil <sage@redhat.com>
commit 2c6076b09f28c5239e454ec1e315c79eb1b5cf2e
Author: Sage Weil <sage@redhat.com>
Date: Wed Nov 12 16:33:46 2014 -0800
ceph_test_rados_api_watch_notify: verify notify after missed notify works
Signed-off-by: Sage Weil <sage@redhat.com>
commit b4d769cf45cf350bd97aca44c9abdf2e0569baa5
Author: Sage Weil <sage@redhat.com>
Date: Wed Nov 12 16:32:59 2014 -0800
osdc/Objecter: fix whitespace
Signed-off-by: Sage Weil <sage@redhat.com>
commit 485daaba84a8be50418ca65e8b11520e8db93135
Author: Sage Weil <sage@redhat.com>
Date: Sun Nov 9 07:43:01 2014 -0800
osdc/Objecter: factor out _send_op_account()
Signed-off-by: Sage Weil <sage@redhat.com>
commit 872012f1aeb06eba2833870ff992ca36bd3261a0
Author: Sage Weil <sage@redhat.com>
Date: Sun Nov 9 07:42:34 2014 -0800
osdc/Objecter: skip ping if PAUSERD
Signed-off-by: Sage Weil <sage@redhat.com>
commit f68fcc0f74c75e70204fb15e4fa8553fa6ad587a
Author: Sage Weil <sage@redhat.com>
Date: Fri Nov 7 20:01:50 2014 -0800
osdc/Objecter: objecter_inject_no_watch_ping
Tunable to prevent PINGs. This will let us test paths the client gets
disconnected from the OSD (at least from the client's perspective).
Signed-off-by: Sage Weil <sage@redhat.com>
commit b583152e83b4fce0be83eaf97703ba7da3dbe74e
Author: Sage Weil <sage@redhat.com>
Date: Fri Nov 7 19:47:53 2014 -0800
osdc/Objecter: stop sending pings once we get an error
If we get ENOTCONN or ETIMEDOUT we can stop pinging.
Signed-off-by: Sage Weil <sage@redhat.com>
commit 26e2fc73210a14d6b61ac8bff83c68bceb2cfac1
Author: Sage Weil <sage@redhat.com>
Date: Fri Nov 7 19:45:21 2014 -0800
osd/Watch: set timeout event for new watchers
For a new watcher, we set the timeout event on connect, and reset it when
we get a ping.
For an old watcher, we continue to set the timeout on disconnect() and
rely on the msgr Connection reset.
Signed-off-by: Sage Weil <sage@redhat.com>
commit 83189b07da8cc26a93db431bfc2cfa8979eef72d
Author: Sage Weil <sage@redhat.com>
Date: Fri Nov 7 19:38:24 2014 -0800
make ping verify we are connected
commit b76fc39a4290eb0dfac7286f70ebbfadaadbe0b8
Author: Sage Weil <sage@redhat.com>
Date: Fri Nov 7 19:26:03 2014 -0800
osdc/Objecter: only ping watches (not notifies)
Signed-off-by: Sage Weil <sage@redhat.com>
commit 1a82cc3926fc7bc4cfbdd2fd4dfee8660d5107a1
Author: Sage Weil <sage@redhat.com>
Date: Fri Nov 7 17:47:09 2014 -0800
osd, librados: distinguish between old and new watchers
Use a new watch op code that is different from the legacy one so we can
tell when the client is doing all the new stuff (like sending pings).
Signed-off-by: Sage Weil <sage@redhat.com>
commit 10ac6295802edcf6aded2e1deabe691192f2c57d
Author: Sage Weil <sage@redhat.com>
Date: Fri Nov 7 17:12:54 2014 -0800
librados: tell watcher if we cause a notify timeout
If we are a watcher and we fail to notify in a timely manner, or
circumstances otherwise conspire to prevent out ack from arriving in time,
initiate a callback.
Signed-off-by: Sage Weil <sage@redhat.com>
commit 7f00b722efce71189d622ee14ec8931cb5bdaa16
Author: Sage Weil <sage@redhat.com>
Date: Fri Nov 7 16:36:43 2014 -0800
osd/Watch: inform watchers when they cause a notify timeout
If a watcher doesn't ack in time, let them know that they triggered a
notify failure.
Signed-off-by: Sage Weil <sage@redhat.com>
commit e0e90f71e4e3aaca5813e82975e7aefe5235bf9f
Author: Sage Weil <sage@redhat.com>
Date: Fri Nov 7 17:10:18 2014 -0800
librados: EINVAL on bad args to watch2
Signed-off-by: Sage Weil <sage@redhat.com>
commit aa7ea5b9d8f1dc1fdb1b951b6ae5356c24b1e2a7
Author: Sage Weil <sage@redhat.com>
Date: Fri Nov 7 17:04:37 2014 -0800
librados: behave if errcb is NULL
Signed-off-by: Sage Weil <sage@redhat.com>
commit 7c8a1cd31f174cd391f0b215c72f34ee24f7061f
Author: Sage Weil <sage@redhat.com>
Date: Fri Nov 7 16:35:41 2014 -0800
osd/Watch: drop redundant in_progress_watchers
This is essentially watchers.size() at all times and obfuscates the code.
In particular this makes the maybe_complete_notify() logic much clearer.
Signed-off-by: Sage Weil <sage@redhat.com>
commit 66747c8bbd23f53385ede8ee5dbaca1aa3aedfac
Author: Sage Weil <sage@redhat.com>
Date: Fri Nov 7 16:18:30 2014 -0800
osd/Watch: fix comment typo
Signed-off-by: Sage Weil <sage@redhat.com>
commit e8f36efd45e6d67bb7c42f052594e47c076fb414
Author: Sage Weil <sage@redhat.com>
Date: Fri Nov 7 16:13:23 2014 -0800
ceph_test_rados_api_watch_notify: verify we get the right # of notifies
Signed-off-by: Sage Weil <sage@redhat.com>
commit 29802bf5deb054a31628e39d10dae93406875286
Author: Sage Weil <sage@redhat.com>
Date: Fri Nov 7 16:04:25 2014 -0800
ceph_test_rados_api_watch_notify: s/handle/cookie/
Use consist nameing for C and C++ tests.
Signed-off-by: Sage Weil <sage@redhat.com>
commit 89e033c75b09edc63bc6da24a6b18b2bc5aea1cc
Author: Sage Weil <sage@redhat.com>
Date: Fri Nov 7 15:35:24 2014 -0800
clean up CEPH_WATCH_EVENT_* namespace, and make COMPLETE distinct
Use a proper prefix and make a separate event for the notify completion
message.
Signed-off-by: Sage Weil <sage@redhat.com>
commit bdef13c9527e3d729f59481a22a2ee6435b21210
Author: Sage Weil <sage@redhat.com>
Date: Thu Oct 16 20:19:00 2014 -0700
osdc/Objecter: send regular PING ops
Send a full PING op to the object to ensure we are still connected. For
now just use the existing ping interval; we may want to change this in
the future.
Signed-off-by: Sage Weil <sage@redhat.com>
commit 909bdbc5a7a2326580f85f2f6b2eb10d810828b9
Author: Sage Weil <sage@redhat.com>
Date: Thu Oct 16 20:17:40 2014 -0700
osdc/Objecter: queue an error if reconnect fails
If we fail to reconnect, trigger the on_error (reusable) context to
let the user know about it.
Signed-off-by: Sage Weil <sage@redhat.com>
commit e424103301904dc0d97de92438554a7ae7b755b3
Author: Sage Weil <sage@redhat.com>
Date: Thu Oct 16 20:16:07 2014 -0700
osdc/Objecter: separate WATCH from RECONNECT
Use WATCH op for the initial registration. This is idempotent in that
it will succeed whether the watch information has been persisted or not.
It is used by the client if it does not know that it is registered.
The RECONNECT op is used for any subsequent session reconnect. It will
fail if the watch state isn't already persisted on the OSD.
Signed-off-by: Sage Weil <sage@redhat.com>
commit 5e113ce2ea36173d1a853caae5d1f4afc4e6523b
Author: Sage Weil <sage@redhat.com>
Date: Thu Oct 16 20:12:22 2014 -0700
rados: improve watch command output
- hexdump the notify payload, and include all of the new metadata
- print error events too
Signed-off-by: Sage Weil <sage@redhat.com>
commit 22572a39777be12661750147fd2828223f178ac6
Author: Sage Weil <sage@redhat.com>
Date: Thu Oct 16 20:11:43 2014 -0700
librados: add infrastructure to deliver an error notification
Use a reusable context in the WatchNotifyInfo to trigger an error
event, delivered via the existing Finisher thread. Re-lookup the cookie
in the thread to cope with races with unregister (just as we do with
notify events).
Signed-off-by: Sage Weil <sage@redhat.com>
commit c973c93f3fa23a2b5d9171c2db3d45a03c0e1cb9
Author: Sage Weil <sage@redhat.com>
Date: Thu Oct 16 20:09:07 2014 -0700
librados: define error callback
This is the async notification of a watch error (failure to reconnect to
the object's OSD after a peering event or network disconnect).
Signed-off-by: Sage Weil <sage@redhat.com>
commit 97661e1a65d85533b82edc99fbd626e7abbe5087
Author: Sage Weil <sage@redhat.com>
Date: Thu Oct 16 19:52:52 2014 -0700
librados: remove crufty declaration
Signed-off-by: Sage Weil <sage@redhat.com>
commit d44bd2b0c84a57cf8067495826ce52ef85a4afd2
Author: Sage Weil <sage@redhat.com>
Date: Thu Oct 16 19:28:53 2014 -0700
osd/ReplicatedPG: handle PING and RECONNECT watch ops
The ping will essentially assert that a watch is still valid.
A reconnect will reestablish session state *only* if the watch is
still persistent. If not, it will fail (and the client will know it
may have missed something).
Note that the only difference here is that a PING is a bit lighter
weight; it will not reestablish the session state (which should already
be established). We could use a single op here but the unique op
code makes the messages easier to understand and simplifies the code
path a bit for PING.
Signed-off-by: Sage Weil <sage@redhat.com>
commit 2288f318e1b1f6a1c42b185fc1b4c41f23995247
Author: Sage Weil <sage@redhat.com>
Date: Thu Oct 16 19:26:17 2014 -0700
librados: define RECONNECT and PING watch ops
Signed-off-by: Sage Weil <sage@redhat.com>
commit 2e508d055ef03717076466e96547ad1c64d61aae
Author: Sage Weil <sage@redhat.com>
Date: Thu Oct 9 18:14:53 2014 -0700
osdc/Objecter: fix assert_src_version
Don't use the add_watch() helper; do it like assert_version
does it.
Signed-off-by: Sage Weil <sage@redhat.com>
commit 73720130c34424bf1fe36058ebe8da66976f40fb
Author: Sage Weil <sage@redhat.com>
Date: Thu Oct 9 18:14:15 2014 -0700
librados: use new watch op codes; simplify Objecter helpers
- drop the useless add_watch() helper; do it explicitly
- drop the unused var arg everywhere
- make a separate notify member of the union that excludes
the other unused fields
Signed-off-by: Sage Weil <sage@redhat.com>
commit 0d6aa20d4fb04c552e660576606c9250808a4d5d
Author: Sage Weil <sage@redhat.com>
Date: Thu Oct 9 18:11:44 2014 -0700
librados: define CEPH_OSD_WATCH_OP_*
Signed-off-by: Sage Weil <sage@redhat.com>
commit 6af4e1f68ef2e882e8dcaa16c49e123ed2479914
Author: Sage Weil <sage@redhat.com>
Date: Thu Oct 9 17:42:14 2014 -0700
librados: unconditionally pass WATCH_NOTIFY to legacy callback
This was always WATCH_NOTIFY; just pass that explicitly. No need to
pay attention to what's in the message.
Signed-off-by: Sage Weil <sage@redhat.com>
commit 6183dccd37121a148545194699b1a9566b418795
Author: Sage Weil <sage@redhat.com>
Date: Wed Oct 8 08:25:45 2014 -0700
osd: allow multiple watchers/notify replies per client
It is perfectly valid to register multiple watchers via the same
librados client. Make the notify_replies a multimap to capture all
of the acks.
Signed-off-by: Sage Weil <sage@redhat.com>
commit 8b409d498e96918bd7970fe4880b46e0949d4460
Author: Sage Weil <sage@redhat.com>
Date: Tue Oct 7 15:56:52 2014 -0700
librados: include notifier's gid in notify
The notify replies include the identify of everyone who acked the
notify. For symmetry, inform the notified client who sent the notify.
Fixes: #9198
Signed-off-by: Sage Weil <sage@redhat.com>
commit e1a3bc870341321c43edcbe866133b412ce50905
Author: Sage Weil <sage@redhat.com>
Date: Tue Oct 7 15:28:55 2014 -0700
ceph_test_rados_api_watch_notify: test notify2 api
Signed-off-by: Sage Weil <sage@redhat.com>
commit 7589bfcc9071062cc28337263252962efbc59bb0
Author: Sage Weil <sage@redhat.com>
Date: Thu Aug 21 14:52:34 2014 -0700
librados: update notify2 API to accept reply payloads
Allow the notify2 callers to provide bufferlists or char ** pointers
so that we can pass the reply buffer back to them.
Signed-off-by: Sage Weil <sage@redhat.com>
commit 81cdff275aec97f851b2344cf046d6ee9c31769b
Author: Sage Weil <sage@redhat.com>
Date: Thu Aug 21 14:46:35 2014 -0700
osd: implement notify ack payloads
If the notified send back reply payloads, pass them back to the notifier.
Note that we have changed the on-wire behavior of the watch completion
message a bit: instead of sending the original notify payload back to the
notifier, we send the map of notified to replies. Note that only users of
the new API will know what to do with the notify acknowledgement
information. At the same time, we stop sending the original payload.
However, the old API users never saw that data; we were uselessly sending
it over the wire.
Signed-off-by: Sage Weil <sage@redhat.com>
commit 7e0c4efcd494224baf1e2f50aec020c46415bd9b
Author: Sage Weil <sage@redhat.com>
Date: Thu Aug 21 14:32:48 2014 -0700
librados: define updated watch/notify interface
- new notify callback with the correct values:
- notify_id
- watch handle
- payload
- new notify_ack call
- not implicit when the callback returns (for new api only)
- optional payload
- new watch2 call
- that provides the new callback
- new notify2 call
- with the right arguments, and optional timeout
A couple refactors in here:
- IoCtx notify_ack is now called unlocked (Note: this will soon change
with pending Objecter locking changes)
- Objecter notify_ack takes a buffer
TODO:
- no timeout on the individual watch, yet...
Signed-off-by: Sage Weil <sage@redhat.com>
commit 12940c9f86aa57a5a7561705a5178e797a3115b9
Author: Sage Weil <sage@redhat.com>
Date: Thu Aug 21 13:38:17 2014 -0700
librados: drop useless ver arg to _notify_ack
Signed-off-by: Sage Weil <sage@redhat.com>
commit 96d06a5f5c5a3a0b45f9ffddff3fc46609127f1e
Merge: 19e6c58 e42df6a
Author: Gregory Farnum <greg@gregs42.com>
Date: Thu Dec 4 10:31:34 2014 -0800
Merge pull request #3076 from ceph/wip-mon-mdsdne
MDSMonitor.cc: fix assertion caused by MDSMap::STATE_DNE state
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
commit 19e6c5862254dc6855ae5fd9124aee966de3f1cf
Merge: 12098b4 6edaf4e
Author: Sage Weil <sage@redhat.com>
Date: Thu Dec 4 10:13:55 2014 -0800
Merge pull request #3072 from ceph/wip-10231-gperftools-location
heap_profiler: support new gperftools header locations
gitbuilders are happy
Reviewed-by: Sage Weil <sage@redhat.com>
commit 12098b4115b3f8bc1e20af115de442e7fc1b592d
Merge: f9c602a 22c1d9b
Author: Sage Weil <sage@redhat.com>
Date: Thu Dec 4 10:11:18 2014 -0800
Merge pull request #3084 from ceph/wip-rados-include
librados: Fix rados include problem reported by "sponce"
Reviewed-by: Sage Weil <sage@redhat.com>
commit 22c1d9b0cf496ae66cb511aa862bb5e261b15076
Author: David Zafman <dzafman@redhat.com>
Date: Thu Dec 4 10:02:38 2014 -0800
librados: Fix rados include problem reported by "sponce"
Caused by a03f85a8e7fab296ea2df70a929a1c5e4aa0f7fb
Signed-off-by: David Zafman <dzafman@redhat.com>
commit f9c602a2ce204fc45644bd82686736a562bb8e80
Merge: cad4edc 7b621f4
Author: Sage Weil <sage@redhat.com>
Date: Thu Dec 4 10:04:30 2014 -0800
Merge pull request #3059 from dachary/wip-10125-radosgw-init
rgw: run radosgw as apache with systemd
Reviewed-by: Sage Weil <sage@redhat.com>
commit 7b621f4abf63456272dec3449aa108c89504a7a5
Author: Loic Dachary <ldachary@redhat.com>
Date: Tue Dec 2 18:10:48 2014 +0100
rgw: run radosgw as apache with systemd
Same as sysv.
http://tracker.ceph.com/issues/10125 Fixes: #10125
Signed-off-by: Loic Dachary <loic@dachary.org>
commit cad4edceda03291bfb3ca537a7a2756e5f141f23
Merge: a6a8aea 0d4dd10
Author: Samuel Just <sam.just@inktank.com>
Date: Thu Dec 4 09:30:44 2014 -0800
Merge pull request #2997 from ceph/wip-snapmapper
osd: require SNAPMAPPER feature; drop tolerate_collection_add_enoent
Reviewed-by: Samuel Just <sjust@redhat.com>
commit a6a8aeaefbd813ca5cdd6769b48bd178f472c570
Merge: d212ced 0d6c803
Author: Samuel Just <sam.just@inktank.com>
Date: Thu Dec 4 09:29:31 2014 -0800
Merge pull request #2979 from ceph/wip-kill-category
osd: kill 'category' from pg_stats_t
Reviewed-by: Samuel Just <sjust@redhat.com>
commit d212ced82bca0ce30e952df125501a4f8539bf65
Merge: 08aa6d3 cb820f8
Author: Samuel Just <sam.just@inktank.com>
Date: Thu Dec 4 09:26:48 2014 -0800
Merge pull request #2694 from dachary/wip-9728-jerasure-neon
erasure-code: jerasure support for NEON
Reviewed-by: Samuel Just <sjust@redhat.com>
commit 08aa6d3ee924d876b6d4374f59bf4ec61685e9bd
Merge: 473e36c 237b29c
Author: Sage Weil <sage@redhat.com>
Date: Thu Dec 4 09:25:40 2014 -0800
Merge pull request #3082 from scuttlemonkey/wip-doc-10247
Changed os-recommendation table sorting to remove implied bias.
Reviewed-by: Sage Weil <sage@redhat.com>
commit 473e36ca0b542517401eb057c52069b47e886465
Merge: 6b27089 01df222
Author: Samuel Just <sam.just@inktank.com>
Date: Thu Dec 4 09:25:14 2014 -0800
Merge pull request #3048 from ceph/wip-10209
osd: tolerate sessionless con in fast dispatch path
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
commit 6b27089808eddaf0ce660001f5fe2c47dae3288a
Merge: 3f2f42d 4e955f4
Author: Samuel Just <sam.just@inktank.com>
Date: Thu Dec 4 09:24:14 2014 -0800
Merge pull request #3049 from dachary/wip-10211-erasure-code-buffer-alignement
erasure-code: enforce chunk size alignment
Reviewed-by: Samuel Just <sjust@redhat.com>
commit 3f2f42dda4fca24dbf88341f18c8be6a215fc283
Author: Sage Weil <sage@redhat.com>
Date: Thu Dec 4 09:15:37 2014 -0800
doc/release-notes: v0.89
Signed-off-by: Sage Weil <sage@redhat.com>
commit c0685ec70914215e55441c1f8e737bd281723f58
Merge: ec2677e f11fd66
Author: Sage Weil <sage@redhat.com>
Date: Thu Dec 4 08:39:56 2014 -0800
Merge remote-tracking branch 'gh/next'
commit 237b29c24843d932f2bd4af1e225040ee3413bea
Author: scuttlemonkey <patrick@inktank.com>
Date: Thu Dec 4 11:27:35 2014 -0500
Changed os-recommendation table sorting to remove implied bias.
Fixes: #10247
signed-of by: Patrick McGarry <pmcgarry@redhat.com>
commit ec2677eaa661e0eb7901dcfa5305fadd10c5ea56
Merge: f9bd970 dbb5a48
Author: Loic Dachary <dachary@users.noreply.github.com>
Date: Thu Dec 4 15:10:10 2014 +0100
Merge pull request #3024 from ceph/wip-librados-symbols
librados: Only public API symbols from the shared library
Reviewed-by: Loic Dachary <ldachary@redhat.com>
commit e42df6afbbdbe680ddb5a6021e268d7cc125f403
Author: Yan, Zheng <zyan@redhat.com>
Date: Thu Dec 4 20:26:59 2014 +0800
MDSMonitor.cc: fix assertion caused by MDSMap::STATE_DNE state
Signed-off-by: Yan, Zheng <zyan@redhat.com>
commit f9bd970ea31b307b0042e7f3a7c3a8173c810e77
Merge: d5e2c2c 8e5dbe7
Author: Loic Dachary <dachary@users.noreply.github.com>
Date: Thu Dec 4 07:39:40 2014 +0100
Merge pull request #3028 from majianpeng/fix4
Add perf reset command.
Reviewed-by: Loic Dachary <ldachary@redhat.com>
commit f11fd66f80a828f29fb6ed63c05f993a9a37f1de
Merge: 68fdc0f d3ee89a
Author: Yan, Zheng <ukernel@gmail.com>
Date: Thu Dec 4 13:32:32 2014 +0800
Merge pull request #3074 from ceph/wip-10229
osdc/Filer: use finisher to execute C_Probe and C_PurgeRange
commit d3ee89ace660161df7796affbf9a70f3d0dedce1
Author: Yan, Zheng <zyan@redhat.com>
Date: Thu Dec 4 12:18:47 2014 +0800
osdc/Filer: use finisher to execute C_Probe and C_PurgeRange
Currently contexts C_Probe/C_PurgeRange are executed while holding
OSDSession::completion_lock. C_Probe and C_PurgeRange may call
Objecter::stat() and Objecter::remove() respectively, which acquire
Objecter::rwlock. This can cause deadlock because there is intermediate
dependency between Objecter::rwlock and OSDSession::completion_lock:
Objecter::rwlock -> OSDSession::lock -> OSDSession::completion_lock
The fix is exexcute C_Probe/C_PurgeRange in finisher thread.
Fixes: #10229
Signed-off-by: Yan, Zheng <zyan@redhat.com>
commit 6edaf4e79673682d7d77a05b14e3f6bdc9d2613c
Author: Ken Dreyer <kdreyer@redhat.com>
Date: Mon Dec 1 18:24:22 2014 -0700
heap_profiler: support new gperftools header locations
The google/ headers location has been deprecated as of gperftools 2.0.
As of gperftools 2.2rc, the google/ headers will now give deprecation
warnings, and they will probably disappear in a future gperftools
update.
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
commit d5e2c2cf10bcb2e84ca3c50e5d5faa3aa6b99427
Author: Greg Farnum <gfarnum@redhat.com>
Date: Wed Dec 3 10:45:52 2014 -0800
mon: fix signed/unsigned comparison warning
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
commit 68fdc0f68e6a04e283d2c5140832a3175b4f9840
Author: Jenkins <jenkins@inktank.com>
Date: Wed Dec 3 08:18:33 2014 -0800
0.89
commit 6e69955ab52b53d21cd2670e6bc0b0253e6b52b7
Merge: cbac460 d98cec7
Author: Loic Dachary <dachary@users.noreply.github.com>
Date: Wed Dec 3 16:28:51 2014 +0100
Merge pull request #3065 from ceph/wip-cephtool-exec
qa: fix cephtool tests not getting run
Reviewed-by: Loic Dachary <ldachary@redhat.com>
commit d98cec7f9c652da570aa2c29558f5651d4a62bdf
Author: John Spray <john.spray@redhat.com>
Date: Tue Dec 2 21:43:03 2014 +0000
qa: fix teardown in cephtool's test_mon_mds
This was missing from 17b5fc9a but we didn't notice
because the test wasn't being run by the gitbuilders.
Signed-off-by: John Spray <john.spray@redhat.com>
commit c4f934997a811f20aa394193267424338bda8d2f
Merge: f152bc6 929fcd6
Author: Sage Weil <sage@redhat.com>
Date: Tue Dec 2 20:56:55 2014 -0800
Merge pull request #3044 from osynge/wip=suse-systemd
better systemd support
Reviewed-by: Sage Weil <sage@redhat.com>
commit cbac4609501f18bcd516937b4fff044828bc2189
Merge: adaa291 3047c9e
Author: Sage Weil <sage@redhat.com>
Date: Tue Dec 2 20:53:12 2014 -0800
Merge pull request #3067 from dachary/wip-cephtool
fix cephtools running only part of the tests + avoid killing wrong daemons
Reviewed-by: Sage Weil <sage@redhat.com>
commit 8e5dbe7dffbb8b1bf0453809a9c8d796bfb1b684
Author: Jianpeng Ma <jianpeng.ma@intel.com>
Date: Wed Dec 3 10:28:00 2014 +0800
common/perf_counters: Remove the duplicated code.
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
commit 963b76494b889a253dff7d014c47444e4f4f3b4c
Author: Jianpeng Ma <jianpeng.ma@intel.com>
Date: Wed Dec 3 10:26:26 2014 +0800
test/perf_counters: Replace perfcounters_dump to perf dump.
The func of command perfcounters_dump and 'perf dump' are the same .
But from the print 'ceph --admin-daemon help', it only print 'perf
dump'. So replace.
In order to keep consistent, still keep perfcounters_dump in code for
old user.
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
commit eafb22453fa17a9d0e2f0810d486a48c67de8598
Author: Jianpeng Ma <jianpeng.ma@intel.com>
Date: Wed Dec 3 10:23:03 2014 +0800
test/perf_counters: Add test case for cmd 'perf reset'
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
commit 5f8186b1062aa3f5d94a0df5a73b6a360a953caf
Author: Jianpeng Ma <jianpeng.ma@intel.com>
Date: Wed Dec 3 10:10:03 2014 +0800
common/perf_counters: Add 'perf reset all|perfcountername' for 'ceph
--admin-daemon'
Using this command, we can reset all perfcounters or reset on specified
perfcounter.
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
commit f152bc69d0586cc81f5d5ec03a646f52169e364c
Merge: e83321e 5d3bff0
Author: Loic Dachary <dachary@users.noreply.github.com>
Date: Wed Dec 3 01:23:52 2014 +0100
Merge pull request #3068 from ktdreyer/doc-os-recommendations-cleanup
doc: os recommendations cleanup
Reviewed-by: Loic Dachary <ldachary@redhat.com>
commit 5d3bff0494cca8f55183517f1fe572315e7c8602
Author: Ken Dreyer <kdreyer@redhat.com>
Date: Tue Dec 2 16:31:06 2014 -0700
doc: rm Fedora minor versions in os recommendations
Fedora doesn't have point releases, so it doesn't make sense to talk
about "Fedora 18.0" or "Fedora 19.0" - it's just "Fedora 18" or "Fedora
19".
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
commit 0d4dd10bb6e564f309be21f85b0bfe4dc36d3e7e
Author: Sage Weil <sage@redhat.com>
Date: Mon Nov 24 09:23:13 2014 -0800
os/ObjectStore: drop tolerate_collection_add_enoent
This is no longer needed and clutters the interface.
Signed-off-by: Sage Weil <sage@redhat.com>
commit bc5a22b5dc30dfa162384760037577d43051f301
Author: Sage Weil <sage@redhat.com>
Date: Mon Nov 24 09:22:30 2014 -0800
osd: require SNAPMAPPER feature from peers
This was introduced before cuttlefish. We require users to upgrade first
to a newer release, so there is no need to support a mixed cluster with
such old code.
Signed-off-by: Sage Weil <sage@redhat.com>
commit e83321ee0977e1778499aa5d25221521152ce1de
Merge: 56dae09 b743a95
Author: Loic Dachary <dachary@users.noreply.github.com>
Date: Wed Dec 3 00:18:50 2014 +0100
Merge pull request #3061 from ktdreyer/rpm-ceph-disk-man-page
packaging: package ceph-disk(8)
Reviewed-by: Loic Dachary <ldachary@redhat.com>
commit b743a951114b00bbb6e14fb88f1928b504bc0f8b
Author: Ken Dreyer <kdreyer@redhat.com>
Date: Tue Dec 2 13:58:10 2014 -0700
packaging: package ceph-disk(8)
The ceph-disk man page was added in
a450cab2b8148cb8a9b043d629feccf89e5aabac, but this was not added to the
RPM or DEB packaging. Add it here.
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
commit 2497f16a046ad441a82b0b38e003c455c43a0755
Author: Ken Dreyer <kdreyer@redhat.com>
Date: Tue Dec 2 15:54:22 2014 -0700
doc: rm old releases in os recommendations page
Similar to the change in commit
4cdc9c793627eec13c65543c09c604ec27a4dd8a, remove the references to old
Ceph releases.
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
commit 0bb2e1ed5ee038e9ec1ee2b19dd7ea80ecf7337c
Author: Ken Dreyer <kdreyer@redhat.com>
Date: Tue Dec 2 15:52:58 2014 -0700
doc: clarify "B" flag in os recommendations page
We don't exactly do continuous builds on all the platforms marked with
"B", but we have published binary RPMs for them. Adjust the "B"
footnote definition to reflect this.
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
commit 3047c9e000f9a7aec5d0a82b36461a0f150433bc
Author: Loic Dachary <ldachary@redhat.com>
Date: Tue Dec 2 23:16:05 2014 +0100
qa: cephtool/test.sh use regular strings to list tests
Using the array notation to list test is error prone and more
complicated to write.
It also fixes a bug : only the first test of each series (MON, OSD, MDS)
was run and the others were ignored.
Signed-off-by: Loic Dachary <loic@dachary.org>
commit e3e5741581aa2d8a2c1bc9859826f62a3b406cf0
Author: Loic Dachary <ldachary@redhat.com>
Date: Tue Dec 2 07:37:15 2014 +0100
tests: vstart_wrapper.sh must call vstart.sh with a list of daemons
The list of daemons is provided in the $CEPH_START environment variable
but vstart_wrapper.sh incorrectly uses the $VSTART_ARGS empty variable.
As a consequence vstart.sh calls init-ceph stop which kills daemons that
do not belong to the test.
http://tracker.ceph.com/issues/10215 Fixes: #10215
Signed-off-by: Loic Dachary <loic@dachary.org>
commit 4e955f41297283798236c505c3d21bdcabb5caa0
Author: Loic Dachary <ldachary@redhat.com>
Date: Tue Dec 2 01:07:34 2014 +0100
erasure-code: enforce chunk size alignment
Let say the ErasureCode::encode function is given a 4096 bytes
bufferlist made of a 1249 bytes bufferptr followed by a 2847 bytes
bufferptr, both properly starting on SIMD_ALIGN address. As a result the
second 2048 had to be reallocated when bufferlist::substr_of gets the
second 2048 buffer, the address starts at 799 bytes after the beginning
of the 2847 buffer ptr and is not SIMD_ALIGN'ed.
The ErasureCode::encode must enforce a size alignment based on the chunk
size in addition to the memory alignment required by SIMD operations,
using the bufferlist::rebuild_aligned_size_and_memory function instead of
bufferlist::rebuild_aligned.
http://tracker.ceph.com/issues/10211 Fixes: #10211
Signed-off-by: Loic Dachary <loic@dachary.org>
commit 73ad2d63d479b09037d50246106bbd4075fbce80
Author: Loic Dachary <ldachary@redhat.com>
Date: Tue Dec 2 02:04:14 2014 +0100
common: allow size alignment that is not a power of two
Do not assume the alignment is a power of two in the is_n_align_sized()
predicate. When used in the context of erasure code it is common
for chunks to not be powers of two.
Signed-off-by: Loic Dachary <loic@dachary.org>
commit 9ade88e8dacc9b96c042bb668f4452447139a544
Author: Loic Dachary <ldachary@redhat.com>
Date: Tue Dec 2 00:59:08 2014 +0100
common: add bufferlist::rebuild_aligned_size_and_memory
The function bufferlist::rebuild_aligned checks memory and size
alignment with the same variable. It is however useful to separate
memory alignment constraints from size alignment constraints. For
instance rebuild_aligned could be called to allocate an erasure coded
buffer where each 2048 bytes chunk needs to start on a memory address
aligned on 32 bytes.
Signed-off-by: Loic Dachary <loic@dachary.org>
commit 56dae09b9c22c43492f26812847f76d3a07c491d
Author: John Wilkins <john.wilkins@inktank.com>
Date: Tue Dec 2 11:23:55 2014 -0800
doc: Reformatting on rbd replay doc.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
commit b8f6b5f77c8ba909627ae3ba107828566d6e9a5c
Author: John Wilkins <john.wilkins@inktank.com>
Date: Tue Dec 2 11:23:29 2014 -0800
doc: Added rbd-replay-many and restructured index.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
commit 54d5ed3732c5f8faf3fcc216002080791c737c98
Author: John Wilkins <john.wilkins@inktank.com>
Date: Tue Dec 2 11:23:00 2014 -0800
doc: Fixed index syntax.
Signed-off-by: John Wilkins <jowilkin@redhat.com>
commit deaae3f5dd37de5f09f172f448f8f35259207679
Merge: b1aa23e 70e1a5d
Author: John Wilkins <john.wilkins@inktank.com>
Date: Tue Dec 2 11:09:13 2014 -0800
Merge pull request #3051 from ceph/wip-doc-rbd-replay
doc: Document RBD Replay
Reviewed-by: John Wilkins <jowilkin@redhat.com>
commit b1aa23ee6e7d85fe70c89a287835bb3a4cef3b6f
Merge: 06fe0f6 3012c4a
Author: John Wilkins <john.wilkins@inktank.com>
Date: Tue Dec 2 11:07:07 2014 -0800
Merge pull request #3060 from ktdreyer/doc-os-recommendations-centos-7
doc: add CentOS 7 to recommended OSes
Reviewed-by: John Wilkins <jowilkin@redhat.com>
commit 3012c4a097a74926f03c14b8e726400963a8d455
Author: Ken Dreyer <kdreyer@redhat.com>
Date: Tue Dec 2 10:45:26 2014 -0700
doc: add CentOS 7 to recommended OSes
CentOS 7 was missing from the list of recommended OSes for Firefly. Add
it to the list.
Reported-By: Frank Even <lists+ceph.com@elitists.org>
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
commit 06fe0f6ff45b3679210c9c80387c76a6dada1dcd
Merge: 2604ae0 4b35ae0
Author: Yehuda Sadeh <yehuda@redhat.com>
Date: Tue Dec 2 09:39:02 2014 -0800
Merge pull request #2993 from theanalyst/s3/keystone-date-fixes
rgw: check for timestamp for s3 keystone auth
Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
commit 2604ae09076598a9c07a2f1913cf4c478c278bb8
Merge: 017f669 6862891
Author: Loic Dachary <dachary@users.noreply.github.com>
Date: Tue Dec 2 18:16:56 2014 +0100
Merge pull request #3058 from nilamdyuti/wip-doc-ceph-disk
doc: Adds man page for ceph disk in TOC.
Reviewed-by: Loic Dachary <ldachary@redhat.com>
commit 6862891c9c60b813dacd8d5323915f3798d50832
Author: Nilamdyuti Goswami <ngoswami@redhat.com>
Date: Tue Dec 2 22:34:57 2014 +0530
doc: Adds man page for ceph disk in TOC.
Signed-off-by: Nilamdyuti Goswami <ngoswami@redhat.com>
commit adaa291e8174539acfccd18f0d83526aa5fd36e2
Merge: 25fc21b 491da51
Author: John Spray <jcspray@gmail.com>
Date: Tue Dec 2 14:19:06 2014 +0000
Merge pull request #3056 from ceph/wip-9997-1
client: invalidate kernel dentries one by one
Reviewed-by: John Spray <john.spray@redhat.com>
commit 491da5173fc33fec944865f0e2e9a506ec71fc5b
Author: Yan, Zheng <zyan@redhat.com>
Date: Mon Dec 1 21:54:52 2014 +0800
client: invalidate kernel dentries one by one
Our trick to trim the whole kernel dentry tree does not work for 3.18+ kernel.
The fix is trim kernel dentries one by one.
Fixes: #9997
Signed-off-by: Yan, Zheng <zyan@redhat.com>
commit 017f669cdb667c99e282d224e0ea39612af39ef1
Merge: d0641b0 2fa4884
Author: John Spray <jcspray@gmail.com>
Date: Tue Dec 2 13:18:10 2014 +0000
Merge pull request #3052 from ceph/wip-flush-journal-fix
mds: fix race of trimming log segments
Reviewed-by: John Spray <john.spray@redhat.com>
commit d0641b0e85e3ac40f7032a0f3907de5336f5e310
Merge: 9e3e4c8 0659381
Author: Loic Dachary <dachary@users.noreply.github.com>
Date: Tue Dec 2 10:32:15 2014 +0100
Merge pull request #2994 from dachary/wip-10175-compile-dependencies
script replacement for deps.{rpm,deb}.txt
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Reviewed-by: Thorsten Behrens <tbehrens@suse.com>
Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Sahid Orentino Ferdjaoui <sahid.ferdjaoui@redhat.com>
commit 2fa4884fd8c0bc70e4dd17a957693a636024c608
Author: Yan, Zheng <zyan@redhat.com>
Date: Tue Dec 2 13:59:11 2014 +0800
mds: fix race of trimming log segments
trimming old log segments can start new log segments, make sure
MDLog::trim_all() not expire newly started log segments.
Signed-off-by: Yan, Zheng <zyan@redhat.com>
commit 9e3e4c8e51b0e9d336520aab351a459e23ba9370
Merge: 772a0d5 3376fee
Author: Sage Weil <sage@redhat.com>
Date: Mon Dec 1 20:47:29 2014 -0800
Merge pull request #3041 from xiaoxichen/cleanup-noop
Cleanup noop in message
Reviewed-by: Sage Weil <sage@redhat.com>
commit 70e1a5dcbb1b817a935782037f9a2b11d12f4d53
Author: Adam Crume <adamcrume@gmail.com>
Date: Mon Dec 1 20:44:02 2014 -0800
doc: Document RBD Replay
Signed-off-by: Adam Crume <adamcrume@gmail.com>
commit 01df2227125abf94571b4b0c7bccca57098ed2dc
Author: Sage Weil <sage@redhat.com>
Date: Mon Dec 1 18:15:59 2014 -0800
osd: tolerate sessionless con in fast dispatch path
We can now get a session cleared from a Connection at any time. Change
the assert to an if in ms_fast_dispatch to cope. It's pretty rare, but it
can happen, especially with delay injection. In particular, a racing
thread can call mark_down() on us.
Fixes: #10209
Backport: giant
Signed-off-by: Sage Weil <sage@redhat.com>
commit 25fc21b837ba74bab2f6bc921c78fb3c43993cf5
Merge: 310a3f1 17b5fc9
Author: Gregory Farnum <greg@gregs42.com>
Date: Mon Dec 1 18:05:02 2014 -0800
Merge pull request #3008 from ceph/wip-10135
mon: OSDMonitor: allow adding tiers to FS pools
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
commit 772a0d538ae26c58d2ed52f62cc3417aabcb0fc0
Merge: f868ca0 0f1c9fd
Author: Gregory Farnum <greg@gregs42.com>
Date: Mon Dec 1 17:30:36 2014 -0800
Merge pull request #3050 from dachary/wip-10213-const
msg: do not const methods that return a mutable pointer
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
commit 0f1c9fd1aa250fa9aceff330de6318ba404341c4
Author: Loic Dachary <ldachary@redhat.com>
Date: Tue Dec 2 02:20:15 2014 +0100
msg: do not const methods that return a mutable pointer
Add remove misleading const on post_rx_buffer argument.
http://tracker.ceph.com/issues/10213 Fixes: #10213
Signed-off-by: Loic Dachary <loic@dachary.org>
commit 0d6c803ddef535fe90935959d48dfb2ed2c0037a
Author: Sage Weil <sage@redhat.com>
Date: Fri Oct 31 09:52:27 2014 -0700
osd/osd_types: drop category from object_info_t
Signed-off-by: Sage Weil <sage@redhat.com>
commit 5ecdce3b8793c9edd3d33227a3475572a5deccc1
Author: Sage Weil <sage@redhat.com>
Date: Fri Oct 31 09:52:16 2014 -0700
osdc/Objecter: drop category from copy-get
Signed-off-by: Sage Weil <sage@redhat.com>
commit d229548db500a7421309fe6c3804aa1231f144cd
Author: Sage Weil <sage@redhat.com>
Date: Fri Oct 31 09:48:22 2014 -0700
osd/ReplicatedPG: drop cateogry support from CREATE
Signed-off-by: Sage Weil <sage@redhat.com>
commit 4e1f4cfed115e95bdf7905944f9e33a5ca2fa9ba
Author: Sage Weil <sage@redhat.com>
Date: Thu Oct 30 15:43:31 2014 -0700
rados: drop optional 'create [category]' arg
Signed-off-by: Sage Weil <sage@redhat.com>
commit 3008ca4eb114f2cefa99dbc218af8b9b5942e00c
Author: Sage Weil <sage@redhat.com>
Date: Thu Oct 30 15:42:38 2014 -0700
rados: change 'df' output now that categories are gone
Signed-off-by: Sage Weil <sage@redhat.com>
commit 39c46a2de7997df8f9a350e1364d3a841e7e5fc9
Author: Sage Weil <sage@redhat.com>
Date: Thu Oct 30 15:41:38 2014 -0700
PendingReleaseNotes: not about dropping category
Signed-off-by: Sage Weil <sage@redhat.com>
commit ee4f6d72882ee139d9f8d095d45be6c9cd2a23c7
Author: Sage Weil <sage@redhat.com>
Date: Thu Oct 30 15:14:47 2014 -0700
osd/osd_types: drop useless conditionals on object_info_t decode
The incompat decode version is 8, so we will never see struct_v < 5.
Signed-off-by: Sage Weil <sage@redhat.com>
commit ee3b5b2661fa516d803005db9e1d1b5054e54faf
Author: Sage Weil <sage@redhat.com>
Date: Fri Oct 31 09:46:46 2014 -0700
osd/osd_types: remove cat_sum from object_stat_collection_t
This type is now just a useless wrapper around object_stat_sum_t, but that
is not easy to drop.
Note that now if we load and reencode a legacy object we'll drop those
fields. We would mark the incompat flag in the object corpus accordingly,
but nothing in there populates the cat fields.
Signed-off-by: Sage Weil <sage@redhat.com>
commit c94c33b9a6e0a0bd2ddfdb73d270c09553e81148
Author: Sage Weil <sage@redhat.com>
Date: Fri Oct 31 09:45:16 2014 -0700
mon/PGMonitor: do not report per-category stats
Signed-off-by: Sage Weil <sage@redhat.com>
commit 387d055f136e4dde201f8e5419860c1a4247245d
Author: Sage Weil <sage@redhat.com>
Date: Fri Oct 31 09:44:41 2014 -0700
osd: stop doing per-category accounting
Signed-off-by: Sage Weil <sage@redhat.com>
commit bebcd1462b14ee901dc9c768e487a23d3a490489
Author: Sage Weil <sage@redhat.com>
Date: Thu Oct 30 11:47:40 2014 -0700
librados: drop create category args
Signed-off-by: Sage Weil <sage@redhat.com>
commit 5020bbe29686e6b051a31da5375be03c14dc303e
Author: Sage Weil <sage@redhat.com>
Date: Thu Oct 30 11:45:36 2014 -0700
librados: add new get_pool_stats() variant; deprecate others
A new call will return a simple map of pool -> stats. Drop the old ones
that did pool -> category -> stats, and deprecate the category one
entirely.
Signed-off-by: Sage Weil <sage@redhat.com>
commit 080fae6e92cb8c409da0b1353629e1d47239f807
Author: Sage Weil <sage@redhat.com>
Date: Thu Oct 30 09:51:04 2014 -0700
librados: mark category args and ops as unused
Signed-off-by: Sage Weil <sage@redhat.com>
commit f868ca04d2ee57b214837d824653e3a2d56e23da
Merge: 8cb8854 2fe5c4c
Author: Sage Weil <sage@redhat.com>
Date: Mon Dec 1 09:23:39 2014 -0800
Merge pull request #2825 from ceph/wip-9921
SimpleMessenger: Pipe: do not block on takeover while holding global locks
Reviewed-by: Sage Weil <sage@redhat.com>
commit 8cb8854f4d599c13df320c2092633c6999d2046f
Merge: 44b101c e0190bd
Author: Sage Weil <sage@redhat.com>
Date: Mon Dec 1 09:10:17 2014 -0800
Merge pull request #3046 from yuyuyu101/fix-kinetic
KnieticStore: add necessary header file
Reviewed-by: Sage Weil <sage@redhat.com>
commit 44b101c80dae6f87d463be8b60ccd5c6d46da268
Merge: 77deeaa 50f9edb
Author: Samuel Just <sam.just@inktank.com>
Date: Mon Dec 1 09:08:13 2014 -0800
Merge pull request #2922 from ceph/wip-da-SCA-20141111
Coverity fixes
Reviewed-by: Sage Weil <sage@redhat.com>
commit 77deeaa4ffa247a2c93599d2d135416d35912a3f
Merge: 42c85e8 cf2104d
Author: Samuel Just <sam.just@inktank.com>
Date: Mon Dec 1 09:07:38 2014 -0800
Merge pull request #2937 from simon3z/master
common: do not unlock rwlock on destruction
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
commit 310a3f1c65d25ee1fc60398f0fe025e4b19f55fe
Merge: aa4d147 06fc39c
Author: Samuel Just <sam.just@inktank.com>
Date: Mon Dec 1 09:05:44 2014 -0800
Merge pull request #2945 from ceph/wip-9321
mon: PaxosService: can be readable even if proposing
Reviewed-by: Sage Weil <sage@redhat.com>
commit 42c85e80b649af107eac11ccdd44dc533a66bf3d
Merge: 34f0bfd e25724b
Author: Samuel Just <sam.just@inktank.com>
Date: Mon Dec 1 09:05:04 2014 -0800
Merge pull request #2788 from ceph/wip-warn-max-pg
mon: warn when there are too many pgs per osd
Reviewed-by: Joao Eduardo Luis <joao@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
commit 34f0bfd13238e2ac4a0be4edb2cd97efcab7af97
Merge: f9e2112 3776f07
Author: Samuel Just <sam.just@inktank.com>
Date: Mon Dec 1 09:00:06 2014 -0800
Merge pull request #2735 from ceph/wip-pg-stat
mon: make 'pg stat -f json' not pg dump; make JSON dump of floats floats and not strings
Reviewed-by: Samuel Just <sjust@redhat.com>
commit 06593813af2302584828bb743049164e70c6f67b
Author: Loic Dachary <ldachary@redhat.com>
Date: Tue Nov 25 17:25:26 2014 +0100
documentation: replace deps.{deb,rpm}.txt with scripts
install-deps.sh installs the dependencies based on the content of
debian/control (if apt-get is found) or ceph.spec.in (if yum is
found). The manually maintained list of dependencies for deb based
operating systems (deps.deb.txt) and rpm based operating
systems (deps.rpm.txt) are deprecated.
http://tracker.ceph.com/issues/10175 Fixes: #10175
Signed-off-by: Loic Dachary <ldachary@redhat.com>
commit e0190bd38e2d79ee844339907069f97b469a1dae
Author: Haomai Wang <haomaiwang@gmail.com>
Date: Mon Dec 1 22:24:45 2014 +0800
KnieticStore: add necessary header file
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
commit 929fcd67aa25334d8c2f77d00f2b4c44be305b51
Author: Owen Synge <osynge@suse.com>
Date: Mon Dec 1 14:32:48 2014 +0100
better systemd support
Added ceph.target
Made ceph-mds, ceph-mon, ceph-osd services part of ceph.target
Made ceph-mds, ceph-mon, ceph-osd services require partitions to be available.
Added ceph init script with sysV like behaviour.
Provided by Tim Serong tserong@suse.com and Owen Synge osynge@suse.com
Signed-off-by: Owen Synge <osynge@suse.com>
commit 3376fee957c916653c8b6035b971e2b76190233d
Author: Xiaoxi Chen <xiaoxi.chen@intel.com>
Date: Mon Dec 1 21:35:10 2014 +0800
Cleanup noop in message
The noop loop are dead, so clean it up
Signed-off-by: Xiaoxi Chen <xiaoxi.chen@intel.com>
commit f9e2112b8619cbf572b2494411b9967ffa34318e
Merge: efdfec4 5b5493d
Author: John Spray <jcspray@gmail.com>
Date: Mon Dec 1 12:20:44 2014 +0000
Merge pull request #2855 from ceph/wip-9881
#9881 MDS flush journal asok command
Reviewed-by: Yan, Zheng <zyan@redhat.com>
commit 5b5493db5b1aa4e61147a4bcafd173e25f93d832
Author: John Spray <john.spray@redhat.com>
Date: Fri Oct 31 12:41:18 2014 +0000
mds: implement "flush journal" asok
Start a new segment and flush everything older
to the backing store.
Signed-off-by: John Spray <john.spray@redhat.com>
commit efeaaaa0b079abb29ca757077c304a6efe94ec73
Author: John Spray <john.spray@redhat.com>
Date: Mon Nov 3 12:39:56 2014 +0000
mds: in segment expiry, use end instead of start
Previously we were always leaving the last log
segment un-expired from Journaler's POV, because
we were updating expire_pos to the *start* of the
expired journal segment instead of the *end*.
This was harmless, but cleaning it up makes it
easier to see what's going on during journal flushes
in testing.
Signed-off-by: John Spray <john.spray@redhat.com>
commit 2ec67733ce10e5f89ac3ed4d88601a141163bb7b
Author: John Spray <john.spray@redhat.com>
Date: Thu Nov 20 14:27:27 2014 +0000
mds: fix MDLog I/O callback without finisher
This could deadlock if another caller was waiting
on a write_head callback while holding mds_lock.
Signed-off-by: John Spray <john.spray@redhat.com>
commit efdfec487a7a6ac683d99a2e1111f3dbb33aee0c
Merge: f1296fd 62a8f2d
Author: Loic Dachary <loic-201408@dachary.org>
Date: Sun Nov 30 23:31:17 2014 +0100
Merge pull request #3037 from stiopaa1/cleanup
added some consts, some cleanup
Reviewed-by: Loic Dachary <ldachary@redhat.com>
commit 62a8f2d978accef41268b29262c76977884cee9a
Author: Michal Jarzabek <stiopa@gmail.com>
Date: Sun Nov 30 20:18:25 2014 +0000
added consts, cleanup
Signed-off-by: Michal Jarzabek <stiopa@gmail.com>
commit f1296fd87a579ef89d00ce25d6c573de9f5ee8ec
Merge: f3d9728 faa4cbb
Author: Loic Dachary <loic-201408@dachary.org>
Date: Sun Nov 30 10:23:43 2014 +0100
Merge pull request #3019 from theanalyst/doc/typo/ceph-auth
doc: minor fix in ceph-authtool man page
Reviewed-by: Loic Dachary <ldachary@redhat.com>
commit f3d972828cc778d1b4dbd28060eba1a6fa2ed54e
Merge: 936542c 6a98dac
Author: Loic Dachary <loic-201408@dachary.org>
Date: Sun Nov 30 10:18:26 2014 +0100
Merge pull request #3023 from ktdreyer/rpm-rbd-replay-prep-conditional
rpm: unconditionally package rbd-replay-prep(8)
Reviewed-by: Adam Crume <adamcrume@gmail.com>
commit faa4cbbef24697b52e8d2cb8e6047833b5f4fc6e
Author: Abhishek Lekshmanan <abhishek.lekshmanan@gmail.com>
Date: Wed Nov 26 21:43:10 2014 +0530
doc: minor fix in ceph-authtool man page
Signed-off-by: Abhishek Lekshmanan <abhishek.lekshmanan@gmail.com>
commit 936542c665a98355ac1b080f8f18196acd7f790a
Merge: bc90df1 0fe5bc6
Author: Loic Dachary <loic-201408@dachary.org>
Date: Sat Nov 29 00:04:49 2014 +0100
Merge pull request #3032 from dachary/wip-osd-log-cosmetics
osd: log message content cosmetics
Reviewed-by: Sahid Orentino Ferdjaoui <sahid.ferdjaoui@redhat.com>
commit 0fe5bc601112a101b37c9a229a13f4011436c949
Author: Loic Dachary <ldachary@redhat.com>
Date: Fri Nov 28 16:20:00 2014 +0100
osd: log message content cosmetics
Signed-off-by: Loic Dachary <ldachary@redhat.com>
commit bc90df1ed48a513a518853c9c6369d16edd8af7f
Merge: d3e286e 0d89db5
Author: John Spray <jcspray@gmail.com>
Date: Fri Nov 28 12:59:29 2014 +0000
Merge pull request #2769 from ceph/wip-9557
mds: verify backtrace when fetching dirfrag
Reviewed-by: John Spray <john.spray@redhat.com>
commit d3e286e73b0ddb5a8218cec05c78ddf95e7e7d1c
Merge: 50de36e b9d7f79
Author: Loic Dachary <loic-201408@dachary.org>
Date: Fri Nov 28 08:12:50 2014 +0100
Merge pull request #3027 from majianpeng/fix1
Add "make check" dep python-virtualenv in deps.rpm.txt
Reviewed-by: Loic Dachary <ldachary@redhat.com>
commit b9d7f794cfc40f88d1d3176ff1ef7cbd8b6cf59d
Author: Jianpeng Ma <jianpeng.ma@intel.com>
Date: Fri Nov 28 14:24:58 2014 +0800
Add "make check" dep python-virtualenv in deps.rpm.txt
In fedora20, When 'make check' and met those error messages:
/src/test/run-cli-tests: virtualenv not installed, skipping python-using
tests.
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
commit 50de36edffcc39e7481226a08aa97807462f2411
Merge: 8766ca3 c10d639
Author: Loic Dachary <loic-201408@dachary.org>
Date: Thu Nov 27 09:56:03 2014 +0100
Merge pull request #3025 from majianpeng/fix1
Add isa-erasure yasm dep for deps.rpm.txt
Reviewed-by: Loic Dachary <ldachary@redhat.com>
commit c10d6390449535f284d915b8fd3eacc4f59d6ef7
Author: Jianpeng Ma <jianpeng.ma@intel.com>
Date: Thu Nov 27 15:11:09 2014 +0800
Add isa-erasure yasm dep for deps.rpm.txt
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
commit 6a98dacde1d42f5c599feb53b45c3c5ee8515e51
Author: Ken Dreyer <kdreyer@redhat.com>
Date: Wed Nov 26 16:49:53 2014 -0700
rpm: unconditionally package rbd-replay-prep(8)
The build system will conditionally build and install the
rbd-replay-prep utility based on the presence of lttng.
Commit 230c5b8e7f58e2e8be32c3f31c6abcc5bdabc5ca adjusted the RPM
packaging so that we only package and ship the rbd-replay-prep utility
and its man page when we're on a platform that has lttng.
The problem is that this is only half-correct. The build system
unconditionally installs the man page for rbd-replay-prep, regardless of
whether lttng was present or absent, and (by extension,) without regard
for whether we've built and installed the rbd-replay-prep binary or not.
We have two options: either the build system should be adjusted to
conditionally skip installing rbd-replay-prep(8), or else we should just
adjust the RPM packaging to always ship the man page. This commit does
the latter.
Backport: firefly
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
commit dbb5a48e4adb17f75994257d0c233e9a9ccbaec0
Author: Jason Dillaman <dillaman@redhat.com>
Date: Sat Nov 15 06:00:30 2014 -0500
librados: Only public API symbols from the shared library
The librados shared library was previously exporting all
symbols. librados public API methods are now explicitly
exported and all other symbols are hidden.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
commit 8766ca338dc2f53cbf7963898ae5930dc50cb98b
Merge: c2c53d7 03a61d2
Author: Loic Dachary <loic-201408@dachary.org>
Date: Wed Nov 26 22:37:31 2014 +0100
Merge pull request #3022 from leseb/fix-opts
Minor typos and trailing spaces
Reviewed-by: Loic Dachary <ldachary@redhat.com>
commit 03a61d27efcfdf0c97cc53e6976e43754af21830
Author: Sébastien Han <sebastien.han@enovance.com>
Date: Wed Nov 26 22:33:31 2014 +0100
Minor typos and trailing spaces
Fix typos and trailing spaces.
Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
commit c2c53d72599d4782bd205ba5f35ab389086ff4b4
Merge: 60e7fdd 782a74c
Author: Josh Durgin <jdurgin@redhat.com>
Date: Wed Nov 26 11:30:16 2014 -0800
Merge pull request #3016 from yuyuyu101/fix-kinetic-support
KineticStore: Fix compile error and add _test_init
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
commit 782a74cddd4a72c8106a25fbe9c255d4d4209d28
Author: Haomai Wang <haomaiwang@gmail.com>
Date: Wed Nov 26 20:37:53 2014 +0800
KineticStore: Fix compile error and add _test_init
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
commit 60e7fddf79149c4b4280079a9f0205b7f1bbc3df
Merge: 76892c3 016080d
Author: Loic Dachary <loic-201408@dachary.org>
Date: Wed Nov 26 19:24:56 2014 +0100
Merge pull request #2995 from nilamdyuti/wip-doc-ceph-disk
doc: Adds man page for ceph-disk utility.
Reviewed-by: Loic Dachary <ldachary@redhat.com>
commit 76892c3bef9f333cd3f8f7dc046b9019b5e59fcc
Merge: 5b500fa 21798f9
Author: Loic Dachary <loic-201408@dachary.org>
Date: Wed Nov 26 19:21:18 2014 +0100
Merge pull request #…
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
According to pthread_rwlock_unlock(3p):
Results are undefined if the read-write lock rwlock is not held
by the calling thread.
and:
https://sourceware.org/bugzilla/show_bug.cgi?id=17561
Calling pthread_rwlock_unlock on an rwlock which is not locked
is undefined.
calling pthread_rwlock_unlock on RWLock destruction could cause
an unknown behavior for two reasons:
Moreover since glibc-2.20 calling pthread_rwlock_unlock on a
rwlock that is not locked results in a SIGILL that kills the
application.
This patch removes the pthread_rwlock_unlock call on destruction
and replaces it with an assertion to check that the RWLock is
not in use.
Any code that relied on the implicit release is now going to
break the assertion, e.g.:
{
RWLock l;
l.get(for_write);
} // implicit release, wrong.
Signed-off-by: Federico Simoncelli fsimonce@redhat.com