at master 1.1 kB view raw
1{ pkgs, ... }: 2{ 3 name = "bcache"; 4 meta.maintainers = with pkgs.lib.maintainers; [ pineapplehunter ]; 5 6 nodes.machine = 7 { pkgs, ... }: 8 { 9 virtualisation.emptyDiskImages = [ 4096 ]; 10 networking.hostId = "deadbeef"; 11 boot.supportedFilesystems = [ "ext4" ]; 12 environment.systemPackages = [ pkgs.parted ]; 13 }; 14 15 testScript = '' 16 machine.succeed("modprobe bcache") 17 machine.succeed("bcache version") 18 machine.succeed("ls /dev") 19 20 machine.succeed( 21 "mkdir /tmp/mnt", 22 "udevadm settle", 23 "parted --script /dev/vdb mklabel gpt", 24 "parted --script /dev/vdb mkpart primary 0% 50% mkpart primary 50% 100%", 25 "udevadm settle", 26 "bcache make -C /dev/vdb1", 27 "bcache make -B /dev/vdb2", 28 "udevadm settle", 29 "bcache attach /dev/vdb1 /dev/vdb2", 30 "bcache set-cachemode /dev/vdb2 writeback", 31 "udevadm settle", 32 "bcache show", 33 "ls /sys/fs/bcache", 34 "mkfs.ext4 /dev/bcache0", 35 "mount /dev/bcache0 /tmp/mnt", 36 "umount /tmp/mnt", 37 "udevadm settle", 38 ) 39 ''; 40}