Discussion:
client with uid
(too old to reply)
Keane Wolter
2018-01-24 15:47:11 UTC
Permalink
Raw Message
Hello all,

I was looking at the Client Config Reference page (
http://docs.ceph.com/docs/master/cephfs/client-config-ref/) and there was
mention of a flag --client_with_uid. The way I read it is that you can
specify the UID of a user on a cephfs and the user mounting the filesystem
will act as the same UID. I am using the flags --client_mount_uid and
--client_mount_gid set equal to my UID and GID values on the cephfs when
running ceph-fuse. Is this the correct action for the flags or am I
misunderstanding the flags?

Thanks,
Keane
Patrick Donnelly
2018-01-25 22:50:07 UTC
Permalink
Raw Message
Post by Keane Wolter
Hello all,
I was looking at the Client Config Reference page
(http://docs.ceph.com/docs/master/cephfs/client-config-ref/) and there was
mention of a flag --client_with_uid. The way I read it is that you can
specify the UID of a user on a cephfs and the user mounting the filesystem
will act as the same UID. I am using the flags --client_mount_uid and
--client_mount_gid set equal to my UID and GID values on the cephfs when
running ceph-fuse. Is this the correct action for the flags or am I
misunderstanding the flags?
These options are no longer used (with the exception of some bugs
[1,2]). The uid/gid should be provided by FUSE so you don't need to do
anything. If you're using the client library, you provide the uid/gid
via the UserPerm struct to each operation.

[1] http://tracker.ceph.com/issues/22802
[2] http://tracker.ceph.com/issues/22801
--
Patrick Donnelly
Keane Wolter
2018-02-05 17:08:50 UTC
Permalink
Raw Message
Hi Patrick,

Thanks for the info. Looking at the fuse options in the man page, I should
be able to pass "-o uid=$(id -u)" at the end of the ceph-fuse command.
However, when I do, it returns with an unknown option for fuse and
segfaults. Any pointers would be greatly appreciated. This is the result I
get:

***@wolterk:~$ ceph-fuse --id=kwolter_test1 -r /user/kwolter/
/home/daemoneye/ceph/ --client-die-on-failed-remount=false -o uid=$(id -u)
ceph-fuse[25156]: starting ceph client
fuse: unknown option `uid=1000'
ceph-fuse[25156]: fuse failed to start
*** Caught signal (Segmentation fault) **
in thread 7efc7da86100 thread_name:ceph-fuse
ceph version 12.2.2 (cf0baeeeeba3b47f9427c6c97e2144b094b7e5ba) luminous
(stable)
1: (()+0x6a8784) [0x5583372d8784]
2: (()+0x12180) [0x7efc7bb4f180]
3: (Client::_ll_drop_pins()+0x67) [0x558336e5dea7]
4: (Client::unmount()+0x943) [0x558336e67323]
5: (main()+0x7ed) [0x558336e02b0d]
6: (__libc_start_main()+0xea) [0x7efc7a892f2a]
7: (_start()+0x2a) [0x558336e0b73a]
ceph-fuse [25154]: (33) Numerical argument out of domain
***@wolterk:~$

Thanks,
Keane
Post by Keane Wolter
Post by Keane Wolter
Hello all,
I was looking at the Client Config Reference page
(http://docs.ceph.com/docs/master/cephfs/client-config-ref/) and there
was
Post by Keane Wolter
mention of a flag --client_with_uid. The way I read it is that you can
specify the UID of a user on a cephfs and the user mounting the
filesystem
Post by Keane Wolter
will act as the same UID. I am using the flags --client_mount_uid and
--client_mount_gid set equal to my UID and GID values on the cephfs when
running ceph-fuse. Is this the correct action for the flags or am I
misunderstanding the flags?
These options are no longer used (with the exception of some bugs
[1,2]). The uid/gid should be provided by FUSE so you don't need to do
anything. If you're using the client library, you provide the uid/gid
via the UserPerm struct to each operation.
[1] http://tracker.ceph.com/issues/22802
[2] http://tracker.ceph.com/issues/22801
--
Patrick Donnelly
Patrick Donnelly
2018-02-06 22:34:44 UTC
Permalink
Raw Message
Post by Keane Wolter
Hi Patrick,
Thanks for the info. Looking at the fuse options in the man page, I should
be able to pass "-o uid=$(id -u)" at the end of the ceph-fuse command.
However, when I do, it returns with an unknown option for fuse and
segfaults. Any pointers would be greatly appreciated. This is the result I
I'm not familiar with that uid= option, you'll ahve to redirect that
question to FUSE devs. (However, I don't think it does what you want
it to. It says it only hard-codes the st_uid field returned by stat.)
Post by Keane Wolter
/home/daemoneye/ceph/ --client-die-on-failed-remount=false -o uid=$(id -u)
ceph-fuse[25156]: starting ceph client
fuse: unknown option `uid=1000'
ceph-fuse[25156]: fuse failed to start
*** Caught signal (Segmentation fault) **
in thread 7efc7da86100 thread_name:ceph-fuse
ceph version 12.2.2 (cf0baeeeeba3b47f9427c6c97e2144b094b7e5ba) luminous
(stable)
1: (()+0x6a8784) [0x5583372d8784]
2: (()+0x12180) [0x7efc7bb4f180]
3: (Client::_ll_drop_pins()+0x67) [0x558336e5dea7]
4: (Client::unmount()+0x943) [0x558336e67323]
5: (main()+0x7ed) [0x558336e02b0d]
6: (__libc_start_main()+0xea) [0x7efc7a892f2a]
7: (_start()+0x2a) [0x558336e0b73a]
ceph-fuse [25154]: (33) Numerical argument out of domain
I wasn't able to reproduce this.
--
Patrick Donnelly
Loading...