[sheepdog-users] sheepfs: cannot detach / error failed to create sheepfs layout

Gerald Richter - ECOS richter at ecos.de
Thu Sep 12 05:53:26 CEST 2013


> >
> > That was what I was expecting, but a simple test shows:
> >
> > #echo vm-1201-disk-1 > /mnt/vdi/mount #echo vm-1201-disk-1 >
> > /mnt/vdi/unmount
> > -bash: echo: write error: Invalid argument
> >

Syslog:
Sep 12 05:21:33 srvvm4 sheepfs[169962]: volume_sync_and_delete(499)
Sep 12 05:21:33 srvvm4 sheepfs[169962]: failed to flush vdi fb24b0

I have done a "dog vdi cache flush vm-1201-disk-1" afterwards and all changes I have made in this image seems to be correctly written.

> > On my second node I get the following error message:
> >
> > #sheepfs /mnt
> > failed to create sheepfs layout
> >

Syslog:
Sep 12 05:26:08 srvvm1 sheepfs: shadow_file_setxattr(102)
Sep 12 05:26:08 srvvm1 sheepfs: Operation not supported

So I mounted the sheepfs on different volume, which was mount with user_xattr and it worked, but afterwards I also able to mount on the initial directory also, which was not mounted with xattr.

Doing some more test I found, that sheepfs creates a directry .sheepfs in the current directory, which needs to be mounted which xattr support. So running this command in a directory which does not have xattr support will not work, regardless of the directory that is actually mounted.

I don't have an idea why the .sheepfs directory is needed, but I think it is not a good idea to create it in the current working directory, at least there should be some option and/or environment variable to change the location. Also it would be very helpful to have the error message on stderr instead of the syslog.

Anyway, after understanding how it works, it did what it should and I was able to modify my image before/without booting it. That's great!

> 
> Did you 'make install' that install the 'dog' to the proper place?
> 

Yes, everything was installed with make install to the default locations.

Regards

Gerald






More information about the sheepdog-users mailing list