0

I have a mergerfs filesystem /data which merges /data1 /data2 /data3 /data4, each of which are ext4 filesystems.

I am exporting the directory /data/coihome (actually a directory in /data3) via NFS to 192.168.0.0/24 subnet.

1) I bind mount /data/coihome to /srv/exports/coihome (ownership /srv/exports recursively set to nobody:nogroup)

#REV: our mergerfs of all the /data partitions into /data                                                                                                     
/data1:/data2:/data3:/data4    /data       fuse.mergerfs  defaults,allow_other,use_ino,fsname=mergerFS   0       0

#REV: bind /data/coihome to /srv/export/coihome so we can export safely                                                                                       
/data/coihome /srv/export/coihome none bind 0 0

2) In /etc/exports I export the /srv/export/coihome (note -- it's bind-mounted to /data/coihome) (note I must have separate fsid for each because of FUSE, see Having trouble exporting FUSE via NFS )

/srv/export            192.168.0.0/24(rw,fsid=0,sync,no_subtree_check)
/srv/export/coihome 192.168.0.0/24(rw,fsid=1,nohide,insecure,sync,no_subtree_check)

I have also added option crossmnt to the first line, with no observed behavior change.

Finally, I mount the NFS exported directory to /mnt/coihome

#REV: mount coihome (NFS)                                                                                                                                     
coi3:/coihome   /mnt/coihome   nfs4    _netdev,auto  0  0

Now, the issue: I can modify, create, delete, etc, files in /mnt/coihome with no issue. However, git commands fail with permission errors (insufficient permissions) when modifying files in .git/objects etc.

I have tried modifying ownership/permissions as suggested in several forums, e.g.

Permissions issue with git

https://stackoverflow.com/questions/6448242/git-push-error-insufficient-permission-for-adding-an-object-to-repository-datab

Even doing chmod -R 777 does not work.

However, Running commands as superuser (with sudo) does work (no_root_squash in /etc/exports in that situation of course).

If I directly export the non-FUSE system (e.g. /data3/coihome bind-mounted to /srv/exports/coihome) then everything works as expected with no permissions problems. So, going through the FUSE mergerfs is causing some problem that I can not figure out.

Any suggestions or insights would be much appreciated.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.