Pittman, Ashley M
What you’re doing is correct, and the results are mostly as expected. DAOS does not yet support pool and container enumeration although this is being worked on, once the feature is in DAOS then we’ll add support for it to dfuse, for the time being the readdir call in dfuse will return directory contents for directories that represent something within a container, and ENOTSUPP for pools and the root if you’re launching without the -p and -c options.
I would caution against using a subdirectory in /mnt/daos for mounting fuse, it’ll probably work but I think the DAOS server assumes that it can write files with any name to that directory so I’ll be lower risk to use a different mount point to avoid any confusion.
Once dfuse is up and running you should be able to call stat on any entry and see results, ENOSSUPP is what I’d expect if you ran ls on /mnt/daos/fuse on your example below.
Finally, it’s possible to launch dfuse in “singleton” mode which means you can launch it directly without the use of orterun, this is often easier but you need to run the server with a -a flag and set DAOS_SINGLETON_CLI=1 and CRT_ATTACH_INFO_PATH=/path in the dfuse environment
<email@example.com> on behalf of Steffen Christgau <christgau@...>
I'm interested in FUSE access as well just to take a curious look into
the pool and because pool commands are not implemented in the v0.6 daos
client ("pool [list-containers] not yet implemented"). ...
On 30/08/2019 09.39, Lombardi, Johann wrote:
... Thus, I tried to mount a pool (and even as system) with dfuse. Based
on what's written in the admin guide, I started dfuse as the user under
which the server and agent are running:
orterun -np 1 --ompi-server file:/tmp/daos_urifile dfuse -p $DAOS_POOL
-s 0 -g daos_server -m /mnt/daos/fuse/ -S
The server log shows some INFOs on enabled/disabled caps and no errors.
The mount appears to be successfully created:
dfuse on /mnt/daos/fuse type fuse.pam
996 and 994 are the daos user and group.
However, the filesystem appears not work correctly:
ls -l /mnt/daos
ls: cannot access /mnt/daos/fuse: Operation not supported
d?????????? ? ? ? ? ? fuse
drwxr-xr-x. 7 daos daos 4096 Aug 29 16:03 pmem0
drwxr-xr-x. 2 daos daos 6 Aug 14 14:44 pmem1
(before mounting fuse was a regular directory owned by daos:daos)
stat("/mnt/daos/fuse", 0x61e0e0) = -1 EOPNOTSUPP
For find(1) it is newfstatat syscall that fails.
Would the master work better?
Or put from another perspective: How can I query the content of a pool
with command line tools?
This e-mail and any attachments may contain confidential material for