From Fedora Project Wiki

Revision as of 23:31, 13 October 2013 by Ignatenkobrain (talk | contribs) (which test is this regarding?)


This page describes a test case for bcache-tools; "/home on bcache without using LVM".

Bcache is a Linux kernel block layer cache. It allows one or more fast disk drives such as flash-based solid state drives (SSDs) to act as a cache for one or more slower hard disk drives. The bcache-tools package contains the utilities for manipulating bcache

Testing covers not only bcache-tools but also the interaction between bcache-tools and other packages: kernel and util-linux.

Assuming you have a fresh Fedora 20 system is running, we will "move" /home to a bcache device. To do this it's convenient to have a minimum amount of data on /home.


The prerequisites for running the bcache-tools testcases can be found on this page


  1. Open terminal
  2. Switch to root user: su -

First of all we have to make sure no traces of bcache superblocks are left on /dev/sdb1 from earlier experiments. So before installing bcache-tools do the following:

  1. update util-linux to the latest version (2.24 is required): yum update util-linux
  2. Wipe whatever is on the /dev/sdb1 partition: wipefs -a /dev/sdb1
  3. Next install bcache-tools: yum install bcache-tools
  4. If needed "backup" all data in /home to another place on your root filesystem, because all data on /dev/sda2 will be destroyed in the next steps.
  5. comment /home out in your /etc/fstab
  6. unmount /home (which is on /dev/sda2)
  7. reboot so bcache-tools is processed well

How to test

  1. Erase the old /home from /dev/sda2: wipefs -a /dev/sda2
  2. Make /dev/sda2 a bcache backing device: make-bcache -B /dev/sda2
  3. Erase any existing metadata from /dev/sdb1: wipefs -a /dev/sdb1
  4. Make /dev/sdb1 a bcache caching device: make-bcache -C /dev/sdb1
  5. Retrieve the cset.uuid from your /dev/sdb1 caching device: bcache-super-show /dev/sdb1
  6. Attach /dev/sdb1 to /dev/bcache0: echo <cset.uuid> > /sys/block/bcache0/bcache/attach

Now you have a bcache device: /dev/bcache0

  1. use "bcache-status -s" to see details about your bcache device.
  2. create a filesystem: mkfs -t ext4 -L HOME /dev/bcache0
  3. create a /home entry in your /etc/fstab: LABEL=HOME /home ext4 defaults 1 2
  4. mount /home: mount -a
  5. If applicable restore the /home backup you made earlier.

Now you have a system with /home on bcache.

  1. reboot your system to see if it boots OK.
  2. wget

Expected Results

  1. All steps complete without errors
  2. wget should have the same speed of all time