]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Jason Dillaman [Wed, 15 Jun 2016 20:34:44 +0000 (16:34 -0400)]
rbd-mirror: ignore empty snapshot sequence mapping
This invalid condition will be gracefully detected and handled
when the snapshot mappings are computed.
Fixes: http://tracker.ceph.com/issues/16329
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
58ed8a18e91401333bc3f3f957ce5d715b6687b6 )
Jason Dillaman [Mon, 27 Jun 2016 17:01:13 +0000 (13:01 -0400)]
qa/workunits/rbd: remove temporary image exports
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
45498d04990861a034e2aad69a93658e018c991a )
Jason Dillaman [Mon, 27 Jun 2016 15:13:29 +0000 (11:13 -0400)]
rbd-mirror: fix potential image replayer state transition race
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
3e224c6c03a6a5de0e179bd788387cfa3ff49e9d )
Jason Dillaman [Mon, 27 Jun 2016 15:06:57 +0000 (11:06 -0400)]
rbd-mirror: cancel image deletion callback on shut down
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
c3f1cb3a34e1b4d258877d519e683e25bf65c65a )
Jason Dillaman [Mon, 27 Jun 2016 14:58:09 +0000 (10:58 -0400)]
rbd-mirror: fixed potential leaking image deletion context callback
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
9d1cd90c220f95d23d2694b4f1fb6b2fed073ced )
Jason Dillaman [Mon, 27 Jun 2016 13:45:25 +0000 (09:45 -0400)]
rbd-mirror: ImageReplayer doesn't need image deleted callback
The Replayer will detect that the ImageReplayer is stopped and will
schedule the "wait for deleted" callback before attempting to
restart the ImageReplayer.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
7e5afc71dfd3ec3e7b0ddaca96f92ac6e0414006 )
Jason Dillaman [Mon, 27 Jun 2016 13:21:05 +0000 (09:21 -0400)]
rbd-mirror: use async callback when deletion not in-progress
Fixes: http://tracker.ceph.com/issues/16491
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
c136f443366fe804057a9c1f8c01c3f0a33a4d63 )
Ricardo Dias [Thu, 9 Jun 2016 09:40:23 +0000 (10:40 +0100)]
rbd-mirror: tests: ImageSyncThrottler unit tests
Signed-off-by: Ricardo Dias <rdias@suse.com>
(cherry picked from commit
8ca9a84f36efa73ad17fd27f545dff3716cd798c )
Ricardo Dias [Wed, 8 Jun 2016 15:38:01 +0000 (16:38 +0100)]
rbd-mirror: Usage of image-sync throttler in BootstrapRequest
Fixes: http://tracker.ceph.com/issues/15239
Signed-off-by: Ricardo Dias <rdias@suse.com>
(cherry picked from commit
6a91146255d84229688bd8b378732be5975a778b )
Ricardo Dias [Wed, 8 Jun 2016 15:37:20 +0000 (16:37 +0100)]
rbd-mirror: Implementation of image-sync throttler
Signed-off-by: Ricardo Dias <rdias@suse.com>
(cherry picked from commit
c4f926d6980d1efd95771885a11d8cc4ebd2e4c3 )
Ricardo Dias [Tue, 14 Jun 2016 15:43:19 +0000 (16:43 +0100)]
rbd-mirror: tests: Support for inflight image sync point update
Signed-off-by: Ricardo Dias <rdias@suse.com>
(cherry picked from commit
cee543bd96bc99f219024aedbfafc5dcd99abb5a )
Ricardo Dias [Thu, 2 Jun 2016 09:04:41 +0000 (10:04 +0100)]
rbd-mirror: image-sync: Periodically update sync point object number
Fixes: http://tracker.ceph.com/issues/15108
Signed-off-by: Ricardo Dias <rdias@suse.com>
(cherry picked from commit
c2eedf4d27b73d7eaf3fda54f9b0ee74e455bc1d )
Ricardo Dias [Mon, 27 Jun 2016 10:07:41 +0000 (11:07 +0100)]
rbd-mirror: image-replayer: Fix bug in resync listener remotion
Fixes: http://tracker.ceph.com/issues/16488
Signed-off-by: Ricardo Dias <rdias@suse.com>
(cherry picked from commit
11a5851e90bca2c1813156bf12dda0192965db37 )
Ricardo Dias [Thu, 19 May 2016 11:06:08 +0000 (12:06 +0100)]
rbd-mirror: resync: Added unit tests
Signed-off-by: Ricardo Dias <rdias@suse.com>
(cherry picked from commit
8953825956f2a560d17c7b651d1724a95f2f7d1d )
Ricardo Dias [Thu, 12 May 2016 17:12:33 +0000 (18:12 +0100)]
rbd-mirror: image-replayer: Implementation of resync operation
Fixes: http://tracker.ceph.com/issues/15670
Signed-off-by: Ricardo Dias <rdias@suse.com>
(cherry picked from commit
f2b114238103315197a9eefc8490786c484c8520 )
Ricardo Dias [Thu, 12 May 2016 17:10:38 +0000 (18:10 +0100)]
rbd: journal: Support for listening updates on client metadata
Currently we only support listening for image resync requests.
Signed-off-by: Ricardo Dias <rdias@suse.com>
(cherry picked from commit
0dd85739e9034912b86250ced2834dd7fb3d92fd )
Ricardo Dias [Thu, 12 May 2016 17:09:09 +0000 (18:09 +0100)]
journal: Support for registering metadata listeners in the Journaler
Signed-off-by: Ricardo Dias <rdias@suse.com>
(cherry picked from commit
c535eb0399cd649371db233ee1ed01cf5441a4b3 )
Orit Wasserman [Thu, 11 Aug 2016 09:31:40 +0000 (11:31 +0200)]
Merge pull request #9790 from SUSE/wip-16381-jewel
jewel: comparing return code to ERR_NOT_MODIFIED in rgw_rest_s3.cc (needs minus sign)
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
Loic Dachary [Wed, 10 Aug 2016 11:33:12 +0000 (13:33 +0200)]
Merge pull request #10026 from SUSE/wip-16392-jewel
jewel: master: build failures with boost > 1.58
Reviewed-by: Loic Dachary <ldachary@redhat.com>
Loic Dachary [Tue, 9 Aug 2016 15:09:42 +0000 (17:09 +0200)]
Merge pull request #10625 from dachary/wip-16969-jewel
jewel: src/script/subman fails with KeyError: 'nband'
Reviewed-by: Kefu Chai <kchai@redhat.com>
Loic Dachary [Tue, 9 Aug 2016 07:13:17 +0000 (09:13 +0200)]
subman: use replace instead of format
Otherwise all {} are assumed to be substituted. Add a test.
Fixes: http://tracker.ceph.com/issues/16961
Signed-off-by: Loic Dachary <ldachary@redhat.com>
(cherry picked from commit
b006c136761746e12704e349a672325b8b6e51f5 )
Ali Maredia [Fri, 22 Apr 2016 00:32:47 +0000 (20:32 -0400)]
cmake: script that sets env vars for unit tests
Signed-off-by: Ali Maredia <amaredia@redhat.com>
(cherry picked from commit
15a669435aaa78562746f6728bb185b1e99a4274 )
Loic Dachary [Tue, 9 Aug 2016 06:41:30 +0000 (08:41 +0200)]
Merge pull request #10054 from dachary/wip-16484-jewel
jewel: ExclusiveLock object leaked when switching to snapshot
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
Loic Dachary [Tue, 9 Aug 2016 06:28:44 +0000 (08:28 +0200)]
Merge pull request #10041 from dachary/wip-16315-jewel
jewel: When journaling is enabled, a flush request shouldn't flush the cache
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Loic Dachary [Tue, 9 Aug 2016 06:27:50 +0000 (08:27 +0200)]
Merge pull request #10055 from dachary/wip-16485-jewel
jewel: Whitelist EBUSY error from snap unprotect for journal replay
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
Loic Dachary [Tue, 9 Aug 2016 06:27:22 +0000 (08:27 +0200)]
Merge pull request #10053 from dachary/wip-16483-jewel
jewel: Close journal and object map before flagging exclusive lock as released
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
Loic Dachary [Tue, 9 Aug 2016 06:27:08 +0000 (08:27 +0200)]
Merge pull request #10052 from dachary/wip-16482-jewel
jewel: Timeout sending mirroring notification shouldn't result in failure
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
Loic Dachary [Tue, 9 Aug 2016 06:26:50 +0000 (08:26 +0200)]
Merge pull request #10051 from dachary/wip-16460-jewel
jewel: Crash when utilizing advisory locking API functions
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
Loic Dachary [Tue, 9 Aug 2016 06:26:40 +0000 (08:26 +0200)]
Merge pull request #10050 from dachary/wip-16459-jewel
jewel: rbd-mirror should disable proxied maintenance ops for non-primary image
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
Loic Dachary [Tue, 9 Aug 2016 06:26:21 +0000 (08:26 +0200)]
Merge pull request #10047 from dachary/wip-16426-jewel
jewel: Possible race condition during journal transition from replay to ready
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
Loic Dachary [Tue, 9 Aug 2016 06:26:11 +0000 (08:26 +0200)]
Merge pull request #10046 from dachary/wip-16425-jewel
jewel: rbd-mirror: potential race condition accessing local image journal
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
Loic Dachary [Tue, 9 Aug 2016 06:26:00 +0000 (08:26 +0200)]
Merge pull request #10045 from dachary/wip-16424-jewel
jewel: Journal needs to handle duplicate maintenance op tids
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
Loic Dachary [Tue, 9 Aug 2016 06:25:48 +0000 (08:25 +0200)]
Merge pull request #10044 from dachary/wip-16423-jewel
jewel: Journal duplicate op detection can cause lockdep error
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
Loic Dachary [Tue, 9 Aug 2016 06:25:35 +0000 (08:25 +0200)]
Merge pull request #10043 from dachary/wip-16371-jewel
jewel: rbd-mirror: ensure replay status formatter has completed before stopping replay
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
Loic Dachary [Tue, 9 Aug 2016 06:25:11 +0000 (08:25 +0200)]
Merge pull request #10042 from dachary/wip-16372-jewel
jewel: Unable to disable journaling feature if in unexpected mirror state
Loic Dachary [Tue, 9 Aug 2016 06:24:55 +0000 (08:24 +0200)]
Merge pull request #10010 from dachary/wip-16486-jewel
jewel: Object map/fast-diff invalidated if journal replays the same snap remove event
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
Loic Dachary [Tue, 9 Aug 2016 06:24:38 +0000 (08:24 +0200)]
Merge pull request #10009 from dachary/wip-16514-jewel
jewel: Image removal doesn't necessarily clean up all rbd_mirroring entries
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
Loic Dachary [Mon, 8 Aug 2016 06:47:34 +0000 (08:47 +0200)]
Merge pull request #9952 from dillaman/wip-fix-use-after-free-jewel
jewel: librbd: potential use after free on refresh error
Reviewed-by: Loic Dachary <ldachary@redhat.com>
Loic Dachary [Mon, 8 Aug 2016 06:45:58 +0000 (08:45 +0200)]
Merge pull request #9752 from dillaman/wip-fix-task-finisher-jewel
jewel: librbd: cancel all tasks should wait until finisher is done
Reviewed-by: Loic Dachary <ldachary@redhat.com>
David Zafman [Fri, 5 Aug 2016 19:46:10 +0000 (12:46 -0700)]
Merge pull request #10561 from dzafman/wip-16672-jewel
Reviewed-by: Samuel Just <sjust@redhat.com>
Loic Dachary [Fri, 5 Aug 2016 13:30:52 +0000 (15:30 +0200)]
Merge pull request #9562 from Abhishekvrshny/wip-16152-jewel
jewel: client: fstat cap release
Reviewed-by: John Spray <john.spray@redhat.com>
Loic Dachary [Fri, 5 Aug 2016 13:30:41 +0000 (15:30 +0200)]
Merge pull request #9561 from Abhishekvrshny/wip-16136-jewel
jewel: MDSMonitor fixes
Reviewed-by: John Spray <john.spray@redhat.com>
Loic Dachary [Fri, 5 Aug 2016 13:29:33 +0000 (15:29 +0200)]
Merge pull request #9557 from Abhishekvrshny/wip-15898-jewel
jewel: Confusing MDS log message when shut down with stalled journaler reads
Reviewed-by: John Spray <john.spray@redhat.com>
Loic Dachary [Fri, 5 Aug 2016 13:29:23 +0000 (15:29 +0200)]
Merge pull request #9560 from Abhishekvrshny/wip-16135-jewel
jewel: MDS: fix getattr starve setattr
Reviewed-by: John Spray <john.spray@redhat.com>
Loic Dachary [Fri, 5 Aug 2016 13:29:08 +0000 (15:29 +0200)]
Merge pull request #9559 from Abhishekvrshny/wip-16041-jewel
jewel: mds/StrayManager.cc: 520: FAILED assert(dnl->is_primary())
Reviewed-by: John Spray <john.spray@redhat.com>
Loic Dachary [Fri, 5 Aug 2016 13:17:22 +0000 (15:17 +0200)]
Merge pull request #9996 from dachary/wip-16437-jewel
jewel: async messenger mon crash
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Haomai Wang <haomai@xsky.com>
Loic Dachary [Fri, 5 Aug 2016 13:10:27 +0000 (15:10 +0200)]
Merge pull request #9997 from dachary/wip-16431-jewel
jewel: librados,osd: bad flags can crash the osd
Reviewed-by: Samuel Just <sjust@redhat.com>
Loic Dachary [Fri, 5 Aug 2016 13:10:08 +0000 (15:10 +0200)]
Merge pull request #9998 from dachary/wip-16429-jewel
jewel: OSDMonitor: drop pg temps from not the current primary
Reviewed-by: Samuel Just <sjust@redhat.com>
Loic Dachary [Fri, 5 Aug 2016 13:09:52 +0000 (15:09 +0200)]
Merge pull request #10001 from dachary/wip-16427-jewel
jewel: prepare_pgtemp needs to only update up_thru if newer than the existing one
Reviewed-by: Samuel Just <sjust@redhat.com>
Casey Bodley [Fri, 5 Aug 2016 13:09:23 +0000 (09:09 -0400)]
Merge pull request #9743 from vumrao/wip-vumrao-16339
jewel : rgw: support size suffixes for --max-size in radosgw-admin command
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Loic Dachary [Thu, 4 Aug 2016 12:45:05 +0000 (14:45 +0200)]
Merge pull request #10007 from dachary/wip-15806-jewel
jewel: New pools have bogus stuck inactive/unclean HEALTH_ERR messages until they are first active and clean
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Loic Dachary [Thu, 4 Aug 2016 12:43:36 +0000 (14:43 +0200)]
Merge pull request #10006 from dachary/wip-16249-jewel
jewel: sparse_read on ec pool should return extends with correct offset
Reviewed-by: Kefu Chai <kchai@redhat.com>
Loic Dachary [Thu, 4 Aug 2016 12:43:22 +0000 (14:43 +0200)]
Merge pull request #9740 from vumrao/wip-vumrao-16338
jewel : rados: Add cleanup message with time to rados bench output
Reviewed-by: Kefu Chai <kchai@redhat.com>
Loic Dachary [Thu, 4 Aug 2016 12:42:53 +0000 (14:42 +0200)]
Merge pull request #10004 from dachary/wip-16374-jewel
jewel: AsyncConnection::lockmsg/async lockdep cycle: AsyncMessenger::lock, MDSDaemon::mds_lock, AsyncConnection::lock
Reviewed-by: Haomai Wang <haomai@xsky.com>
Loic Dachary [Thu, 4 Aug 2016 12:42:32 +0000 (14:42 +0200)]
Merge pull request #10003 from dachary/wip-16380-jewel
jewel: msg/async: connection race hang
Reviewed-by: Haomai Wang <haomai@xsky.com>
Loic Dachary [Thu, 4 Aug 2016 10:35:14 +0000 (12:35 +0200)]
Merge pull request #10036 from liewegas/wip-16297-jewel
mon: Monitor: validate prefix on handle_command()
Reviewed-by: Loic Dachary <ldachary@redhat.com>
Loic Dachary [Thu, 4 Aug 2016 07:53:10 +0000 (09:53 +0200)]
Merge pull request #9547 from jcsp/wip-jewel-15705
jewel backport: mds: fix mdsmap print_summary with standby replays
Reviewed-by: Loic Dachary <ldachary@redhat.com>
David Zafman [Wed, 3 Aug 2016 05:32:02 +0000 (22:32 -0700)]
os: Fix HashIndex::recursive_remove() to remove everything but original path
Fixes: http://tracker.ceph.com/issues/16672
Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit
ba88a3aac0d3b620986e32ed718237513d6592f6 )
David Zafman [Wed, 3 Aug 2016 06:26:41 +0000 (23:26 -0700)]
filestore: Clear objects before calling collection_list() again
Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit
892303cd02b64b622669183c2acffcdd7a8f3547 )
David Zafman [Wed, 3 Aug 2016 06:24:12 +0000 (23:24 -0700)]
filestore: Improve logging
Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit
b78c457785553e3a6e4f901bfebb41fc9c4d9bd5 )
Casey Bodley [Tue, 2 Aug 2016 14:28:00 +0000 (10:28 -0400)]
Merge pull request #10293 from theanalyst/wip-16589-jewel
jewel: multisite sync races with deletes
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
John Spray [Tue, 2 Aug 2016 11:31:18 +0000 (12:31 +0100)]
Merge pull request #10453 from ajarr/wip-manila-backports-jewel
jewel: essential backports for OpenStack Manila
Reviewed-by: John Spray <john.spray@redhat.com>
Ramana Raja [Thu, 7 Jul 2016 11:45:13 +0000 (17:15 +0530)]
ceph_volume_client: version on-disk metadata
Version on-disk metadata with two attributes,
'compat version', the minimum CephFSVolume Client
version that can decode the metadata, and
'version', the version that encoded the metadata.
Signed-off-by: Ramana Raja <rraja@redhat.com>
(cherry picked from commit
1c1d65a45f4574ca5f33cc9d949089a5c956e363 )
Ramana Raja [Wed, 6 Jul 2016 10:03:06 +0000 (15:33 +0530)]
ceph_volume_client: add versioning
Add class attributes to CephFSVolumeClient to version
its capabilities.
'version' attribute stores the current version number
of CephFSVolumeClient.
'compat_version' attribute stores the earliest version
number of CephFSVolumeClient that the current version is
compatible with.
Fixes: http://tracker.ceph.com/issues/15406
Signed-off-by: Ramana Raja <rraja@redhat.com>
(cherry picked from commit
46876fb2ceb22082c0a1703fe77ad1694b508ad8 )
Ramana Raja [Thu, 23 Jun 2016 17:52:12 +0000 (23:22 +0530)]
ceph_volume_client: disallow tenants to share auth IDs
Restrict an auth ID to a single OpenStack tenant to enforce
strong tenant isolation of shares.
Signed-off-by: Ramana Raja <rraja@redhat.com>
(cherry picked from commit
82445a20a258a4c8800f273dc5f2484aace0e413 )
Ramana Raja [Thu, 23 Jun 2016 11:41:33 +0000 (17:11 +0530)]
ceph_volume_client: cleanup auth meta files
Remove auth meta files on last rule for an auth ID deletion
Signed-off-by: Ramana Raja <rraja@redhat.com>
(cherry picked from commit
ec2e6e37d01c961d269d83661d0b95ada6a8449e )
Ramana Raja [Thu, 23 Jun 2016 11:25:30 +0000 (16:55 +0530)]
ceph_volume_client: fix log messages
Log the path of the volume during creation and deletion of volumes.
Signed-off-by: Ramana Raja <rraja@redhat.com>
(cherry picked from commit
7731287761f91e1fdee0e6306d9ecf9b04ad363c )
Ramana Raja [Thu, 23 Jun 2016 11:01:23 +0000 (16:31 +0530)]
ceph_volume_client: create/delete VMeta for create/delete volume
Create and delete volume meta files during creation and deletion of
volumes.
Signed-off-by: Ramana Raja <rraja@redhat.com>
(cherry picked from commit
37fbfc7aa8f10d37f5202603a906425507271ff5 )
Ramana Raja [Thu, 23 Jun 2016 10:36:53 +0000 (16:06 +0530)]
ceph_volume_client: modify locking of meta files
File locks are applied on meta files before updating the meta
file contents. These meta files would need to be cleaned up
sometime, which could lead to locks being held on unlinked meta
files. Prevent this by checking whether the file had been deleted
after lock was acquired on it.
Signed-off-by: Ramana Raja <rraja@redhat.com>
(cherry picked from commit
f7c037229bcf3f5a3d06897ec7fe0c5419dd7143 )
Ramana Raja [Thu, 23 Jun 2016 12:09:32 +0000 (17:39 +0530)]
cephfs.pyx: implement python bindings for fstat
Signed-off-by: Ramana Raja <rraja@redhat.com>
(cherry picked from commit
f58403f3d19e22edeb8f91b6f87a0b7947b0ff21 )
Ramana Raja [Wed, 8 Jun 2016 11:27:01 +0000 (16:57 +0530)]
ceph_volume_client: restrict volume group names
Prevent craftily-named volume groups from colliding with meta files.
Signed-off-by: Ramana Raja <rraja@redhat.com>
(cherry picked from commit
7f7d2a76ae9b556c1de418f0eab8461c538f91d9 )
Ramana Raja [Wed, 8 Jun 2016 11:04:56 +0000 (16:34 +0530)]
ceph_volume_client: use fsync instead of syncfs
Signed-off-by: Ramana Raja <rraja@redhat.com>
(cherry picked from commit
27eb51baab4cda6b385aef53fc7c3962a9debae5 )
Xiaoxi Chen [Fri, 29 Apr 2016 19:47:42 +0000 (14:47 -0500)]
pybind: expose fsync in cephfs binding.
So we don't necessary to syncfs when want to persistent
some file.
Signed-off-by: Xiaoxi Chen <xiaoxchen@ebay.com>
(cherry picked from commit
1c952fbaf0fd393ef2dcb83a3db721a077b4274e )
Ramana Raja [Tue, 7 Jun 2016 19:12:18 +0000 (00:42 +0530)]
ceph_volume_client: recover from dirty auth and auth meta updates
Check dirty flag after locking something and call recover() if we are
opening something dirty (racing with another instance of the driver
restarting after failure) -- only required if someone running multiple
manila-share instances with Ceph loaded.
Signed-off-by: Ramana Raja <rraja@redhat.com>
(cherry picked from commit
647a2447f0c4354dc21d1083043591d2b6f6f94f )
Ramana Raja [Tue, 21 Jun 2016 06:44:56 +0000 (12:14 +0530)]
ceph_volume_client: modify data layout in meta files
Notable changes to data layout in auth meta and volume meta files:
In the auth meta files, add a 'dirty' flag to track the status of auth
updates to a single volume.
In the volume meta file, make the 'dirty' flag track the status of
auth updates for a single ID.
Optimize the recovery of partial auth update changes to auth meta,
volume meta, and the Ceph backend, facilitated by changes in the
data layout in the meta files.
Signed-off-by: Ramana Raja <rraja@redhat.com>
(cherry picked from commit
7c8a28a7e817d030a4d419b0cc627c30c1064270 )
John Spray [Wed, 2 Mar 2016 12:30:45 +0000 (12:30 +0000)]
pybind: ceph_volume_client authentication metadata
Store a two-way mapping between auth IDs and volumes.
Enables us to record some metadata on auth ids (which
openstack tenant created it) so that we can avoid exposing
keys to other tenants who try to use the same ceph
auth id.
Enables us to expose the list of which auth ids have access
to a volume, so that Manila's update_access() can be
implemented efficiently.
DNM: see TODOs inline.
Fixes: http://tracker.ceph.com/issues/15615
Signed-off-by: John Spray <john.spray@redhat.com>
(cherry picked from commit
d2e9eb55ca6ed5daa094cf323faf143615b9380b )
John Spray [Mon, 7 Mar 2016 13:06:41 +0000 (13:06 +0000)]
pybind: enable integer flags to libcephfs open
The 'rw+' style flags are handy and convenient, but
they don't capture all possibilities. Change to
optionally accept an integer here for advance users
who want to specify arbitrary combinations of
flags.
Signed-off-by: John Spray <john.spray@redhat.com>
(cherry picked from commit
5678584f4176d07301acd7f57acc4efd7fb20e43 )
Ramana Raja [Wed, 27 Apr 2016 17:56:44 +0000 (23:26 +0530)]
ceph_volume_client: allow read-only authorization for volumes
Allow clients to be restricted to read-only mount of the volume
by restricting their ceph auth ID's MDS and OSD caps to read-only.
Fixes: http://tracker.ceph.com/issues/15614
Signed-off-by: Ramana Raja <rraja@redhat.com>
(cherry picked from commit
011ea5e7fb35ee07848e0c3abac24702a778ad63 )
John Spray [Thu, 21 Jul 2016 12:58:16 +0000 (13:58 +0100)]
Merge pull request #10373 from ceph/jewel-mds-snap-failover
Jewel mds snap failover
Reviewed-by: John Spray <john.spray@redhat.com>
Yan, Zheng [Mon, 11 Jul 2016 07:32:41 +0000 (15:32 +0800)]
client: fix MetaRequest::set_other_inode()
Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit
265f96bda7e106883063f074133450ce39ee262c )
Yan, Zheng [Mon, 11 Jul 2016 03:25:37 +0000 (11:25 +0800)]
client: close directory's snapdir when deleting directory
Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit
3099cabd11a16d22c6707631861bef0aa176ed02 )
Yan, Zheng [Mon, 11 Jul 2016 03:07:01 +0000 (11:07 +0800)]
client: invalidate snap inodes after removing snapshot
Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit
f180ad149ab510626fcd6cbd8221f550f9858126 )
Yan, Zheng [Mon, 11 Jul 2016 02:51:13 +0000 (10:51 +0800)]
mds: fix incorrect "unconnected snaprealm xxx" warning
If a snaprealm has no child/parent snaprelam, and the snaprealm inode
is not in the cache while client reconnects. The snaprealm does not
get properly removed from MDCache::reconnected_snaplrealm. This causes
incorrect "unconnected snaprealm xxx" warning
Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit
85e687de876ca7e0174734ba81130949c4ab6a40 )
Yan, Zheng [Thu, 30 Jun 2016 08:05:57 +0000 (16:05 +0800)]
qa/workunits/fs: fix expect_failure function in test scripts
The origin expect_failure function return 0 regardness of command's
return value.
Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit
16f7d7c71e65cd68cecde3e5b89d189ab5950548 )
Yan, Zheng [Wed, 29 Jun 2016 12:49:40 +0000 (20:49 +0800)]
client: make sure snapflush is sent before normal cap message
MDS does null snapflush when it receives normal cap message. So client
must send snapflush first.
Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit
d3916717e2edc8000400f678fa7134ca1406a074 )
Yan, Zheng [Tue, 28 Jun 2016 12:39:08 +0000 (20:39 +0800)]
client: unify cap flush and snapcap flush
This patch includes following changes
- assign flush tid to snapcap flush
- remove session's flushing_capsnaps list. add inode with snapcap
flushes to session's flushing_caps list instead.
- when reconnecting to MDS, re-send one inode's snapcap flushes and
cap flushes at the same time.
Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit
a05e996b2a2c36496abd8538829ac4897392f6eb )
Yan, Zheng [Wed, 29 Jun 2016 09:15:01 +0000 (17:15 +0800)]
mds: handle partly purged directory
For a snapshoted direcotry whose snaprealm parents are being opened,
MDS does not know if the directory is purgeable. So MDS can't skip
committing dirfrags of the directory. But if the direcotry is purgeale,
some dirfrags could have already been deleted during MDS failover.
Committing them could return -ENOENT.
Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit
bc50e0309280c08c3ca79dfa5514ac3a15f81a23 )
Yan, Zheng [Wed, 29 Jun 2016 03:42:42 +0000 (11:42 +0800)]
mds: do files recovery after processing cap flushes
File recovery may update inode and trigger inode COW. MDS relies on
client caps to setup CInode::client_need_snapflush. But for a given
client, the reconnected caps may not include the flushing caps.
(Before MDS failover, client released and flushed some caps at the
same time. When MDS recovers, client re-send the cap flush and send
cap reconnect to the MDS.) This may cause later snapflush to get
dropped.
Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit
dd98448d3d0bbb7d338f03f7ad1e40f217eebe0d )
Yan, Zheng [Wed, 29 Jun 2016 03:25:12 +0000 (11:25 +0800)]
mds: combine MDCache::{reconnected_caps,cap_imports_dirty}
Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit
57067e032e84bbdb69c499aa7ea93ca68082569b )
Yan, Zheng [Fri, 24 Jun 2016 09:09:34 +0000 (17:09 +0800)]
mds: remove CEPH_LOCK_IFLOCKL from cinode_lock_info
Currently we don't support dirty CEPH_CAP_FLOCK_EXCL
Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit
cfc3ec17b6f245e6d8a0be4fdf6cfa64d2fb725f )
Yan, Zheng [Thu, 23 Jun 2016 08:59:46 +0000 (16:59 +0800)]
mds: rebuild the internal states that tracking pending snapflush
Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit
1b7d198f633a8608b704f82f01a3f4a4a3a4892b )
Yan, Zheng [Wed, 22 Jun 2016 12:34:41 +0000 (20:34 +0800)]
mds: using cap_reconnect_t to track cap recconect
Previous commit extended cap_reconnect_t to include snapflush
related information. This information are needed in various
places
Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit
25b6011dcf07c1fc663cbe29ffd119b66545a0ac )
Yan, Zheng [Wed, 22 Jun 2016 07:56:29 +0000 (15:56 +0800)]
mds: add 'follows' of first pending snapflush to cap reconnect message
This helps the recovering MDS to reconstruct the internal states that
tracking pending snapflush.
Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit
dd3963a878d4bb2fb5992278ccbc9f7633fb8786 )
Yan, Zheng [Tue, 21 Jun 2016 09:17:56 +0000 (17:17 +0800)]
mds: journal snap inodes that need flush when expiring log segment
Treat snap inodes that need flush in the same way as open files.
When MDS recovers, this make sure that journal replay bring snap
inodes that need flush into the cache
Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit
306153b3d012832bdfa20402077fa60a9a5d626c )
Yan, Zheng [Tue, 21 Jun 2016 08:20:58 +0000 (16:20 +0800)]
mds: properly update client_snap_caps when splitting snap inode
update the new snap inode's client_snap_caps according to the old
snap inode.
Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit
4883779935219817c7e391940a025be1679daeb5 )
Oleh Prypin [Wed, 13 Jul 2016 22:06:51 +0000 (01:06 +0300)]
install-deps: Get the latest virtualenv in a temporary folder
to work around a bug in old virtualenv
Signed-off-by: Oleh Prypin <oleh@pryp.in>
(cherry picked from commit
2699b6d89b8c1c193fd86b5233d1ea86458753a0 )
Patrick Donnelly [Thu, 14 Jul 2016 16:10:11 +0000 (12:10 -0400)]
Merge remote-tracking branch 'upstream/pull/10298/head' into jewel
* upstream/pull/10298/head:
doc: fix standby replay config
Patrick Donnelly [Tue, 12 Jul 2016 19:43:23 +0000 (15:43 -0400)]
doc: fix standby replay config
I tried using these settings in tests without success. The correct config names
are prefixed with "mds".
Fixes: http://tracker.ceph.com/issues/16664
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Casey Bodley [Tue, 21 Jun 2016 19:09:53 +0000 (15:09 -0400)]
rgw: add pg_ver to tombstone_cache
a tombstone cache was added to remember the mtime of deleted objects for
use with the HTTP_IF_MODIFIED_SINCE header, but the comparison was still
failing because of a missing pg_ver. added pg_ver to the tombstone cache
so it can be passed with HTTP_DEST_PG_VER
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit
adb529f2fb983df671a1db58a0b17862a29762f0 )
Yehuda Sadeh [Fri, 10 Jun 2016 21:35:01 +0000 (14:35 -0700)]
rgw: add obj tombstone cache
The obj tombstone cache is used in multi-zone environmet to keep
track of removed objects' mtime. This is then used to fetch remote
object only if its newer than the object that was removed, otherwise
we're just fetching ghost of the past.
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit
eb10214920c23b24edd94ca53d0f36c85404644d )