* [PATCH] Small fixes and added HOWTO section @ 2016-03-12 5:00 Marc MERLIN 2016-03-12 7:59 ` [PULL] bcache: bcache: documentation updates and corrections Eric Wheeler 0 siblings, 1 reply; 9+ messages in thread From: Marc MERLIN @ 2016-03-12 5:00 UTC (permalink / raw) To: linux-bcache Bcache documentation updates: - Added new HOWTO/COOKBOOK section - fixed a few typos - /sys/block/bcache0/cache_mode is /sys/block/bcache0/bcache/cache_mode Signed-off-by: Marc MERLIN <marc@merlins.org> --- Documentation/bcache.txt | 160 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 152 insertions(+), 8 deletions(-) diff --git a/Documentation/bcache.txt b/Documentation/bcache.txt index 32b6c31..b8302f9 100644 --- a/Documentation/bcache.txt +++ b/Documentation/bcache.txt @@ -1,4 +1,4 @@ -Say you've got a big slow raid 6, and an X-25E or three. Wouldn't it be +Say you've got a big slow raid 6, and an ssd or three. Wouldn't it be nice if you could use them as cache... Hence bcache. Wiki and git repositories are at: @@ -8,7 +8,7 @@ Wiki and git repositories are at: It's designed around the performance characteristics of SSDs - it only allocates in erase block sized buckets, and it uses a hybrid btree/log to track cached -extants (which can be anywhere from a single sector to the bucket size). It's +extents (which can be anywhere from a single sector to the bucket size). It's designed to avoid random writes at all costs; it fills up an erase block sequentially, then issues a discard before reusing it. @@ -55,7 +55,10 @@ immediately. Without udev, you can manually register devices like this: Registering the backing device makes the bcache device show up in /dev; you can now format it and use it as normal. But the first time using a new bcache device, it'll be running in passthrough mode until you attach it to a cache. -See the section on attaching. +If you are thinking about using bcache later, it is recommended to setup all your +slow devices as bcache backing devices without a cache, and you can choose to add +a caching device later. +See 'ATTACHING' section below. The devices show up as: @@ -72,12 +75,14 @@ To get started: mount /dev/bcache0 /mnt You can control bcache devices through sysfs at /sys/block/bcache<N>/bcache . +You can also control them through /sys/fs//bcache/<cset-uuid>/ . Cache devices are managed as sets; multiple caches per set isn't supported yet but will allow for mirroring of metadata and dirty data in the future. Your new cache set shows up as /sys/fs/bcache/<UUID> -ATTACHING: +ATTACHING +--------- After your cache device and backing device are registered, the backing device must be attached to your cache set to enable caching. Attaching a backing @@ -105,7 +110,8 @@ but all the cached data will be invalidated. If there was dirty data in the cache, don't expect the filesystem to be recoverable - you will have massive filesystem corruption, though ext4's fsck does work miracles. -ERROR HANDLING: +ERROR HANDLING +-------------- Bcache tries to transparently handle IO errors to/from the cache device without affecting normal operation; if it sees too many errors (the threshold is @@ -127,7 +133,143 @@ the backing devices to passthrough mode. writeback mode). It currently doesn't do anything intelligent if it fails to read some of the dirty data, though. -TROUBLESHOOTING PERFORMANCE: + +HOWTO/COOKBOOK +-------------- + +A) Your bcache doesn't start. + Starting and starting a bcache with a missing caching device + +Registering the backing device doesn't help, it's already there, you just need +to force it to run without the cache: +host:~# echo /dev/sdb1 > /sys/fs/bcache/register +[ 119.844831] bcache: register_bcache() error opening /dev/sdb1: device already registered + +Next, you try to register your caching device if it's present. However if it's +absent, or registration fails for some reason, you can still start your bcache +without its cache, like so: +host:/sys/block/sdb/sdb1/bcache# echo 1 > running + + +B) Bcache not finding its cache and not starting + +This does not work: +host:/sys/block/md5/bcache# echo 0226553a-37cf-41d5-b3ce-8b1e944543a8 > attach +[ 1933.455082] bcache: bch_cached_dev_attach() Couldn't find uuid for md5 in set +[ 1933.478179] bcache: __cached_dev_store() Can't attach 0226553a-37cf-41d5-b3ce-8b1e944543a8 +[ 1933.478179] : cache set not found + +In this case, the caching device was simply not registered at boot or +disappeared and came back, and needs to be (re-)registered: +host:/sys/block/md5/bcache# echo /dev/sdh2 > /sys/fs/bcache/register + + +C) Corrupt bcache caching device crashes the kernel on startup/boot + +You'll have to wipe the caching device, start the backing device without the +cache, and you can re-attach the cleaned up caching device then. This does +require booting with a kernel/rescue media where bcache is disabled +since it will otherwise try to access your device and probably crash +again before you have a chance to wipe it. +(or if you plan ahead, compile a backup kernel with bcache disabled and keep it +in your grub config for a rainy day) +If bcache is not available in the kernel, a filesystem on the backing device is +still available at an 8KiB offset. So either via a loopdev of the backing device +created with --offset 8K or by temporarily increasing the start sector of the +partition by 16 (512byte sectors). + +This is how you wipe the caching device: +host:~# wipefs -a /dev/sdh2 +16 bytes were erased at offset 0x1018 (bcache) +they were: c6 85 73 f6 4e 1a 45 ca 82 65 f5 7f 48 ba 6d 81 + +After you boot back with bcache enabled, you recreate the cache and attach it: +host:~# make-bcache -C /dev/sdh2 +UUID: 7be7e175-8f4c-4f99-94b2-9c904d227045 +Set UUID: 5bc072a8-ab17-446d-9744-e247949913c1 +version: 0 +nbuckets: 106874 +block_size: 1 +bucket_size: 1024 +nr_in_set: 1 +nr_this_dev: 0 +first_bucket: 1 +[ 650.511912] bcache: run_cache_set() invalidating existing data +[ 650.549228] bcache: register_cache() registered cache device sdh2 + +start backing device with missing cache: +host:/sys/block/md5/bcache# echo 1 > running + +attach new cache: +host:/sys/block/md5/bcache# echo 5bc072a8-ab17-446d-9744-e247949913c1 > attach +[ 865.276616] bcache: bch_cached_dev_attach() Caching md5 as bcache0 on set 5bc072a8-ab17-446d-9744-e247949913c1 + + +D) Remove or replace a caching device + +host:/sys/block/sda/sda7/bcache# echo 1 > detach +[ 695.872542] bcache: cached_dev_detach_finish() Caching disabled for sda7 + +host:~# wipefs -a /dev/nvme0n1p4 +wipefs: error: /dev/nvme0n1p4: probing initialization failed: Device or resource busy +Ooops, it's disabled, but not unregistered, so it's still protected + +We need to go and unregister it: +host:/sys/fs/bcache/b7ba27a1-2398-4649-8ae3-0959f57ba128# ls -l cache0 +lrwxrwxrwx 1 root root 0 Feb 25 18:33 cache0 -> ../../../devices/pci0000:00/0000:00:1d.0/0000:70:00.0/nvme/nvme0/nvme0n1/nvme0n1p4/bcache/ +host:/sys/fs/bcache/b7ba27a1-2398-4649-8ae3-0959f57ba128# echo 1 > stop +kernel: [ 917.041908] bcache: cache_set_free() Cache set b7ba27a1-2398-4649-8ae3-0959f57ba128 unregistered + +Now we can wipe it: +host:~# wipefs -a /dev/nvme0n1p4 +/dev/nvme0n1p4: 16 bytes were erased at offset 0x00001018 (bcache): c6 85 73 f6 4e 1a 45 ca 82 65 f5 7f 48 ba 6d 81 + + +E) dmcrypt and bcache + +First setup bcache unencrypted and then install dmcrypt on top of /dev/bcache<N> +This will work faster than if you dmcrypt both the backing and caching +devices and then install bcache on top. + + +F) Stop/free a registered bcache to wipe and/or recreate it +(or maybe you need to free up all bcache references so that you can have fdisk +run and re-register a changed partition table, which won't work if there are any +active backing or caching devices left on it) + +1) Is it present in /dev/bcache* ? (there are times where it won't be) +If so, it's easy: +host:/sys/block/bcache0/bcache# echo 1 > stop + +2) But if your backing device is gone, this won't work: +host:/sys/block/bcache0# cd bcache +bash: cd: bcache: No such file or directory + +In this case, you may have to unregister the dmcrypt block device that +references this bcache to free it up: +host:~# dmsetup remove oldds1 +bcache: bcache_device_free() bcache0 stopped +bcache: cache_set_free() Cache set 5bc072a8-ab17-446d-9744-e247949913c1 unregistered + +This causes the backing bcache to be removed from /sys/fs/bcache and then it can +be reused + +3) In other cases, you can also look in /sys/fs/bcache/: +host:/sys/fs/bcache# ls -l */{cache?,bdev?} +lrwxrwxrwx 1 root root 0 Mar 5 09:39 0226553a-37cf-41d5-b3ce-8b1e944543a8/bdev1 -> ../../../devices/virtual/block/dm-1/bcache/ +lrwxrwxrwx 1 root root 0 Mar 5 09:39 0226553a-37cf-41d5-b3ce-8b1e944543a8/cache0 -> ../../../devices/virtual/block/dm-4/bcache/ +lrwxrwxrwx 1 root root 0 Mar 5 09:39 5bc072a8-ab17-446d-9744-e247949913c1/cache0 -> ../../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/ata10/host9/target9:0:0/9:0:0:0/block/sdl/sdl2/bcache/ + +The device names will show which UUID is relevant, cd in that directory +and stop the cache: +host:/sys/fs/bcache/5bc072a8-ab17-446d-9744-e247949913c1# echo 1 > stop +this will free up bcache references and let you reuse the partition for other +purposes. + + + +TROUBLESHOOTING PERFORMANCE +--------------------------- Bcache has a bunch of config options and tunables. The defaults are intended to be reasonable for typical desktop and server workloads, but they're not what you @@ -140,7 +282,7 @@ want for getting the best possible numbers when benchmarking. maturity, but simply because in writeback mode you'll lose data if something happens to your SSD) - # echo writeback > /sys/block/bcache0/cache_mode + # echo writeback > /sys/block/bcache0/bcache/cache_mode - Bad performance, or traffic not going to the SSD that you'd expect @@ -193,7 +335,9 @@ want for getting the best possible numbers when benchmarking. Solution: warm the cache by doing writes, or use the testing branch (there's a fix for the issue there). -SYSFS - BACKING DEVICE: + +SYSFS - BACKING DEVICE +---------------------- Available at /sys/block/<bdev>/bcache, /sys/block/bcache*/bcache and (if attached) /sys/fs/bcache/<cset-uuid>/bdev* -- 2.5.3 -- "A mouse is a device used to point at the xterm you want to type in" - A.S.R. Microsoft is to operating systems .... .... what McDonalds is to gourmet cooking Home page: http://marc.merlins.org/ | PGP 1024R/763BE901 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PULL] bcache: bcache: documentation updates and corrections 2016-03-12 5:00 [PATCH] Small fixes and added HOWTO section Marc MERLIN @ 2016-03-12 7:59 ` Eric Wheeler 2016-03-29 1:09 ` [PULL v4.6-rc1] bcache: documentation updates Eric Wheeler 0 siblings, 1 reply; 9+ messages in thread From: Eric Wheeler @ 2016-03-12 7:59 UTC (permalink / raw) To: axboe; +Cc: linux-bcache, Marc MERLIN Hi Jens, Please pull: Documentation updates for bcache: git pull https://bitbucket.org/ewheelerinc/linux.git v4.5-rc7-bcache-fixes-2 -- Eric Wheeler On Fri, 11 Mar 2016, Marc MERLIN wrote: > Bcache documentation updates: > - Added new HOWTO/COOKBOOK section > - fixed a few typos > - /sys/block/bcache0/cache_mode is /sys/block/bcache0/bcache/cache_mode > > Signed-off-by: Marc MERLIN <marc@merlins.org> > --- > Documentation/bcache.txt | 160 ++++++++++++++++++++++++++++++++++++++++++++--- > 1 file changed, 152 insertions(+), 8 deletions(-) > > diff --git a/Documentation/bcache.txt b/Documentation/bcache.txt > index 32b6c31..b8302f9 100644 > --- a/Documentation/bcache.txt > +++ b/Documentation/bcache.txt > @@ -1,4 +1,4 @@ > -Say you've got a big slow raid 6, and an X-25E or three. Wouldn't it be > +Say you've got a big slow raid 6, and an ssd or three. Wouldn't it be > nice if you could use them as cache... Hence bcache. > > Wiki and git repositories are at: > @@ -8,7 +8,7 @@ Wiki and git repositories are at: > > It's designed around the performance characteristics of SSDs - it only allocates > in erase block sized buckets, and it uses a hybrid btree/log to track cached > -extants (which can be anywhere from a single sector to the bucket size). It's > +extents (which can be anywhere from a single sector to the bucket size). It's > designed to avoid random writes at all costs; it fills up an erase block > sequentially, then issues a discard before reusing it. > > @@ -55,7 +55,10 @@ immediately. Without udev, you can manually register devices like this: > Registering the backing device makes the bcache device show up in /dev; you can > now format it and use it as normal. But the first time using a new bcache > device, it'll be running in passthrough mode until you attach it to a cache. > -See the section on attaching. > +If you are thinking about using bcache later, it is recommended to setup all your > +slow devices as bcache backing devices without a cache, and you can choose to add > +a caching device later. > +See 'ATTACHING' section below. > > The devices show up as: > > @@ -72,12 +75,14 @@ To get started: > mount /dev/bcache0 /mnt > > You can control bcache devices through sysfs at /sys/block/bcache<N>/bcache . > +You can also control them through /sys/fs//bcache/<cset-uuid>/ . > > Cache devices are managed as sets; multiple caches per set isn't supported yet > but will allow for mirroring of metadata and dirty data in the future. Your new > cache set shows up as /sys/fs/bcache/<UUID> > > -ATTACHING: > +ATTACHING > +--------- > > After your cache device and backing device are registered, the backing device > must be attached to your cache set to enable caching. Attaching a backing > @@ -105,7 +110,8 @@ but all the cached data will be invalidated. If there was dirty data in the > cache, don't expect the filesystem to be recoverable - you will have massive > filesystem corruption, though ext4's fsck does work miracles. > > -ERROR HANDLING: > +ERROR HANDLING > +-------------- > > Bcache tries to transparently handle IO errors to/from the cache device without > affecting normal operation; if it sees too many errors (the threshold is > @@ -127,7 +133,143 @@ the backing devices to passthrough mode. > writeback mode). It currently doesn't do anything intelligent if it fails to > read some of the dirty data, though. > > -TROUBLESHOOTING PERFORMANCE: > + > +HOWTO/COOKBOOK > +-------------- > + > +A) Your bcache doesn't start. > + Starting and starting a bcache with a missing caching device > + > +Registering the backing device doesn't help, it's already there, you just need > +to force it to run without the cache: > +host:~# echo /dev/sdb1 > /sys/fs/bcache/register > +[ 119.844831] bcache: register_bcache() error opening /dev/sdb1: device already registered > + > +Next, you try to register your caching device if it's present. However if it's > +absent, or registration fails for some reason, you can still start your bcache > +without its cache, like so: > +host:/sys/block/sdb/sdb1/bcache# echo 1 > running > + > + > +B) Bcache not finding its cache and not starting > + > +This does not work: > +host:/sys/block/md5/bcache# echo 0226553a-37cf-41d5-b3ce-8b1e944543a8 > attach > +[ 1933.455082] bcache: bch_cached_dev_attach() Couldn't find uuid for md5 in set > +[ 1933.478179] bcache: __cached_dev_store() Can't attach 0226553a-37cf-41d5-b3ce-8b1e944543a8 > +[ 1933.478179] : cache set not found > + > +In this case, the caching device was simply not registered at boot or > +disappeared and came back, and needs to be (re-)registered: > +host:/sys/block/md5/bcache# echo /dev/sdh2 > /sys/fs/bcache/register > + > + > +C) Corrupt bcache caching device crashes the kernel on startup/boot > + > +You'll have to wipe the caching device, start the backing device without the > +cache, and you can re-attach the cleaned up caching device then. This does > +require booting with a kernel/rescue media where bcache is disabled > +since it will otherwise try to access your device and probably crash > +again before you have a chance to wipe it. > +(or if you plan ahead, compile a backup kernel with bcache disabled and keep it > +in your grub config for a rainy day) > +If bcache is not available in the kernel, a filesystem on the backing device is > +still available at an 8KiB offset. So either via a loopdev of the backing device > +created with --offset 8K or by temporarily increasing the start sector of the > +partition by 16 (512byte sectors). > + > +This is how you wipe the caching device: > +host:~# wipefs -a /dev/sdh2 > +16 bytes were erased at offset 0x1018 (bcache) > +they were: c6 85 73 f6 4e 1a 45 ca 82 65 f5 7f 48 ba 6d 81 > + > +After you boot back with bcache enabled, you recreate the cache and attach it: > +host:~# make-bcache -C /dev/sdh2 > +UUID: 7be7e175-8f4c-4f99-94b2-9c904d227045 > +Set UUID: 5bc072a8-ab17-446d-9744-e247949913c1 > +version: 0 > +nbuckets: 106874 > +block_size: 1 > +bucket_size: 1024 > +nr_in_set: 1 > +nr_this_dev: 0 > +first_bucket: 1 > +[ 650.511912] bcache: run_cache_set() invalidating existing data > +[ 650.549228] bcache: register_cache() registered cache device sdh2 > + > +start backing device with missing cache: > +host:/sys/block/md5/bcache# echo 1 > running > + > +attach new cache: > +host:/sys/block/md5/bcache# echo 5bc072a8-ab17-446d-9744-e247949913c1 > attach > +[ 865.276616] bcache: bch_cached_dev_attach() Caching md5 as bcache0 on set 5bc072a8-ab17-446d-9744-e247949913c1 > + > + > +D) Remove or replace a caching device > + > +host:/sys/block/sda/sda7/bcache# echo 1 > detach > +[ 695.872542] bcache: cached_dev_detach_finish() Caching disabled for sda7 > + > +host:~# wipefs -a /dev/nvme0n1p4 > +wipefs: error: /dev/nvme0n1p4: probing initialization failed: Device or resource busy > +Ooops, it's disabled, but not unregistered, so it's still protected > + > +We need to go and unregister it: > +host:/sys/fs/bcache/b7ba27a1-2398-4649-8ae3-0959f57ba128# ls -l cache0 > +lrwxrwxrwx 1 root root 0 Feb 25 18:33 cache0 -> ../../../devices/pci0000:00/0000:00:1d.0/0000:70:00.0/nvme/nvme0/nvme0n1/nvme0n1p4/bcache/ > +host:/sys/fs/bcache/b7ba27a1-2398-4649-8ae3-0959f57ba128# echo 1 > stop > +kernel: [ 917.041908] bcache: cache_set_free() Cache set b7ba27a1-2398-4649-8ae3-0959f57ba128 unregistered > + > +Now we can wipe it: > +host:~# wipefs -a /dev/nvme0n1p4 > +/dev/nvme0n1p4: 16 bytes were erased at offset 0x00001018 (bcache): c6 85 73 f6 4e 1a 45 ca 82 65 f5 7f 48 ba 6d 81 > + > + > +E) dmcrypt and bcache > + > +First setup bcache unencrypted and then install dmcrypt on top of /dev/bcache<N> > +This will work faster than if you dmcrypt both the backing and caching > +devices and then install bcache on top. > + > + > +F) Stop/free a registered bcache to wipe and/or recreate it > +(or maybe you need to free up all bcache references so that you can have fdisk > +run and re-register a changed partition table, which won't work if there are any > +active backing or caching devices left on it) > + > +1) Is it present in /dev/bcache* ? (there are times where it won't be) > +If so, it's easy: > +host:/sys/block/bcache0/bcache# echo 1 > stop > + > +2) But if your backing device is gone, this won't work: > +host:/sys/block/bcache0# cd bcache > +bash: cd: bcache: No such file or directory > + > +In this case, you may have to unregister the dmcrypt block device that > +references this bcache to free it up: > +host:~# dmsetup remove oldds1 > +bcache: bcache_device_free() bcache0 stopped > +bcache: cache_set_free() Cache set 5bc072a8-ab17-446d-9744-e247949913c1 unregistered > + > +This causes the backing bcache to be removed from /sys/fs/bcache and then it can > +be reused > + > +3) In other cases, you can also look in /sys/fs/bcache/: > +host:/sys/fs/bcache# ls -l */{cache?,bdev?} > +lrwxrwxrwx 1 root root 0 Mar 5 09:39 0226553a-37cf-41d5-b3ce-8b1e944543a8/bdev1 -> ../../../devices/virtual/block/dm-1/bcache/ > +lrwxrwxrwx 1 root root 0 Mar 5 09:39 0226553a-37cf-41d5-b3ce-8b1e944543a8/cache0 -> ../../../devices/virtual/block/dm-4/bcache/ > +lrwxrwxrwx 1 root root 0 Mar 5 09:39 5bc072a8-ab17-446d-9744-e247949913c1/cache0 -> ../../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/ata10/host9/target9:0:0/9:0:0:0/block/sdl/sdl2/bcache/ > + > +The device names will show which UUID is relevant, cd in that directory > +and stop the cache: > +host:/sys/fs/bcache/5bc072a8-ab17-446d-9744-e247949913c1# echo 1 > stop > +this will free up bcache references and let you reuse the partition for other > +purposes. > + > + > + > +TROUBLESHOOTING PERFORMANCE > +--------------------------- > > Bcache has a bunch of config options and tunables. The defaults are intended to > be reasonable for typical desktop and server workloads, but they're not what you > @@ -140,7 +282,7 @@ want for getting the best possible numbers when benchmarking. > maturity, but simply because in writeback mode you'll lose data if something > happens to your SSD) > > - # echo writeback > /sys/block/bcache0/cache_mode > + # echo writeback > /sys/block/bcache0/bcache/cache_mode > > - Bad performance, or traffic not going to the SSD that you'd expect > > @@ -193,7 +335,9 @@ want for getting the best possible numbers when benchmarking. > Solution: warm the cache by doing writes, or use the testing branch (there's > a fix for the issue there). > > -SYSFS - BACKING DEVICE: > + > +SYSFS - BACKING DEVICE > +---------------------- > > Available at /sys/block/<bdev>/bcache, /sys/block/bcache*/bcache and > (if attached) /sys/fs/bcache/<cset-uuid>/bdev* > -- > 2.5.3 > > > -- > "A mouse is a device used to point at the xterm you want to type in" - A.S.R. > Microsoft is to operating systems .... > .... what McDonalds is to gourmet cooking > Home page: http://marc.merlins.org/ | PGP 1024R/763BE901 > -- > To unsubscribe from this list: send the line "unsubscribe linux-bcache" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PULL v4.6-rc1] bcache: documentation updates 2016-03-12 7:59 ` [PULL] bcache: bcache: documentation updates and corrections Eric Wheeler @ 2016-03-29 1:09 ` Eric Wheeler [not found] ` <CAKhhfD7C+CAnUEXfUX=g3bT=TX3QkyLvQnh0eWNJxcK4MeYnHA@mail.gmail.com> 0 siblings, 1 reply; 9+ messages in thread From: Eric Wheeler @ 2016-03-29 1:09 UTC (permalink / raw) To: axboe; +Cc: linux-bcache, Marc MERLIN, kent.overstreet Hi Jens, I've rebased documentation updates against 4.6-rc1. There is some reflow and trailing whitespace cleanup, so its not pretty---but it cleans fills in some missing documentation and adds corrections: git pull https://bitbucket.org/ewheelerinc/linux v4.6-rc1-bcache-documentation -- Eric Wheeler On Sat, 12 Mar 2016, Eric Wheeler wrote: > Hi Jens, > > Please pull: > > Documentation updates for bcache: > git pull https://bitbucket.org/ewheelerinc/linux.git v4.5-rc7-bcache-fixes-2 > > > -- > Eric Wheeler > > On Fri, 11 Mar 2016, Marc MERLIN wrote: > > > Bcache documentation updates: > > - Added new HOWTO/COOKBOOK section > > - fixed a few typos > > - /sys/block/bcache0/cache_mode is /sys/block/bcache0/bcache/cache_mode > > > > Signed-off-by: Marc MERLIN <marc@merlins.org> > > --- > > Documentation/bcache.txt | 160 ++++++++++++++++++++++++++++++++++++++++++++--- > > 1 file changed, 152 insertions(+), 8 deletions(-) > > > > diff --git a/Documentation/bcache.txt b/Documentation/bcache.txt > > index 32b6c31..b8302f9 100644 > > --- a/Documentation/bcache.txt > > +++ b/Documentation/bcache.txt > > @@ -1,4 +1,4 @@ > > -Say you've got a big slow raid 6, and an X-25E or three. Wouldn't it be > > +Say you've got a big slow raid 6, and an ssd or three. Wouldn't it be > > nice if you could use them as cache... Hence bcache. > > > > Wiki and git repositories are at: > > @@ -8,7 +8,7 @@ Wiki and git repositories are at: > > > > It's designed around the performance characteristics of SSDs - it only allocates > > in erase block sized buckets, and it uses a hybrid btree/log to track cached > > -extants (which can be anywhere from a single sector to the bucket size). It's > > +extents (which can be anywhere from a single sector to the bucket size). It's > > designed to avoid random writes at all costs; it fills up an erase block > > sequentially, then issues a discard before reusing it. > > > > @@ -55,7 +55,10 @@ immediately. Without udev, you can manually register devices like this: > > Registering the backing device makes the bcache device show up in /dev; you can > > now format it and use it as normal. But the first time using a new bcache > > device, it'll be running in passthrough mode until you attach it to a cache. > > -See the section on attaching. > > +If you are thinking about using bcache later, it is recommended to setup all your > > +slow devices as bcache backing devices without a cache, and you can choose to add > > +a caching device later. > > +See 'ATTACHING' section below. > > > > The devices show up as: > > > > @@ -72,12 +75,14 @@ To get started: > > mount /dev/bcache0 /mnt > > > > You can control bcache devices through sysfs at /sys/block/bcache<N>/bcache . > > +You can also control them through /sys/fs//bcache/<cset-uuid>/ . > > > > Cache devices are managed as sets; multiple caches per set isn't supported yet > > but will allow for mirroring of metadata and dirty data in the future. Your new > > cache set shows up as /sys/fs/bcache/<UUID> > > > > -ATTACHING: > > +ATTACHING > > +--------- > > > > After your cache device and backing device are registered, the backing device > > must be attached to your cache set to enable caching. Attaching a backing > > @@ -105,7 +110,8 @@ but all the cached data will be invalidated. If there was dirty data in the > > cache, don't expect the filesystem to be recoverable - you will have massive > > filesystem corruption, though ext4's fsck does work miracles. > > > > -ERROR HANDLING: > > +ERROR HANDLING > > +-------------- > > > > Bcache tries to transparently handle IO errors to/from the cache device without > > affecting normal operation; if it sees too many errors (the threshold is > > @@ -127,7 +133,143 @@ the backing devices to passthrough mode. > > writeback mode). It currently doesn't do anything intelligent if it fails to > > read some of the dirty data, though. > > > > -TROUBLESHOOTING PERFORMANCE: > > + > > +HOWTO/COOKBOOK > > +-------------- > > + > > +A) Your bcache doesn't start. > > + Starting and starting a bcache with a missing caching device > > + > > +Registering the backing device doesn't help, it's already there, you just need > > +to force it to run without the cache: > > +host:~# echo /dev/sdb1 > /sys/fs/bcache/register > > +[ 119.844831] bcache: register_bcache() error opening /dev/sdb1: device already registered > > + > > +Next, you try to register your caching device if it's present. However if it's > > +absent, or registration fails for some reason, you can still start your bcache > > +without its cache, like so: > > +host:/sys/block/sdb/sdb1/bcache# echo 1 > running > > + > > + > > +B) Bcache not finding its cache and not starting > > + > > +This does not work: > > +host:/sys/block/md5/bcache# echo 0226553a-37cf-41d5-b3ce-8b1e944543a8 > attach > > +[ 1933.455082] bcache: bch_cached_dev_attach() Couldn't find uuid for md5 in set > > +[ 1933.478179] bcache: __cached_dev_store() Can't attach 0226553a-37cf-41d5-b3ce-8b1e944543a8 > > +[ 1933.478179] : cache set not found > > + > > +In this case, the caching device was simply not registered at boot or > > +disappeared and came back, and needs to be (re-)registered: > > +host:/sys/block/md5/bcache# echo /dev/sdh2 > /sys/fs/bcache/register > > + > > + > > +C) Corrupt bcache caching device crashes the kernel on startup/boot > > + > > +You'll have to wipe the caching device, start the backing device without the > > +cache, and you can re-attach the cleaned up caching device then. This does > > +require booting with a kernel/rescue media where bcache is disabled > > +since it will otherwise try to access your device and probably crash > > +again before you have a chance to wipe it. > > +(or if you plan ahead, compile a backup kernel with bcache disabled and keep it > > +in your grub config for a rainy day) > > +If bcache is not available in the kernel, a filesystem on the backing device is > > +still available at an 8KiB offset. So either via a loopdev of the backing device > > +created with --offset 8K or by temporarily increasing the start sector of the > > +partition by 16 (512byte sectors). > > + > > +This is how you wipe the caching device: > > +host:~# wipefs -a /dev/sdh2 > > +16 bytes were erased at offset 0x1018 (bcache) > > +they were: c6 85 73 f6 4e 1a 45 ca 82 65 f5 7f 48 ba 6d 81 > > + > > +After you boot back with bcache enabled, you recreate the cache and attach it: > > +host:~# make-bcache -C /dev/sdh2 > > +UUID: 7be7e175-8f4c-4f99-94b2-9c904d227045 > > +Set UUID: 5bc072a8-ab17-446d-9744-e247949913c1 > > +version: 0 > > +nbuckets: 106874 > > +block_size: 1 > > +bucket_size: 1024 > > +nr_in_set: 1 > > +nr_this_dev: 0 > > +first_bucket: 1 > > +[ 650.511912] bcache: run_cache_set() invalidating existing data > > +[ 650.549228] bcache: register_cache() registered cache device sdh2 > > + > > +start backing device with missing cache: > > +host:/sys/block/md5/bcache# echo 1 > running > > + > > +attach new cache: > > +host:/sys/block/md5/bcache# echo 5bc072a8-ab17-446d-9744-e247949913c1 > attach > > +[ 865.276616] bcache: bch_cached_dev_attach() Caching md5 as bcache0 on set 5bc072a8-ab17-446d-9744-e247949913c1 > > + > > + > > +D) Remove or replace a caching device > > + > > +host:/sys/block/sda/sda7/bcache# echo 1 > detach > > +[ 695.872542] bcache: cached_dev_detach_finish() Caching disabled for sda7 > > + > > +host:~# wipefs -a /dev/nvme0n1p4 > > +wipefs: error: /dev/nvme0n1p4: probing initialization failed: Device or resource busy > > +Ooops, it's disabled, but not unregistered, so it's still protected > > + > > +We need to go and unregister it: > > +host:/sys/fs/bcache/b7ba27a1-2398-4649-8ae3-0959f57ba128# ls -l cache0 > > +lrwxrwxrwx 1 root root 0 Feb 25 18:33 cache0 -> ../../../devices/pci0000:00/0000:00:1d.0/0000:70:00.0/nvme/nvme0/nvme0n1/nvme0n1p4/bcache/ > > +host:/sys/fs/bcache/b7ba27a1-2398-4649-8ae3-0959f57ba128# echo 1 > stop > > +kernel: [ 917.041908] bcache: cache_set_free() Cache set b7ba27a1-2398-4649-8ae3-0959f57ba128 unregistered > > + > > +Now we can wipe it: > > +host:~# wipefs -a /dev/nvme0n1p4 > > +/dev/nvme0n1p4: 16 bytes were erased at offset 0x00001018 (bcache): c6 85 73 f6 4e 1a 45 ca 82 65 f5 7f 48 ba 6d 81 > > + > > + > > +E) dmcrypt and bcache > > + > > +First setup bcache unencrypted and then install dmcrypt on top of /dev/bcache<N> > > +This will work faster than if you dmcrypt both the backing and caching > > +devices and then install bcache on top. > > + > > + > > +F) Stop/free a registered bcache to wipe and/or recreate it > > +(or maybe you need to free up all bcache references so that you can have fdisk > > +run and re-register a changed partition table, which won't work if there are any > > +active backing or caching devices left on it) > > + > > +1) Is it present in /dev/bcache* ? (there are times where it won't be) > > +If so, it's easy: > > +host:/sys/block/bcache0/bcache# echo 1 > stop > > + > > +2) But if your backing device is gone, this won't work: > > +host:/sys/block/bcache0# cd bcache > > +bash: cd: bcache: No such file or directory > > + > > +In this case, you may have to unregister the dmcrypt block device that > > +references this bcache to free it up: > > +host:~# dmsetup remove oldds1 > > +bcache: bcache_device_free() bcache0 stopped > > +bcache: cache_set_free() Cache set 5bc072a8-ab17-446d-9744-e247949913c1 unregistered > > + > > +This causes the backing bcache to be removed from /sys/fs/bcache and then it can > > +be reused > > + > > +3) In other cases, you can also look in /sys/fs/bcache/: > > +host:/sys/fs/bcache# ls -l */{cache?,bdev?} > > +lrwxrwxrwx 1 root root 0 Mar 5 09:39 0226553a-37cf-41d5-b3ce-8b1e944543a8/bdev1 -> ../../../devices/virtual/block/dm-1/bcache/ > > +lrwxrwxrwx 1 root root 0 Mar 5 09:39 0226553a-37cf-41d5-b3ce-8b1e944543a8/cache0 -> ../../../devices/virtual/block/dm-4/bcache/ > > +lrwxrwxrwx 1 root root 0 Mar 5 09:39 5bc072a8-ab17-446d-9744-e247949913c1/cache0 -> ../../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/ata10/host9/target9:0:0/9:0:0:0/block/sdl/sdl2/bcache/ > > + > > +The device names will show which UUID is relevant, cd in that directory > > +and stop the cache: > > +host:/sys/fs/bcache/5bc072a8-ab17-446d-9744-e247949913c1# echo 1 > stop > > +this will free up bcache references and let you reuse the partition for other > > +purposes. > > + > > + > > + > > +TROUBLESHOOTING PERFORMANCE > > +--------------------------- > > > > Bcache has a bunch of config options and tunables. The defaults are intended to > > be reasonable for typical desktop and server workloads, but they're not what you > > @@ -140,7 +282,7 @@ want for getting the best possible numbers when benchmarking. > > maturity, but simply because in writeback mode you'll lose data if something > > happens to your SSD) > > > > - # echo writeback > /sys/block/bcache0/cache_mode > > + # echo writeback > /sys/block/bcache0/bcache/cache_mode > > > > - Bad performance, or traffic not going to the SSD that you'd expect > > > > @@ -193,7 +335,9 @@ want for getting the best possible numbers when benchmarking. > > Solution: warm the cache by doing writes, or use the testing branch (there's > > a fix for the issue there). > > > > -SYSFS - BACKING DEVICE: > > + > > +SYSFS - BACKING DEVICE > > +---------------------- > > > > Available at /sys/block/<bdev>/bcache, /sys/block/bcache*/bcache and > > (if attached) /sys/fs/bcache/<cset-uuid>/bdev* > > -- > > 2.5.3 > > > > > > -- > > "A mouse is a device used to point at the xterm you want to type in" - A.S.R. > > Microsoft is to operating systems .... > > .... what McDonalds is to gourmet cooking > > Home page: http://marc.merlins.org/ | PGP 1024R/763BE901 > > -- > > To unsubscribe from this list: send the line "unsubscribe linux-bcache" in > > the body of a message to majordomo@vger.kernel.org > > More majordomo info at http://vger.kernel.org/majordomo-info.html > > > ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <CAKhhfD7C+CAnUEXfUX=g3bT=TX3QkyLvQnh0eWNJxcK4MeYnHA@mail.gmail.com>]
* Re: [PULL v4.6-rc1] bcache: documentation updates [not found] ` <CAKhhfD7C+CAnUEXfUX=g3bT=TX3QkyLvQnh0eWNJxcK4MeYnHA@mail.gmail.com> @ 2016-04-14 7:11 ` Eric Wheeler 2016-05-30 14:43 ` Marc MERLIN 0 siblings, 1 reply; 9+ messages in thread From: Eric Wheeler @ 2016-04-14 7:11 UTC (permalink / raw) To: Marc MERLIN; +Cc: linux-bcache, linux-doc, kent.overstreet [ +cc: linux-doc, kent ] On Tue, 12 Apr 2016, Marc MERLIN wrote: > On Mon, Mar 28, 2016 at 6:09 PM, Eric Wheeler <bcache@lists.ewheeler.net> wrote: > > git pull https://bitbucket.org/ewheelerinc/linux v4.6-rc1-bcache-documentation > > Hi Eric, > > Do I have a way to find out if your patch was pulled? I've not seen them in the commit history for 4.6-rc3: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/log/?id=v4.6-rc3&qt=grep&q=bcache: Hello linux-doc list! There is a bcache documentation update available: > > git pull https://bitbucket.org/ewheelerinc/linux v4.6-rc1-bcache-documentation Is this the right list to submit such documentation? -- Eric Wheeler > > Thanks, > Marc > > On Mon, Mar 28, 2016 at 6:09 PM, Eric Wheeler <bcache@lists.ewheeler.net> wrote: > > Hi Jens, > > > > I've rebased documentation updates against 4.6-rc1. There is some reflow > > and trailing whitespace cleanup, so its not pretty---but it cleans > > fills in some missing documentation and adds corrections: > > > > git pull https://bitbucket.org/ewheelerinc/linux v4.6-rc1-bcache-documentation > > > > > > -- > > Eric Wheeler > > > > On Sat, 12 Mar 2016, Eric Wheeler wrote: > > > >> Hi Jens, > >> > >> Please pull: > >> > >> Documentation updates for bcache: > >> git pull https://bitbucket.org/ewheelerinc/linux.git v4.5-rc7-bcache-fixes-2 > >> > >> > >> -- > >> Eric Wheeler > >> > >> On Fri, 11 Mar 2016, Marc MERLIN wrote: > >> > >> > Bcache documentation updates: > >> > - Added new HOWTO/COOKBOOK section > >> > - fixed a few typos > >> > - /sys/block/bcache0/cache_mode is /sys/block/bcache0/bcache/cache_mode > >> > > >> > Signed-off-by: Marc MERLIN <marc@merlins.org> > >> > --- > >> > Documentation/bcache.txt | 160 ++++++++++++++++++++++++++++++++++++++++++++--- > >> > 1 file changed, 152 insertions(+), 8 deletions(-) > >> > > >> > diff --git a/Documentation/bcache.txt b/Documentation/bcache.txt > >> > index 32b6c31..b8302f9 100644 > >> > --- a/Documentation/bcache.txt > >> > +++ b/Documentation/bcache.txt > >> > @@ -1,4 +1,4 @@ > >> > -Say you've got a big slow raid 6, and an X-25E or three. Wouldn't it be > >> > +Say you've got a big slow raid 6, and an ssd or three. Wouldn't it be > >> > nice if you could use them as cache... Hence bcache. > >> > > >> > Wiki and git repositories are at: > >> > @@ -8,7 +8,7 @@ Wiki and git repositories are at: > >> > > >> > It's designed around the performance characteristics of SSDs - it only allocates > >> > in erase block sized buckets, and it uses a hybrid btree/log to track cached > >> > -extants (which can be anywhere from a single sector to the bucket size). It's > >> > +extents (which can be anywhere from a single sector to the bucket size). It's > >> > designed to avoid random writes at all costs; it fills up an erase block > >> > sequentially, then issues a discard before reusing it. > >> > > >> > @@ -55,7 +55,10 @@ immediately. Without udev, you can manually register devices like this: > >> > Registering the backing device makes the bcache device show up in /dev; you can > >> > now format it and use it as normal. But the first time using a new bcache > >> > device, it'll be running in passthrough mode until you attach it to a cache. > >> > -See the section on attaching. > >> > +If you are thinking about using bcache later, it is recommended to setup all your > >> > +slow devices as bcache backing devices without a cache, and you can choose to add > >> > +a caching device later. > >> > +See 'ATTACHING' section below. > >> > > >> > The devices show up as: > >> > > >> > @@ -72,12 +75,14 @@ To get started: > >> > mount /dev/bcache0 /mnt > >> > > >> > You can control bcache devices through sysfs at /sys/block/bcache<N>/bcache . > >> > +You can also control them through /sys/fs//bcache/<cset-uuid>/ . > >> > > >> > Cache devices are managed as sets; multiple caches per set isn't supported yet > >> > but will allow for mirroring of metadata and dirty data in the future. Your new > >> > cache set shows up as /sys/fs/bcache/<UUID> > >> > > >> > -ATTACHING: > >> > +ATTACHING > >> > +--------- > >> > > >> > After your cache device and backing device are registered, the backing device > >> > must be attached to your cache set to enable caching. Attaching a backing > >> > @@ -105,7 +110,8 @@ but all the cached data will be invalidated. If there was dirty data in the > >> > cache, don't expect the filesystem to be recoverable - you will have massive > >> > filesystem corruption, though ext4's fsck does work miracles. > >> > > >> > -ERROR HANDLING: > >> > +ERROR HANDLING > >> > +-------------- > >> > > >> > Bcache tries to transparently handle IO errors to/from the cache device without > >> > affecting normal operation; if it sees too many errors (the threshold is > >> > @@ -127,7 +133,143 @@ the backing devices to passthrough mode. > >> > writeback mode). It currently doesn't do anything intelligent if it fails to > >> > read some of the dirty data, though. > >> > > >> > -TROUBLESHOOTING PERFORMANCE: > >> > + > >> > +HOWTO/COOKBOOK > >> > +-------------- > >> > + > >> > +A) Your bcache doesn't start. > >> > + Starting and starting a bcache with a missing caching device > >> > + > >> > +Registering the backing device doesn't help, it's already there, you just need > >> > +to force it to run without the cache: > >> > +host:~# echo /dev/sdb1 > /sys/fs/bcache/register > >> > +[ 119.844831] bcache: register_bcache() error opening /dev/sdb1: device already registered > >> > + > >> > +Next, you try to register your caching device if it's present. However if it's > >> > +absent, or registration fails for some reason, you can still start your bcache > >> > +without its cache, like so: > >> > +host:/sys/block/sdb/sdb1/bcache# echo 1 > running > >> > + > >> > + > >> > +B) Bcache not finding its cache and not starting > >> > + > >> > +This does not work: > >> > +host:/sys/block/md5/bcache# echo 0226553a-37cf-41d5-b3ce-8b1e944543a8 > attach > >> > +[ 1933.455082] bcache: bch_cached_dev_attach() Couldn't find uuid for md5 in set > >> > +[ 1933.478179] bcache: __cached_dev_store() Can't attach 0226553a-37cf-41d5-b3ce-8b1e944543a8 > >> > +[ 1933.478179] : cache set not found > >> > + > >> > +In this case, the caching device was simply not registered at boot or > >> > +disappeared and came back, and needs to be (re-)registered: > >> > +host:/sys/block/md5/bcache# echo /dev/sdh2 > /sys/fs/bcache/register > >> > + > >> > + > >> > +C) Corrupt bcache caching device crashes the kernel on startup/boot > >> > + > >> > +You'll have to wipe the caching device, start the backing device without the > >> > +cache, and you can re-attach the cleaned up caching device then. This does > >> > +require booting with a kernel/rescue media where bcache is disabled > >> > +since it will otherwise try to access your device and probably crash > >> > +again before you have a chance to wipe it. > >> > +(or if you plan ahead, compile a backup kernel with bcache disabled and keep it > >> > +in your grub config for a rainy day) > >> > +If bcache is not available in the kernel, a filesystem on the backing device is > >> > +still available at an 8KiB offset. So either via a loopdev of the backing device > >> > +created with --offset 8K or by temporarily increasing the start sector of the > >> > +partition by 16 (512byte sectors). > >> > + > >> > +This is how you wipe the caching device: > >> > +host:~# wipefs -a /dev/sdh2 > >> > +16 bytes were erased at offset 0x1018 (bcache) > >> > +they were: c6 85 73 f6 4e 1a 45 ca 82 65 f5 7f 48 ba 6d 81 > >> > + > >> > +After you boot back with bcache enabled, you recreate the cache and attach it: > >> > +host:~# make-bcache -C /dev/sdh2 > >> > +UUID: 7be7e175-8f4c-4f99-94b2-9c904d227045 > >> > +Set UUID: 5bc072a8-ab17-446d-9744-e247949913c1 > >> > +version: 0 > >> > +nbuckets: 106874 > >> > +block_size: 1 > >> > +bucket_size: 1024 > >> > +nr_in_set: 1 > >> > +nr_this_dev: 0 > >> > +first_bucket: 1 > >> > +[ 650.511912] bcache: run_cache_set() invalidating existing data > >> > +[ 650.549228] bcache: register_cache() registered cache device sdh2 > >> > + > >> > +start backing device with missing cache: > >> > +host:/sys/block/md5/bcache# echo 1 > running > >> > + > >> > +attach new cache: > >> > +host:/sys/block/md5/bcache# echo 5bc072a8-ab17-446d-9744-e247949913c1 > attach > >> > +[ 865.276616] bcache: bch_cached_dev_attach() Caching md5 as bcache0 on set 5bc072a8-ab17-446d-9744-e247949913c1 > >> > + > >> > + > >> > +D) Remove or replace a caching device > >> > + > >> > +host:/sys/block/sda/sda7/bcache# echo 1 > detach > >> > +[ 695.872542] bcache: cached_dev_detach_finish() Caching disabled for sda7 > >> > + > >> > +host:~# wipefs -a /dev/nvme0n1p4 > >> > +wipefs: error: /dev/nvme0n1p4: probing initialization failed: Device or resource busy > >> > +Ooops, it's disabled, but not unregistered, so it's still protected > >> > + > >> > +We need to go and unregister it: > >> > +host:/sys/fs/bcache/b7ba27a1-2398-4649-8ae3-0959f57ba128# ls -l cache0 > >> > +lrwxrwxrwx 1 root root 0 Feb 25 18:33 cache0 -> ../../../devices/pci0000:00/0000:00:1d.0/0000:70:00.0/nvme/nvme0/nvme0n1/nvme0n1p4/bcache/ > >> > +host:/sys/fs/bcache/b7ba27a1-2398-4649-8ae3-0959f57ba128# echo 1 > stop > >> > +kernel: [ 917.041908] bcache: cache_set_free() Cache set b7ba27a1-2398-4649-8ae3-0959f57ba128 unregistered > >> > + > >> > +Now we can wipe it: > >> > +host:~# wipefs -a /dev/nvme0n1p4 > >> > +/dev/nvme0n1p4: 16 bytes were erased at offset 0x00001018 (bcache): c6 85 73 f6 4e 1a 45 ca 82 65 f5 7f 48 ba 6d 81 > >> > + > >> > + > >> > +E) dmcrypt and bcache > >> > + > >> > +First setup bcache unencrypted and then install dmcrypt on top of /dev/bcache<N> > >> > +This will work faster than if you dmcrypt both the backing and caching > >> > +devices and then install bcache on top. > >> > + > >> > + > >> > +F) Stop/free a registered bcache to wipe and/or recreate it > >> > +(or maybe you need to free up all bcache references so that you can have fdisk > >> > +run and re-register a changed partition table, which won't work if there are any > >> > +active backing or caching devices left on it) > >> > + > >> > +1) Is it present in /dev/bcache* ? (there are times where it won't be) > >> > +If so, it's easy: > >> > +host:/sys/block/bcache0/bcache# echo 1 > stop > >> > + > >> > +2) But if your backing device is gone, this won't work: > >> > +host:/sys/block/bcache0# cd bcache > >> > +bash: cd: bcache: No such file or directory > >> > + > >> > +In this case, you may have to unregister the dmcrypt block device that > >> > +references this bcache to free it up: > >> > +host:~# dmsetup remove oldds1 > >> > +bcache: bcache_device_free() bcache0 stopped > >> > +bcache: cache_set_free() Cache set 5bc072a8-ab17-446d-9744-e247949913c1 unregistered > >> > + > >> > +This causes the backing bcache to be removed from /sys/fs/bcache and then it can > >> > +be reused > >> > + > >> > +3) In other cases, you can also look in /sys/fs/bcache/: > >> > +host:/sys/fs/bcache# ls -l */{cache?,bdev?} > >> > +lrwxrwxrwx 1 root root 0 Mar 5 09:39 0226553a-37cf-41d5-b3ce-8b1e944543a8/bdev1 -> ../../../devices/virtual/block/dm-1/bcache/ > >> > +lrwxrwxrwx 1 root root 0 Mar 5 09:39 0226553a-37cf-41d5-b3ce-8b1e944543a8/cache0 -> ../../../devices/virtual/block/dm-4/bcache/ > >> > +lrwxrwxrwx 1 root root 0 Mar 5 09:39 5bc072a8-ab17-446d-9744-e247949913c1/cache0 -> ../../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/ata10/host9/target9:0:0/9:0:0:0/block/sdl/sdl2/bcache/ > >> > + > >> > +The device names will show which UUID is relevant, cd in that directory > >> > +and stop the cache: > >> > +host:/sys/fs/bcache/5bc072a8-ab17-446d-9744-e247949913c1# echo 1 > stop > >> > +this will free up bcache references and let you reuse the partition for other > >> > +purposes. > >> > + > >> > + > >> > + > >> > +TROUBLESHOOTING PERFORMANCE > >> > +--------------------------- > >> > > >> > Bcache has a bunch of config options and tunables. The defaults are intended to > >> > be reasonable for typical desktop and server workloads, but they're not what you > >> > @@ -140,7 +282,7 @@ want for getting the best possible numbers when benchmarking. > >> > maturity, but simply because in writeback mode you'll lose data if something > >> > happens to your SSD) > >> > > >> > - # echo writeback > /sys/block/bcache0/cache_mode > >> > + # echo writeback > /sys/block/bcache0/bcache/cache_mode > >> > > >> > - Bad performance, or traffic not going to the SSD that you'd expect > >> > > >> > @@ -193,7 +335,9 @@ want for getting the best possible numbers when benchmarking. > >> > Solution: warm the cache by doing writes, or use the testing branch (there's > >> > a fix for the issue there). > >> > > >> > -SYSFS - BACKING DEVICE: > >> > + > >> > +SYSFS - BACKING DEVICE > >> > +---------------------- > >> > > >> > Available at /sys/block/<bdev>/bcache, /sys/block/bcache*/bcache and > >> > (if attached) /sys/fs/bcache/<cset-uuid>/bdev* > >> > -- > >> > 2.5.3 > >> > > >> > > >> > -- > >> > "A mouse is a device used to point at the xterm you want to type in" - A.S.R. > >> > Microsoft is to operating systems .... > >> > .... what McDonalds is to gourmet cooking > >> > Home page: http://marc.merlins.org/ | PGP 1024R/763BE901 > >> > -- > >> > To unsubscribe from this list: send the line "unsubscribe linux-bcache" in > >> > the body of a message to majordomo@vger.kernel.org > >> > More majordomo info at http://vger.kernel.org/majordomo-info.html > >> > > >> > > > > -- > "A mouse is a device used to point at the xterm you want to type in" - A.S.R. > Microsoft is to operating systems & security .... > .... what McDonalds is to gourmet cooking > Home page: http://marc.merlins.org/ > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PULL v4.6-rc1] bcache: documentation updates 2016-04-14 7:11 ` Eric Wheeler @ 2016-05-30 14:43 ` Marc MERLIN 2016-05-31 22:55 ` Jonathan Corbet 0 siblings, 1 reply; 9+ messages in thread From: Marc MERLIN @ 2016-05-30 14:43 UTC (permalink / raw) To: Eric Wheeler, Jonathan Corbet; +Cc: linux-bcache, linux-doc, kent.overstreet On Thu, Apr 14, 2016 at 07:11:10AM +0000, Eric Wheeler wrote: > [ +cc: linux-doc, kent ] +jon > On Tue, 12 Apr 2016, Marc MERLIN wrote: > > On Mon, Mar 28, 2016 at 6:09 PM, Eric Wheeler <bcache@lists.ewheeler.net> wrote: > > > git pull https://bitbucket.org/ewheelerinc/linux v4.6-rc1-bcache-documentation > > > > Hi Eric, > > > > Do I have a way to find out if your patch was pulled? > > I've not seen them in the commit history for 4.6-rc3: > https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/log/?id=v4.6-rc3&qt=grep&q=bcache: > > > Hello linux-doc list! > > There is a bcache documentation update available: > > > > git pull https://bitbucket.org/ewheelerinc/linux v4.6-rc1-bcache-documentation > > Is this the right list to submit such documentation? Howdy, I just pulled 4.6 and noticed the doc updates from Eric and me don't seem to have made it. Jon, would you know who can help getting those in? I wrote them before 4.5 came out :) Thanks, Marc > > > > Thanks, > > Marc > > > > On Mon, Mar 28, 2016 at 6:09 PM, Eric Wheeler <bcache@lists.ewheeler.net> wrote: > > > Hi Jens, > > > > > > I've rebased documentation updates against 4.6-rc1. There is some reflow > > > and trailing whitespace cleanup, so its not pretty---but it cleans > > > fills in some missing documentation and adds corrections: > > > > > > git pull https://bitbucket.org/ewheelerinc/linux v4.6-rc1-bcache-documentation > > > > > > > > > -- > > > Eric Wheeler > > > > > > On Sat, 12 Mar 2016, Eric Wheeler wrote: > > > > > >> Hi Jens, > > >> > > >> Please pull: > > >> > > >> Documentation updates for bcache: > > >> git pull https://bitbucket.org/ewheelerinc/linux.git v4.5-rc7-bcache-fixes-2 > > >> > > >> > > >> -- > > >> Eric Wheeler > > >> > > >> On Fri, 11 Mar 2016, Marc MERLIN wrote: > > >> > > >> > Bcache documentation updates: > > >> > - Added new HOWTO/COOKBOOK section > > >> > - fixed a few typos > > >> > - /sys/block/bcache0/cache_mode is /sys/block/bcache0/bcache/cache_mode > > >> > > > >> > Signed-off-by: Marc MERLIN <marc@merlins.org> > > >> > --- > > >> > Documentation/bcache.txt | 160 ++++++++++++++++++++++++++++++++++++++++++++--- > > >> > 1 file changed, 152 insertions(+), 8 deletions(-) > > >> > > > >> > diff --git a/Documentation/bcache.txt b/Documentation/bcache.txt > > >> > index 32b6c31..b8302f9 100644 > > >> > --- a/Documentation/bcache.txt > > >> > +++ b/Documentation/bcache.txt > > >> > @@ -1,4 +1,4 @@ > > >> > -Say you've got a big slow raid 6, and an X-25E or three. Wouldn't it be > > >> > +Say you've got a big slow raid 6, and an ssd or three. Wouldn't it be > > >> > nice if you could use them as cache... Hence bcache. > > >> > > > >> > Wiki and git repositories are at: > > >> > @@ -8,7 +8,7 @@ Wiki and git repositories are at: > > >> > > > >> > It's designed around the performance characteristics of SSDs - it only allocates > > >> > in erase block sized buckets, and it uses a hybrid btree/log to track cached > > >> > -extants (which can be anywhere from a single sector to the bucket size). It's > > >> > +extents (which can be anywhere from a single sector to the bucket size). It's > > >> > designed to avoid random writes at all costs; it fills up an erase block > > >> > sequentially, then issues a discard before reusing it. > > >> > > > >> > @@ -55,7 +55,10 @@ immediately. Without udev, you can manually register devices like this: > > >> > Registering the backing device makes the bcache device show up in /dev; you can > > >> > now format it and use it as normal. But the first time using a new bcache > > >> > device, it'll be running in passthrough mode until you attach it to a cache. > > >> > -See the section on attaching. > > >> > +If you are thinking about using bcache later, it is recommended to setup all your > > >> > +slow devices as bcache backing devices without a cache, and you can choose to add > > >> > +a caching device later. > > >> > +See 'ATTACHING' section below. > > >> > > > >> > The devices show up as: > > >> > > > >> > @@ -72,12 +75,14 @@ To get started: > > >> > mount /dev/bcache0 /mnt > > >> > > > >> > You can control bcache devices through sysfs at /sys/block/bcache<N>/bcache . > > >> > +You can also control them through /sys/fs//bcache/<cset-uuid>/ . > > >> > > > >> > Cache devices are managed as sets; multiple caches per set isn't supported yet > > >> > but will allow for mirroring of metadata and dirty data in the future. Your new > > >> > cache set shows up as /sys/fs/bcache/<UUID> > > >> > > > >> > -ATTACHING: > > >> > +ATTACHING > > >> > +--------- > > >> > > > >> > After your cache device and backing device are registered, the backing device > > >> > must be attached to your cache set to enable caching. Attaching a backing > > >> > @@ -105,7 +110,8 @@ but all the cached data will be invalidated. If there was dirty data in the > > >> > cache, don't expect the filesystem to be recoverable - you will have massive > > >> > filesystem corruption, though ext4's fsck does work miracles. > > >> > > > >> > -ERROR HANDLING: > > >> > +ERROR HANDLING > > >> > +-------------- > > >> > > > >> > Bcache tries to transparently handle IO errors to/from the cache device without > > >> > affecting normal operation; if it sees too many errors (the threshold is > > >> > @@ -127,7 +133,143 @@ the backing devices to passthrough mode. > > >> > writeback mode). It currently doesn't do anything intelligent if it fails to > > >> > read some of the dirty data, though. > > >> > > > >> > -TROUBLESHOOTING PERFORMANCE: > > >> > + > > >> > +HOWTO/COOKBOOK > > >> > +-------------- > > >> > + > > >> > +A) Your bcache doesn't start. > > >> > + Starting and starting a bcache with a missing caching device > > >> > + > > >> > +Registering the backing device doesn't help, it's already there, you just need > > >> > +to force it to run without the cache: > > >> > +host:~# echo /dev/sdb1 > /sys/fs/bcache/register > > >> > +[ 119.844831] bcache: register_bcache() error opening /dev/sdb1: device already registered > > >> > + > > >> > +Next, you try to register your caching device if it's present. However if it's > > >> > +absent, or registration fails for some reason, you can still start your bcache > > >> > +without its cache, like so: > > >> > +host:/sys/block/sdb/sdb1/bcache# echo 1 > running > > >> > + > > >> > + > > >> > +B) Bcache not finding its cache and not starting > > >> > + > > >> > +This does not work: > > >> > +host:/sys/block/md5/bcache# echo 0226553a-37cf-41d5-b3ce-8b1e944543a8 > attach > > >> > +[ 1933.455082] bcache: bch_cached_dev_attach() Couldn't find uuid for md5 in set > > >> > +[ 1933.478179] bcache: __cached_dev_store() Can't attach 0226553a-37cf-41d5-b3ce-8b1e944543a8 > > >> > +[ 1933.478179] : cache set not found > > >> > + > > >> > +In this case, the caching device was simply not registered at boot or > > >> > +disappeared and came back, and needs to be (re-)registered: > > >> > +host:/sys/block/md5/bcache# echo /dev/sdh2 > /sys/fs/bcache/register > > >> > + > > >> > + > > >> > +C) Corrupt bcache caching device crashes the kernel on startup/boot > > >> > + > > >> > +You'll have to wipe the caching device, start the backing device without the > > >> > +cache, and you can re-attach the cleaned up caching device then. This does > > >> > +require booting with a kernel/rescue media where bcache is disabled > > >> > +since it will otherwise try to access your device and probably crash > > >> > +again before you have a chance to wipe it. > > >> > +(or if you plan ahead, compile a backup kernel with bcache disabled and keep it > > >> > +in your grub config for a rainy day) > > >> > +If bcache is not available in the kernel, a filesystem on the backing device is > > >> > +still available at an 8KiB offset. So either via a loopdev of the backing device > > >> > +created with --offset 8K or by temporarily increasing the start sector of the > > >> > +partition by 16 (512byte sectors). > > >> > + > > >> > +This is how you wipe the caching device: > > >> > +host:~# wipefs -a /dev/sdh2 > > >> > +16 bytes were erased at offset 0x1018 (bcache) > > >> > +they were: c6 85 73 f6 4e 1a 45 ca 82 65 f5 7f 48 ba 6d 81 > > >> > + > > >> > +After you boot back with bcache enabled, you recreate the cache and attach it: > > >> > +host:~# make-bcache -C /dev/sdh2 > > >> > +UUID: 7be7e175-8f4c-4f99-94b2-9c904d227045 > > >> > +Set UUID: 5bc072a8-ab17-446d-9744-e247949913c1 > > >> > +version: 0 > > >> > +nbuckets: 106874 > > >> > +block_size: 1 > > >> > +bucket_size: 1024 > > >> > +nr_in_set: 1 > > >> > +nr_this_dev: 0 > > >> > +first_bucket: 1 > > >> > +[ 650.511912] bcache: run_cache_set() invalidating existing data > > >> > +[ 650.549228] bcache: register_cache() registered cache device sdh2 > > >> > + > > >> > +start backing device with missing cache: > > >> > +host:/sys/block/md5/bcache# echo 1 > running > > >> > + > > >> > +attach new cache: > > >> > +host:/sys/block/md5/bcache# echo 5bc072a8-ab17-446d-9744-e247949913c1 > attach > > >> > +[ 865.276616] bcache: bch_cached_dev_attach() Caching md5 as bcache0 on set 5bc072a8-ab17-446d-9744-e247949913c1 > > >> > + > > >> > + > > >> > +D) Remove or replace a caching device > > >> > + > > >> > +host:/sys/block/sda/sda7/bcache# echo 1 > detach > > >> > +[ 695.872542] bcache: cached_dev_detach_finish() Caching disabled for sda7 > > >> > + > > >> > +host:~# wipefs -a /dev/nvme0n1p4 > > >> > +wipefs: error: /dev/nvme0n1p4: probing initialization failed: Device or resource busy > > >> > +Ooops, it's disabled, but not unregistered, so it's still protected > > >> > + > > >> > +We need to go and unregister it: > > >> > +host:/sys/fs/bcache/b7ba27a1-2398-4649-8ae3-0959f57ba128# ls -l cache0 > > >> > +lrwxrwxrwx 1 root root 0 Feb 25 18:33 cache0 -> ../../../devices/pci0000:00/0000:00:1d.0/0000:70:00.0/nvme/nvme0/nvme0n1/nvme0n1p4/bcache/ > > >> > +host:/sys/fs/bcache/b7ba27a1-2398-4649-8ae3-0959f57ba128# echo 1 > stop > > >> > +kernel: [ 917.041908] bcache: cache_set_free() Cache set b7ba27a1-2398-4649-8ae3-0959f57ba128 unregistered > > >> > + > > >> > +Now we can wipe it: > > >> > +host:~# wipefs -a /dev/nvme0n1p4 > > >> > +/dev/nvme0n1p4: 16 bytes were erased at offset 0x00001018 (bcache): c6 85 73 f6 4e 1a 45 ca 82 65 f5 7f 48 ba 6d 81 > > >> > + > > >> > + > > >> > +E) dmcrypt and bcache > > >> > + > > >> > +First setup bcache unencrypted and then install dmcrypt on top of /dev/bcache<N> > > >> > +This will work faster than if you dmcrypt both the backing and caching > > >> > +devices and then install bcache on top. > > >> > + > > >> > + > > >> > +F) Stop/free a registered bcache to wipe and/or recreate it > > >> > +(or maybe you need to free up all bcache references so that you can have fdisk > > >> > +run and re-register a changed partition table, which won't work if there are any > > >> > +active backing or caching devices left on it) > > >> > + > > >> > +1) Is it present in /dev/bcache* ? (there are times where it won't be) > > >> > +If so, it's easy: > > >> > +host:/sys/block/bcache0/bcache# echo 1 > stop > > >> > + > > >> > +2) But if your backing device is gone, this won't work: > > >> > +host:/sys/block/bcache0# cd bcache > > >> > +bash: cd: bcache: No such file or directory > > >> > + > > >> > +In this case, you may have to unregister the dmcrypt block device that > > >> > +references this bcache to free it up: > > >> > +host:~# dmsetup remove oldds1 > > >> > +bcache: bcache_device_free() bcache0 stopped > > >> > +bcache: cache_set_free() Cache set 5bc072a8-ab17-446d-9744-e247949913c1 unregistered > > >> > + > > >> > +This causes the backing bcache to be removed from /sys/fs/bcache and then it can > > >> > +be reused > > >> > + > > >> > +3) In other cases, you can also look in /sys/fs/bcache/: > > >> > +host:/sys/fs/bcache# ls -l */{cache?,bdev?} > > >> > +lrwxrwxrwx 1 root root 0 Mar 5 09:39 0226553a-37cf-41d5-b3ce-8b1e944543a8/bdev1 -> ../../../devices/virtual/block/dm-1/bcache/ > > >> > +lrwxrwxrwx 1 root root 0 Mar 5 09:39 0226553a-37cf-41d5-b3ce-8b1e944543a8/cache0 -> ../../../devices/virtual/block/dm-4/bcache/ > > >> > +lrwxrwxrwx 1 root root 0 Mar 5 09:39 5bc072a8-ab17-446d-9744-e247949913c1/cache0 -> ../../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/ata10/host9/target9:0:0/9:0:0:0/block/sdl/sdl2/bcache/ > > >> > + > > >> > +The device names will show which UUID is relevant, cd in that directory > > >> > +and stop the cache: > > >> > +host:/sys/fs/bcache/5bc072a8-ab17-446d-9744-e247949913c1# echo 1 > stop > > >> > +this will free up bcache references and let you reuse the partition for other > > >> > +purposes. > > >> > + > > >> > + > > >> > + > > >> > +TROUBLESHOOTING PERFORMANCE > > >> > +--------------------------- > > >> > > > >> > Bcache has a bunch of config options and tunables. The defaults are intended to > > >> > be reasonable for typical desktop and server workloads, but they're not what you > > >> > @@ -140,7 +282,7 @@ want for getting the best possible numbers when benchmarking. > > >> > maturity, but simply because in writeback mode you'll lose data if something > > >> > happens to your SSD) > > >> > > > >> > - # echo writeback > /sys/block/bcache0/cache_mode > > >> > + # echo writeback > /sys/block/bcache0/bcache/cache_mode > > >> > > > >> > - Bad performance, or traffic not going to the SSD that you'd expect > > >> > > > >> > @@ -193,7 +335,9 @@ want for getting the best possible numbers when benchmarking. > > >> > Solution: warm the cache by doing writes, or use the testing branch (there's > > >> > a fix for the issue there). > > >> > > > >> > -SYSFS - BACKING DEVICE: > > >> > + > > >> > +SYSFS - BACKING DEVICE > > >> > +---------------------- > > >> > > > >> > Available at /sys/block/<bdev>/bcache, /sys/block/bcache*/bcache and > > >> > (if attached) /sys/fs/bcache/<cset-uuid>/bdev* > > >> > -- > > >> > 2.5.3 > > >> > > > >> > > > >> > -- > > >> > "A mouse is a device used to point at the xterm you want to type in" - A.S.R. > > >> > Microsoft is to operating systems .... > > >> > .... what McDonalds is to gourmet cooking > > >> > Home page: http://marc.merlins.org/ | PGP 1024R/763BE901 > > >> > -- > > >> > To unsubscribe from this list: send the line "unsubscribe linux-bcache" in > > >> > the body of a message to majordomo@vger.kernel.org > > >> > More majordomo info at http://vger.kernel.org/majordomo-info.html > > >> > > > >> > > > > > > > > -- > > "A mouse is a device used to point at the xterm you want to type in" - A.S.R. > > Microsoft is to operating systems & security .... > > .... what McDonalds is to gourmet cooking > > Home page: http://marc.merlins.org/ > > > -- "A mouse is a device used to point at the xterm you want to type in" - A.S.R. Microsoft is to operating systems .... .... what McDonalds is to gourmet cooking Home page: http://marc.merlins.org/ | PGP 1024R/763BE901 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PULL v4.6-rc1] bcache: documentation updates 2016-05-30 14:43 ` Marc MERLIN @ 2016-05-31 22:55 ` Jonathan Corbet 2016-05-31 23:02 ` Marc MERLIN 0 siblings, 1 reply; 9+ messages in thread From: Jonathan Corbet @ 2016-05-31 22:55 UTC (permalink / raw) To: Marc MERLIN; +Cc: Eric Wheeler, linux-bcache, linux-doc, kent.overstreet On Mon, 30 May 2016 07:43:09 -0700 Marc MERLIN <marc@merlins.org> wrote: > > There is a bcache documentation update available: > > > > > > git pull https://bitbucket.org/ewheelerinc/linux v4.6-rc1-bcache-documentation > > > > Is this the right list to submit such documentation? > > Howdy, > > I just pulled 4.6 and noticed the doc updates from Eric and me don't > seem to have made it. > > Jon, would you know who can help getting those in? I wrote them before > 4.5 came out :) I don't think I ever saw this, was it sent to me? How about we post the docs as patches and go from there? Thanks, jon ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PULL v4.6-rc1] bcache: documentation updates 2016-05-31 22:55 ` Jonathan Corbet @ 2016-05-31 23:02 ` Marc MERLIN 2016-06-09 19:30 ` Jonathan Corbet 0 siblings, 1 reply; 9+ messages in thread From: Marc MERLIN @ 2016-05-31 23:02 UTC (permalink / raw) To: Jonathan Corbet; +Cc: Eric Wheeler, linux-bcache, linux-doc, kent.overstreet On Tue, May 31, 2016 at 04:55:08PM -0600, Jonathan Corbet wrote: > On Mon, 30 May 2016 07:43:09 -0700 > Marc MERLIN <marc@merlins.org> wrote: > > > > There is a bcache documentation update available: > > > > > > > > git pull https://bitbucket.org/ewheelerinc/linux v4.6-rc1-bcache-documentation > > > > > > Is this the right list to submit such documentation? > > > > Howdy, > > > > I just pulled 4.6 and noticed the doc updates from Eric and me don't > > seem to have made it. > > > > Jon, would you know who can help getting those in? I wrote them before > > 4.5 came out :) > > I don't think I ever saw this, was it sent to me? No I think Eric Emailed linux-doc@vger.kernel.org, instead of you directly. > How about we post the docs as patches and go from there? His posted tree contains them. Here are the 2 patches: https://bitbucket.org/ewheelerinc/linux/commits/606d51faf12382a2a8ab049a5a931533be720386?at=v4.6-rc1-bcache-documentation https://bitbucket.org/ewheelerinc/linux/commits/69d2dc24a24415901983a045e1f9c7ab1ebb71c4?at=v4.6-rc1-bcache-documentation (both should be applied) Thanks for looking at this. Marc -- "A mouse is a device used to point at the xterm you want to type in" - A.S.R. Microsoft is to operating systems .... .... what McDonalds is to gourmet cooking Home page: http://marc.merlins.org/ ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PULL v4.6-rc1] bcache: documentation updates 2016-05-31 23:02 ` Marc MERLIN @ 2016-06-09 19:30 ` Jonathan Corbet 2016-06-16 18:44 ` Eric Wheeler 0 siblings, 1 reply; 9+ messages in thread From: Jonathan Corbet @ 2016-06-09 19:30 UTC (permalink / raw) To: Marc MERLIN; +Cc: Eric Wheeler, linux-bcache, linux-doc, kent.overstreet On Tue, 31 May 2016 16:02:16 -0700 Marc MERLIN <marc@merlins.org> wrote: > > I don't think I ever saw this, was it sent to me? > > No I think Eric Emailed linux-doc@vger.kernel.org, instead of you directly. Eric, can you resend the patches to me, and I'll get them applied? Thanks, jon ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PULL v4.6-rc1] bcache: documentation updates 2016-06-09 19:30 ` Jonathan Corbet @ 2016-06-16 18:44 ` Eric Wheeler 0 siblings, 0 replies; 9+ messages in thread From: Eric Wheeler @ 2016-06-16 18:44 UTC (permalink / raw) To: Jonathan Corbet; +Cc: Marc MERLIN, linux-bcache, linux-doc, kent.overstreet On Thu, 9 Jun 2016, Jonathan Corbet wrote: > On Tue, 31 May 2016 16:02:16 -0700 > Marc MERLIN <marc@merlins.org> wrote: > > > > I don't think I ever saw this, was it sent to me? > > > > No I think Eric Emailed linux-doc@vger.kernel.org, instead of you directly. > > Eric, can you resend the patches to me, and I'll get them applied? Now posted to the list. Thank you for your help! -- Eric Wheeler > > Thanks, > > jon > -- > To unsubscribe from this list: send the line "unsubscribe linux-bcache" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2016-06-16 18:44 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2016-03-12 5:00 [PATCH] Small fixes and added HOWTO section Marc MERLIN 2016-03-12 7:59 ` [PULL] bcache: bcache: documentation updates and corrections Eric Wheeler 2016-03-29 1:09 ` [PULL v4.6-rc1] bcache: documentation updates Eric Wheeler [not found] ` <CAKhhfD7C+CAnUEXfUX=g3bT=TX3QkyLvQnh0eWNJxcK4MeYnHA@mail.gmail.com> 2016-04-14 7:11 ` Eric Wheeler 2016-05-30 14:43 ` Marc MERLIN 2016-05-31 22:55 ` Jonathan Corbet 2016-05-31 23:02 ` Marc MERLIN 2016-06-09 19:30 ` Jonathan Corbet 2016-06-16 18:44 ` Eric Wheeler
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.