Downloads fail with category.create=eplfs #1371
-
I have multiple drives that are almost full, and one that is free. I want to download files to the drives with the least free space, but still enough space for the file. Using The most straightforward solution would be to use a separate directory or drive for downloads that is not part of the mergerfs pool. After downloads complete, I can move the files to the mergerfs pool. This approach ensures that downloads won't fail due to space issues. Since I have enabled I think I'll use Is there some way to fill all drives completely before using the empty one and have downloads work properly? Here is the /mnt/*/personal:/run/media/user/*/personal /personal fuse.mergerfs allow_other,use_ino,cache.files=partial,dropcacheonclose=true,category.create=eplfs,ignorepponrename=true,func.mkdir=epall,minfreespace=0G,x-gvfs-show 0 0
/mnt/*/public:/run/media/user/*/public /public fuse.mergerfs allow_other,use_ino,cache.files=partial,dropcacheonclose=true,category.create=eplfs,ignorepponrename=true,func.mkdir=epall,minfreespace=0G,x-gvfs-show 0 0
/mnt/*/personal:/mnt/*/public:/run/media/user/*/personal:/run/media/user/*/public /media fuse.mergerfs allow_other,use_ino,cache.files=partial,dropcacheonclose=true,category.create=eplfs,ignorepponrename=true,func.mkdir=epall,minfreespace=0G,x-gvfs-show 0 0 |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 7 replies
-
First, it's not "failing" in the sense that mergerfs is doing something wrong. If you have it set to eplfs it's doing eplfs and the failure to find a branch is because that's what it is designed to do. Second, it would help if you explained why you want that behavior. If you just want to fill drives why not use |
Beta Was this translation helpful? Give feedback.
Most filesystems don't like being filled all the way so that is not recommended.
"which isn't known until it's complete" It's never known from the perspective of the filesystem APIs. There is no such thing as "download file" vs "copy file." There is "open/create", "write", "close". Where that "write" comes from could be anything. Could be an app streaming data from the network or a file copy. I can't, at create time, know what is going on or what the size of incoming data is. And files can have many writers so the size is just some snapshot in time.
The only way to accomplish what you seem to be asking for would be to try to keep track of all accesses to the file and on close move it to a…