Noah Watkins
1cbeb759e2
Merge pull request #22 from david-z/wip-fix-list-lockers-crash
...
Fix rbd list lockers crashing
2016-05-20 07:34:18 -07:00
Noah Watkins
62e94854a4
Merge pull request #19 from abligh/fix-read-at-write-at-race
...
Replace ReadAt and WriteAt with thread-safe versions
2016-05-20 07:34:10 -07:00
Noah Watkins
e42fd909d4
Merge pull request #17 from ralfonso/ralfonso/list-children-fix
...
continue after -ERANGE in retval of rbd_list_children
2016-05-20 07:29:19 -07:00
Zhi Zhang
b68bd88243
Fix rbd list lockers crashing
...
Signed-off-by: Zhi Zhang <zhangz.david@outlook.com>
2016-05-20 17:26:29 +08:00
Alex Bligh
38c3c12b50
Replace ReadAt and WriteAt with thread-safe versions
...
ReadAt and WriteAt should not rely on image.offset as this
prevents the from working in a thread-safe manner.
Signed-off-by: Alex Bligh <alex@alex.org.uk>
2016-04-29 14:36:01 +01:00
Ryan Roemmich
777d9c72ab
continue after -ERANGE in retval of rbd_list_children. fix out of range on zero children
2016-04-05 10:23:09 -06:00
Noah Watkins
29d1ad9394
ioctx: fix integer cast
...
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2016-03-26 11:54:51 -07:00
Noah Watkins
8c0703f5e2
Merge remote-tracking branch 'origin/pr/15'
2016-03-26 11:52:02 -07:00
Noah Watkins
b6a7e80009
Merge remote-tracking branch 'origin/pr/14'
2016-03-26 11:49:28 -07:00
Noah Watkins
a82279dba8
Merge remote-tracking branch 'origin/pr/13'
2016-03-26 11:44:42 -07:00
Noah Watkins
b417966b36
Merge remote-tracking branch 'origin/pr/11'
2016-03-26 11:33:22 -07:00
Livio Soares
3d88c03e6e
rados: Change RadoError Error() interface to provide meaningful string, even for non-default cases GetRadosError().
...
I got a "rados: ret=-22" message as part of call I made. I'm a bit rusty with my
C stderror codes, which made the error a bit unhelpful.
This commit makes this particular error come out as "rados: invalid argument",
even if we don't need to explicitly create a Rados error variable for invalid
argument case. It does so by using C.strerror().
A further change is that with this, we do not need to explicitly code
RadosErrorNotFound and RadosErrorPermissionsDenied using a different error type
thank RadosError.
2016-03-26 11:50:03 -04:00
Livio Soares
f74dc6c3c6
rados: Use GetRadosError() in lieu of RadosError() so as to guarantee the translation of error codes into rados errors where applicable.
...
This commit fixes the TestObjectStat() case where a non existing object name is
tested for existance.
2016-03-25 00:59:18 -04:00
Livio Soares
57195e64fe
rados_test.go: Improve Stat() test for non existant object name.
...
The test currently fails since 'RadosErrorNotFound' is not properly returned.
2016-03-25 00:58:11 -04:00
Livio Soares
d5b49dd4ea
rados_test.go: Fix import header to allow `gofmt` to work.
2016-03-25 00:57:23 -04:00
Livio Soares
46f5d61aba
Namespace support for Pools.
...
This commit simply adds a SetNamespace() method to IOContext, allowing users to
perform pool operations in the context of a specific namespace.
2016-03-25 00:42:49 -04:00
Livio Soares
2d33c55c6b
rados: Fix iterator memory allocation; allocating a c_entry is not necessary and performed directly by the library.
2016-03-25 00:08:28 -04:00
Livio Soares
373a3043d7
rados: Implement Iter() interface to allow incremental listing of Pools.
...
The current IOContext struct has a ListObjects() method that works well for
pools with a reasonable number of objects. However, for very large pools, having
finer control over the iteration may be desirable.
This commit adds a new Iter() interface for pools. It allows callers to stop
iterating at any time by issuing a iter.Close(). It also allows callers to
"Seek" into the pool list using a token object.
2016-03-24 23:18:07 -04:00
Livio Soares
74d77ff49b
Fix rados.GetRadosError() interface to allow package-external use.
...
In Go, the "C" package is a special type of package that creates local symbols
names (non exportable) to the importing package. The result, in the case of
rados.GetRadosError() is that trying to use results in:
cannot use cerr (type C.int) as type rados.C.int in argument to rados.GetRadosError
It seems that "C.int" within 'rados' namespace produces a symbol of the type
`_Ctype_int`, which given it's first character `_` is not exported. As such, we
have the type being defined as `rados._Ctype_int`, which is not accessible
outside of the rados package.
This commit changes the interface to use the native Go `int` type.
2016-03-24 22:37:52 -04:00
Livio Soares
6f8cc46f47
rados/conn: Fix passing of Go allocated pointer to CGO function in MonCommand(), which panics Go 1.6.
...
Addresses issue #10 .
2016-03-24 22:13:09 -04:00
Livio Soares
5133b0eaa2
Dockerfile: upgrade Go from 1.3 to 1.6.
2016-03-24 22:08:55 -04:00
Crazykev
ee740834a2
add param 'order' to Create() and Image.Clone(), and upgrade ci ceph version to hammer
...
Signed-off-by: Crazykev <crazykev@zju.edu.cn>
2016-03-03 21:59:09 -05:00
Noah Watkins
0e703bba9c
Merge branch 'append'
...
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2015-10-30 13:05:21 -07:00
Emmet Cassidy
f251b539c3
added append function and a test
2015-10-28 09:25:11 -07:00
Noah Watkins
75b327e4c7
Merge pull request #1 from ceph/update-paths
...
repo: update new repo path
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2015-08-31 08:35:56 -06:00
Noah Watkins
3f52ea219a
repo: update new repo path
...
noahdesu -> ceph
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2015-08-31 07:34:42 -07:00
Noah Watkins
f9be60af9f
Merge pull request #26 from hustcat/err_code
...
Convert some C error code to Go code
2015-07-24 09:24:36 -07:00
Ye Yin
5c2d42ef5a
Change return new error for rados and rbd
...
Signed-off-by: Ye Yin <eyniy@qq.com>
2015-07-24 11:34:18 +08:00
Ye Yin
193dbacdb0
Convert some C error code to Go code, for convenient Golang code to handle error.
...
Define some Rbd constant variables, to pass to librbd API.
Add test unit for RbdErrorNotFound
Signed-off-by: Ye Yin <eyniy@qq.com>
2015-07-23 15:33:34 +08:00
Noah Watkins
a0f3c26798
Merge pull request #24 from hustcat/parent_info
...
Add rbd_get_parent_info for image
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2015-07-20 07:31:03 -06:00
Noah Watkins
cd051751e4
Merge pull request #27 from hustcat/rados_write_full
...
Add rados_write_full function
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2015-07-20 07:23:42 -06:00
Ye Yin
f39179553f
Add rados_write_full function
...
Signed-off-by: Ye Yin <eyniy@qq.com>
2015-07-20 20:37:32 +08:00
Ye Yin
80e3e9ea7f
Add rbd_get_parent_info
...
Signed-off-by: Ye Yin <eyniy@qq.com>
2015-07-20 11:34:47 +08:00
Noah Watkins
0448b62d47
Merge pull request #25 from theanalyst/doc/contribute
...
doc: add basic instructions for contributing
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2015-07-17 11:28:02 -06:00
Abhishek Lekshmanan
2d8d57f246
doc: add basic instructions for contributing
...
Added basic info for some standards to be followed, how to run tests
etc.
Signed-off-by: Abhishek Lekshmanan <abhishek.lekshmanan@gmail.com>
2015-07-17 22:41:18 +05:30
Noah Watkins
8f882afdc3
Merge pull request #23 from theanalyst/wip-gofmt
...
go fmt the source files and add travis check for go fmt
2015-07-12 14:23:37 -06:00
Abhishek Lekshmanan
722a5ff06f
travis: check for go fmt violations for patches
...
While submitting patches travis will fail if source isn't go fmt'ed
Signed-off-by: Abhishek Lekshmanan <abhishek.lekshmanan@gmail.com>
2015-07-08 14:07:55 +05:30
Abhishek Lekshmanan
d63c6698c2
gofmt all the source files
...
Running gofmt ./... on the repository
Signed-off-by: Abhishek Lekshmanan <abhishek.lekshmanan@gmail.com>
2015-07-08 14:04:54 +05:30
Noah Watkins
037adbe79e
Merge pull request #22 from travisn/patch-1
...
Add an overload for creating a connection to a non-default cluster name
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2015-06-18 06:50:52 -06:00
Travis Nielsen
8e73ca4191
Pass the correct admin user name
2015-06-16 16:10:09 -07:00
Travis Nielsen
c7214b5694
Add a test for connecting with the cluster name and user name
2015-06-16 15:55:12 -07:00
Travis Nielsen
2835eeac35
Add an overload for creating a connection to a cluster other than the default cluster name of "ceph".
2015-06-16 15:32:09 -07:00
Noah Watkins
571d19f634
ci: fetch dependencies
...
This was apparently happening automatically and not now. I'm not sure what's going on.
2015-05-24 11:21:29 -07:00
Noah Watkins
19cf5ac043
Merge pull request #21 from theanalyst/docker-ci
...
Run local tests in a docker
2015-05-24 11:16:32 -07:00
Abhishek Lekshmanan
cec4e4d870
Add a simple makefile
...
Primarily allowing for testing via docker; and other simple stuff like
fmt
Signed-off-by: Abhishek Lekshmanan <abhishek.lekshmanan@gmail.com>
2015-05-24 13:43:05 +05:30
Abhishek Lekshmanan
e38a5a25e0
ci: Allow local tests to run in a docker
...
Signed-off-by: Abhishek Lekshmanan <abhishek.lekshmanan@gmail.com>
2015-05-24 11:12:54 +05:30
Noah Watkins
6f60f5a203
Merge pull request #19 from gierschv/feat-omap-iterator
...
ioctx: ListOmapValues & GetAllOmapValues added
2015-05-04 11:49:46 -07:00
Vincent Giersch
b15639c44c
ioctx: ListOmapValues & GetAllOmapValues added
...
* `ListOmapValues` allows to iterate on all the key feteched during
a read operation of an omap (the goal is to easily get the last
read key from the C iterator. This one can then be used in another
call as `startAfter` parameter).
* `GetAllOmapValues` returns all the keys / values of the whole omap
* `GetOmapValues` now uses `ListOmapValues`
Signed-off-by: Vincent Giersch <vincent.giersch@ovh.net>
2015-05-04 14:50:59 +00:00
Noah Watkins
0f4cf26919
cephfs: add mkdir
...
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2015-05-01 12:57:07 -07:00
Noah Watkins
de82ee54cf
Merge pull request #18 from noahdesu/cephfs
...
cephfs: add initial cephfs go wrappers
2015-05-01 12:42:57 -07:00