Commit Graph

49 Commits

Author SHA1 Message Date
Hanqing Wu d1ec5b826f Merge branch 'fs' 2022-01-12 23:37:43 +08:00
Hanqing Wu 5f5220c618 curve: support block storage open multiple times
support block storage open multiple times
e.g., a single file/image can be mapped multiple times on different hosts by
curve-nbd with extra option `--no-exclusive'

limitations:
1. provided as a shared disk/device WITHOUT data consistent guarantee,
   so it's users' responsibility to deal with this problem.
2. each file/image can only open once on each host.
2021-12-23 17:19:52 +08:00
wuhanqing dbb54a1468 curve: add compile warning/error options 2021-11-22 22:04:55 +08:00
lixiaocui1 93b83a4c51 curvefs/client: add rpc retry policy and adapt to HA for mdsclient and metaserver client 2021-09-09 17:48:50 +08:00
Hanqing Wu fbefdb023c client: fix segment fault in SourceReader
After #172 and #209, source volume data of the clone volume
can be read within the client through SourceReader, and each
source volume was also opened and represented by a FileInstance,
but `FileInstance::mdsclient_` points to `FileClient::mdsClient_`,
so after FileClient is destroyed, `FileInstance::mdsclient_`
becomes dangling pointer.

To fix this problem, we let `FileClient::mdsClient_` be a shared_ptr,
and each FileInstance holds ownership of it.

Signed-off-by: Hanqing Wu <wuhanqing@corp.netease.com>
2021-05-24 19:36:35 +08:00
baijiaruo 70ff82df05 client/mds: merge stripe feature and unit test 2021-02-05 11:38:18 +08:00
wuhanqing 4747da164e mds: check file in-use when Delete/Rename/ChangeOwner 2021-01-18 20:12:20 +08:00
wuhanqing 1f1a2bac2a optimize curve-client 2020-09-23 22:20:02 +08:00
wuhanqing d98a59d7f1 zeroize memory copy
Change-Id: I2d389b24446623e8f639642a2b354120f20dbe56
2020-09-23 15:00:49 +08:00
qinyi 7256b5d9e9 add License head for all files
Change-Id: Ifa79d743db3cf053027265484f26cacc656b2e14
2020-07-13 15:20:43 +08:00
wuhanqing f32cf7767d client注册逻辑修改
Change-Id: I0e0ca0668eb7448ce9285e3567bd132051e79c07
2020-04-29 16:15:23 +08:00
wuhanqing 721ec0adc7 client补充metric
Change-Id: I2c414d9a7a5cfa0c3715e49dc7f2abab4cf4cab5
2020-04-24 15:18:00 +08:00
wuhanqing 2f89211ae4 update get leader policy
Change-Id: I5f019885fd50e4ccdbaf92875449f6592d8fb93d
2020-04-07 19:42:37 +08:00
wuhanqing 3d37983b4d remove session
Change-Id: I34f01dacf4509de8dfaff9fb351b2310e0bf316d
2020-03-17 15:37:24 +08:00
wuhanqing 2212a2c158 针对整机宕机优化
Change-Id: I9cfa9c462284ea2d82dd076b82150e54da8ffcd2
2020-02-21 18:01:56 +08:00
wuhanqing 5a79e71748 fix reopen missing filename
Change-Id: Ia1f5a24014e0e5bbabfe5fa862db42f4d04e97da
2020-02-21 16:32:03 +08:00
wuhanqing ba964913ba client reopen with session
Change-Id: I4a5935097eed66114499e7fc837588ab9b351222
2020-02-12 20:56:25 +08:00
wuhanqing 401f5e9c82 fix ut segv error
Change-Id: Id17b826bd09902559e5f41263a1fbeadd29c2976
2020-01-10 13:35:20 +08:00
wuhanqing a09726ffe4 fix: CLDCFS-2147
Change-Id: I98843f842493f8f5a9bd396949e581dedcd01b62
2019-12-27 18:06:27 +08:00
tongguangxun 49e427e89a 调整mdsclient rpc重试逻辑
Change-Id: Ic972311db94d7166199ba44866f1d93cdd7a4ee7
2019-12-20 19:37:50 +08:00
wuhanqing c0b835c2db 重置LeaderMayChange Copyset请求的超时时间
Change-Id: I61f77fa65c5e354d7949c8f489f23d04c9e3030d
2019-12-12 17:30:11 +08:00
吴汉卿 c8b38e21d1 add GetClusterId interface
Change-Id: I7c64f97d660f1e1adb7f387844e25940e9b5b635
2019-12-02 20:51:34 +08:00
wuhanqing 079f9e525d [client] 增加单元测试覆盖率
Change-Id: Ic611bc2a089dea187f808177dca443a4fc627c43
2019-11-28 16:28:50 +08:00
李小翠 df3eb4da9b Revert "Merge branch 'feature-snapshot' into feature"
This reverts commit fc1ebeeadc.

Change-Id: Iff9836631928f41a541d9400f460182bf64e9c45
2019-11-26 15:09:43 +08:00
xuchaojie 139ff82643 Merge branch 'feature-snapshot' into feature
Change-Id: Id1c4e5f3724c42a5c61aa0ebbe69290d7ad18117
2019-11-25 23:06:46 +08:00
tongguangxun 55cd171e41 fix client test case fail
Change-Id: Ib9999095b888a772b270b69a5786e255a118cfd7
2019-11-18 17:21:03 +08:00
xuchaojie 46009624ce Merge branch 'feature' into feature-snapshot
Change-Id: Ida57d0a2ad44e8a33bebe41425433a787b1c0015
2019-11-06 10:27:58 +08:00
xuchaojie a70a58c282 Merge branch 'feature' into feature-snapshot
Change-Id: Ib023978ef38263d9664dd1f77adf709f8536dce0
2019-11-04 16:54:22 +08:00
吴汉卿 fcea53d08d [client] optimize for unstable chunkserver
Change-Id: I5894c102e654e6923e612468ad4d43d5b9c4421c
2019-11-03 20:48:13 +08:00
吴汉卿 c975335ed4 turn on glog
Change-Id: I6c4c3cd8d00631261cfdfd4dfb9660682076aacd
2019-11-02 17:06:34 +08:00
吴汉卿 d590f4fcda add GetClusterId interface
Change-Id: I6a8d676260b37277ccbd882ae7962a34169f6c5e
2019-10-16 17:20:23 +08:00
tongguangxun 113b0a9b3a [client] add open interface for multi open
Change-Id: I832fdff7a3406e6b24dad7e00327cf901b0a98c4
2019-08-22 17:24:58 +08:00
tongguangxun 91c53a92c2 [client] refresh session支持多mds server
Change-Id: Id295ae15f3e6b22468eaf45e9caeb4012288c433
2019-07-26 11:08:42 +08:00
tongguangxun 4eb07da4a1 [client] add metric register
Change-Id: I05f2ba70b3eac6962be7441db49046956a5b3497
2019-07-17 23:52:58 +08:00
tongguangxun 24bdbd83c4 [cient] add rpc inflight control and stop retry when session not valid
Change-Id: Iee2b7d2f40b730f56bcf9c1c3c44bcc6a69c4def
2019-07-17 14:38:23 +08:00
tongguangxun 703a86ba8e [client] add get leader for unstable chunkserver
Change-Id: Idd1968236336e8a0f38a607d8aea38ffe0d8f8a9
2019-07-16 19:59:43 +08:00
tongguangxun dc5d7e6152 [client] add task thread for aio
Change-Id: I7c9803ca7d64cfe7b5faf2b8bb3827d7c7df2942
2019-07-11 13:35:42 +08:00
tongguangxun 2beb7a30d4 add client test concurrent support
Change-Id: Ib95fd03c660b52ad98a1590a3dfdce01ab63422f
2019-06-11 16:30:29 +08:00
tongguangxun 924963f975 add inflight io control
Change-Id: I1bc85d8f9f40d07ab9331c35a0bc332758ca80ed
2019-05-30 19:10:28 +08:00
tongguangxun be09b3b3fc add libcurve interface support
Change-Id: I04c13832869d788ae9a535b24e7030d032cb0eb1
2019-05-07 19:01:24 +08:00
tongguangxun 1ccc0aba32 add io aligned check
Change-Id: I54ebdec9d50984251d69a1c92d3a0616ad8f2e32
2019-04-30 14:59:29 +08:00
tongguangxun 61882af829 修复get leader时导致的IO抖动问题
Change-Id: I2f975eb63cb0bd9d6722269e77427eaf50fdb72e
2019-04-23 09:58:28 +08:00
tongguangxun b86e6b2a0e add clone system client support
Change-Id: I9a24e78a53ecf78e444f696218c305c2b336f87c
2019-04-03 21:34:37 +08:00
陈威 125e7d0511 user系统
add curve client user info
add userinfo
Change-Id: I11679257b5c47870a51dda99ff10c549f701a7c8
2019-03-21 16:29:34 +08:00
tongguangxun 9cada02da7 add client integrated for snapshot
Change-Id: If4138a7ae7550583b77491c8e8cbf18f20298ab1
2019-03-04 18:41:23 +08:00
tongguangxun 48c9cb0a2f add client applied index support
Change-Id: Ia1dcff41fae625c01fb232eef1c6ec70e3d50132
2018-11-27 10:54:23 +08:00
tongguangxun 0f0eed904f add some test cases
Change-Id: I4cd70d596c4260d2cca8e7f7783c7146c9fc2019
2018-10-25 17:08:04 +08:00
Wenyu Zhou c676ee72fc A couple of bugfixes, debugging codes and tunning in cross-components debugging
Change-Id: I9685fd188e9ee2dd56f479ba2551de43b0c3cc5c
2018-10-24 11:26:19 +08:00
tongguangxun 817cb92ecc add iosplit/metacache/session/libcurve
Change-Id: I155ab8be5a2ac6f0192cc7d9e9bb1a011b53523e
2018-10-19 13:05:41 +08:00