Lines Matching refs:to
10 in erase block sized buckets, and it uses a hybrid btree/log to track cached
11 extants (which can be anywhere from a single sector to the bucket size). It's
12 designed to avoid random writes at all costs; it fills up an erase block
15 Both writethrough and writeback caching are supported. Writeback defaults to
16 off, but can be switched on and off arbitrarily at runtime. Bcache goes to
17 great lengths to protect your data - it reliably handles unclean shutdown. (It
22 dirty data to the backing device is always done sequentially, scanning from the
23 start to the end of the index.
26 to caching large sequential IO. Bcache detects sequential IO and skips it;
32 In the event of a data IO error on the flash it will try to recover by reading
36 to be flushed.
44 make-bcache has the ability to format multiple devices at the same time - if
46 have to manually attach:
49 bcache-tools now ships udev rules, and bcache devices are known to the kernel
57 device, it'll be running in passthrough mode until you attach it to a cache.
83 must be attached to your cache set to enable caching. Attaching a backing
84 device to a cache set is done thusly, with the UUID of the cache set in
89 This only has to be done once. The next time you reboot, just reregister all
99 (You need to use /sys/block/sdb (or whatever your backing device is called), not
105 cache, don't expect the filesystem to be recoverable - you will have massive
110 Bcache tries to transparently handle IO errors to/from the cache device without
112 configurable, and defaults to 0) it shuts down the cache device and switches all
113 the backing devices to passthrough mode.
118 - For writethrough writes, if the write to the cache errors we just switch to
122 - For writeback writes, we currently pass that error back up to the
124 that skips the cache so we don't have to error the write.
126 - When we detach, we first try to flush any dirty data (if we were running in
127 writeback mode). It currently doesn't do anything intelligent if it fails to
132 Bcache has a bunch of config options and tunables. The defaults are intended to
138 If write performance is not what you expected, you probably wanted to be
139 running in writeback mode, which isn't the default (not due to a lack of
141 happens to your SSD)
145 - Bad performance, or traffic not going to the SSD that you'd expect
147 By default, bcache doesn't cache everything. It tries to skip sequential IO -
148 because you really want to be caching the random IO, and if you copy a 10
152 But if you want to benchmark reads from cache, and you start out with fio
153 writing an 8 gigabyte test file - so you want to disable that.
157 To set it back to the default (4 mb), do
161 - Traffic's still going to the spindle/still getting cache misses
165 you want to avoid being bottlenecked by the SSD and having it slow everything
168 To avoid that bcache tracks latency to the cache device, and gradually
172 You can disable this if you need to by setting the thresholds to 0:
181 One last issue that sometimes trips people up is actually an old bug, due to
183 a cache miss won't be able to insert a key for the new data and the data
184 won't be written to the cache.
187 cause the btree node to be split, and you need almost no write traffic for
188 this to not show up enough to be noticeable (especially since bcache's btree
190 benchmarking, if you're trying to warm the cache by reading a bunch of data
202 Echo the UUID of a cache set to this file to enable caching.
208 Writing to this file resets the running total stats (not the day/hour/5 minute
212 Write to this file to detach from a cache set. If there is dirty data in the
223 Size of readahead that should be performed. Defaults to 0. If set to e.g.
224 1M, it will round cache miss reads up to that size, but without overlapping
237 If non zero, bcache keeps a list of the last 128 requests submitted to compare
238 against all new requests to determine which new requests are sequential
246 no cache: Has never been attached to a cache set.
257 Write to this file to shut down the bcache device and close the backing
261 When dirty data is written to the cache and it previously did not contain
262 any, waits some number of seconds before initiating writeback. Defaults to
266 If nonzero, bcache tries to keep around this percentage of the cache dirty by
267 throttling background writeback and using a PD controller to smoothly adjust
272 writeback is throttled to this rate. Continuously adjusted by bcache but may
277 still be added to the cache until it is mostly full; only meant for
278 benchmarking. Defaults to on.
297 Hits and misses for IO that is intended to skip the cache are still counted,
301 Counts instances where data was going to be inserted into the cache from a
316 Symlink to each of the attached backing devices.
328 Symlink to each of the cache devices comprising this cache set.
343 Echoing a size to this file (in human readable units, k/M/G) creates a thinly
353 Journal writes will delay for up to this many milliseconds, unless a cache
354 flush happens sooner. Defaults to 100.
361 Write to this file to shut down the cache set - waits until all attached
369 present it will disable writeback caching and wait for it to be flushed.
398 Writing to this file forces garbage collection to run.
417 Boolean; if on a discard/TRIM will be issued to each bucket before it is
418 reused. Defaults to off, since SATA TRIM is an unqueued command (and thus
422 Size of the freelist as a percentage of nbuckets. Can be written to to
426 since buckets are discarded when they move on to the freelist will also make
447 Sum of all data that has been written to the cache; comparison with