Replies: 5 comments 14 replies
-
There is no policy that matches that because path creation is not what policies control. A policy controls selection of branches. The creation of a directory on a branch happens after selection if needed. There is no reason for you to be creating paths unless you use ep policies and very few people have any reason to use an ep policy. I suggest rereading the sections on policies and such https://trapexit.github.io/mergerfs/config/functions_categories_and_policies/ moveonenospace is for after a file is already open and being written to and after minfreespace already was used to decide the placement of the create. https://trapexit.github.io/mergerfs/faq/configuration_and_policies/#what-settings-should-i-use |
Beta Was this translation helpful? Give feedback.
-
Before anything, you mention that only few people need an ep policy, but the document you linked specifically say that the default create policy is epmfs? (Mostly just curious here) I've re-read the sections again, and I think I probably didn't explain my scenario correctly. I have three disks, with the following structure.
I am now writing a couple of large files to Folder A/Subfolder A, and in the process, Disk A becomes full, what happens now is that the file writing process just fails, and unless I create a Subfolder A in one of the other Folder A, I can't continue. The process that writes never implicitly create a Subfolder A, it just writes to it, as it was already existing. I have my create policy as eplfs and moveonenospc=true, rest is default. |
Beta Was this translation helpful? Give feedback.
-
To re-iterate, I am writing File X to Subfolder A in my thought-experiment-setup above, and Disk A runs out of space. Shouldn't setting moveonenospc to true, which is the mfs policy, result in the creation of a new Subfolder A on Disk B, and File X being written there instead? (Assuming Disk B is the disk with the most free space) Or, does mergerfs report "disk full" back to the program trying to write before it starts writing, which in turn aborts? |
Beta Was this translation helpful? Give feedback.
-
I'll try and explain the scenario, it very well might just be me that doesn't understand precisely how mergerfs works. There is a directory on a disk, it only exists on that disk, I want to write a file on that disk but can't because its full. I can't write any more files to that specific directory before I manually create the same directory structure on one of the other disks. At least, thats how it seems to work on my system. If this is intended, then I've clearly misunderstood how writing to mergerfs works and I apologize, its still a great piece of software. |
Beta Was this translation helpful? Give feedback.
-
So, if i'm understanding correctly, moveonenospc is not triggered by the minfreespace setting? It is only triggered if the disk runs out of space after writing has begun, which I would think is only possible if another process is writing to the disk at the same time? If that is the case, then it explains my situation, and I have assumed something that was not true, which I of course regret. But I don't think that is communicated all that clearly in the docs, at least, not for someone who does not have intricate knowledge on Linux filesystems and what actually happens when a new file is being written That a write operation is not a single command, but actually a chain of creating a new file and THEN writing was not something I was consciously aware of. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
While i'm pretty sure I know the answer, I thought i'd go ahead and ask anyway :)
If I have moveonenospc enabled, and a new file causes the disk its writing to to become full, and the particular path the file is being written to only exists on that one disk, can mergerfs create it on another?
Theres no policy that matches this behaviour, and I would think that the overall thought behind mergerfs being on top of the filesystem will prohibit this, but it is somewhat annoying when a particular disk is getting full, that you have to either manually create the path on another, or manually move the entire folder from the full disk to a new one.
Beta Was this translation helpful? Give feedback.
All reactions