MergerFS "Most Free Space" Policy issue

  • I am having an odd issue that i was able to replicate using two different systems. This might be an issue with mergerfs, and not with OMV.


    If i setup a disk pool using the policy "Most Free Space" with mergerfs, everything seems to work fine. I am able to write to the disk pool and read from it. The problem seems to be when I modify the contents in place... For example, If I rename a folder from A to A_renamed, both folders now exist. The original A folder has a few files, and then A_renamed has the rest (or visa versa)


    1.) My Pool Settings


    2.) Before renaming folder B :


    3.) I renamed folder 'B' to 'B_renamed'. Notice there are now both folders...


    4.) Notice some files are still in 'B' and some files are in 'B_renamed'.


    I wanted to use the policy "Most Free Space" because I want the data to be written across all the disks evenly until they are full. If I am doing something wrong, or need to edit a config file, or if I should use a different policy, please let me know.


    Regards,
    Mike

  • The reason I ask about permissions is that mergerfs will return success on a request if *any* part of it succeeds.


    If you have a directory on multiple drives, and say the getattr policy is the default 'ff'. And the first drive listed has the directory owned by you. But the second drive directory is owned by root. Your account doesn't have access to the second one. Just the first. So mergerfs tries to do the renames... the first succeeds, second fails. We return success. Then you have two directories. The one we could rename and the one we couldn't.


    This is documented behavior and the easiest way to handle this situation.

  • Thanks for the quick response. Both machines I tested were from scratch installs of OMV. The permissions should all be the same as I just copied everything over after making the pool(disks started empty).


    1.) Below is a screenshot of the version info and results of mv command (still had the issue)


    2.) Below is the folder permissions and file permissions (all is owned by root)

  • What are your settings? I can not reproduce this.


    xattr -l /export/poolshare/.mergerfs


    You are using 2.11.0. Please use the latest version and let me know if it continues.


    Also... you have libfuse 2.9.0 which has known bugs. You may want to upgrade. Look at mergerfs' docs for details.

  • I upgraded to the latest version 2.12.1 using OMV Update Manager section. However, the libfuse is still 2.9.0 (not sure how to upgrade that.) (Running Wheezy 7.9 with OMV 2.2.1)


    I rebooted, after make sure OMV update manager said there was nothing else to upgrade.However, the problem still occurs. I renamed B and now have B and B_renamed.


    I tried running xattr -l /export/poolshare/.mergerfs and received "No such file: /export/poolshare/.mergerfs".


    I also tried finding a file .mergerfs and wasn't able to.

  • Trapexit, I'll have to search for that(or reycoaaron can help). OMV has a plugin that you install and enable(see my first screenshot in post). Then you just point to the disks you want to pool. It's all done automagically in the background. I tried finding hidden file by doing ls -a on all my mounted disks, but didn't find .mergerfs.

  • I can confirm it. I'm using mfs and nearly every time I rename or move a directory (over Samba at least, haven't tested locally in a while) some of the files doesn't get moved and the original directory is left behind.



    Code
    mergerfs version: 2.12.1
    FUSE library version: 2.9.3
    fusermount version: 2.9.3
    using FUSE kernel interface version 7.19


    I'll try building the 2.12.2 version and test it.


    Edit: Quick tests seems promising. Can't tell for sure yet. :)

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!