-
-
Notifications
You must be signed in to change notification settings - Fork 194
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Disable fsck for MergerFS? #840
Comments
First of all, a really fun hack that uses the fact that we allow arbitrary strings in the I think the "proper" solution for this issue would be for us to support fileSystems.mergerfs.noCheck = lib.mkForce true; Just out of curiosity, did you have to do anything else to get mergerfs to work? Also, could you try if instead of |
OK, thanks for your suggestions! I set Other than that, the only other pieces I added earlier to make it work, in environment.systemPackages = with pkgs; {
mergerfs
# ...
};
systemd.services.mergerfs-uncache = {
path = [
(pkgs.python3.withPackages (ps: with ps; [
aiofiles
]))
];
serviceConfig = {
Type = "oneshot";
ExecStart = ''
${./mergerfs-uncache.py} -s /mnt/cache -d /mnt/mergerfs_slow -a 90 -t 90
'';
};
startAt = "Sat 00:00:00";
}; where Note also that since my last post, I've modified Disko config to use 2 nested MergerFS filesystems, such that I could access the combined NVME+HDD storage under let
cacheArray = "/mnt/cache";
slowArray = "/mnt/data*";
mergerArrays = {
mergerfs_slow = {
device = slowArray;
mountpoint = "/mnt/mergerfs_slow";
extraOpts = [];
};
data = {
device = "${cacheArray}:${slowArray}";
mountpoint = "/data";
extraOpts = ["category.create=epff"];
};
};
# ...
in
{ disks ? [], lib, ... }: {
fileSystems = lib.mapAttrs' (_: fs: lib.nameValuePair fs.mountpoint {
noCheck = lib.mkForce true;
}) mergerArrays;
disko.devices = {
disk = (
lib.mapAttrs (name: fs : {
type = "filesystem";
device = fs.device;
content = {
type = "filesystem";
format = "fuse.mergerfs";
mountpoint = fs.mountpoint;
mountOptions = [
"defaults"
"moveonenospc=1"
"minfreespace=100G"
"func.getattr=newest"
"cache.files=partial"
"dropcacheonclose=true"
"fsname=${name}"
] ++ fs.extraOpts;
};
}) mergerArrays
) // # ... the rest of Disko config, for the actual disks
}; |
@dinvlad if you have time, could you check if this still works with latest master? We made changes to quote the device name and labels properly to fix issues with whitespace, and this might break your If it doesn't I'll open an issue for dedicated mergerFS support. The info you gave should be enough to make that happen. Apart from that, can I close this issue? |
First of all, thanks for the excellent piece of software!
I've configured MergerFS through Disko:
(here, disk(s) already mounted to
/mnt/data_1
,/mnt/data_2
are then mounted as a combined FUSE filesystem to/mnt/data
)This works, but at mount time I see the following in dmesg:
And fstab shows this:
As you can see, fsck check is enabled due to the last flag (
2
).Is it possible to disable it through Disko config somehow? Thank you!
The text was updated successfully, but these errors were encountered: