Commit Graph

54 Commits

Author SHA1 Message Date
Kent Overstreet
cbde373685 On disk format updates 2016-03-11 21:18:57 -09:00
Kent Overstreet
009d6db7b0 Redo lots of stuff 2016-03-11 21:18:42 -09:00
Kent Overstreet
f45d84c6ab Add support for setting data checksum type, compression type 2015-06-19 00:57:03 -07:00
Kent Overstreet
15a004c7a2 add an option for writing old superblocks 2015-05-10 23:33:10 -07:00
Kent Overstreet
fb22ceda3e rewrite 2015-05-10 21:36:46 -07:00
Kent Overstreet
e13d21ade7 Major refactoring, add new settings to bcacheadm format 2015-03-28 23:21:33 -07:00
Slava Pestov
7ae2165053 bcache-tools: update for superblock changes
Change-Id: I660fef1366005377041cac5d75771d2fdc8c0824
2015-02-13 13:45:53 -08:00
Jacob Malevich
eb1d49d3f1 bcacheadm: fix capacity command
regression from 5730e47b

Signed-off-by: Jacob Malevich <jam@daterainc.com>

    Issue DAT-1977

Change-Id: I598ca9e5623fde441bb842580c2494fd03316f00
2015-02-12 14:05:52 -08:00
Kent Overstreet
2859e5d780 Add option to set btree node size, give it sane default
Change-Id: Ic6d0a79b8a33c8c17422e0875d9e8d3fb3ef6d98
2015-02-09 21:51:56 -08:00
Jacob Malevich
16d5881bad bcacheadm: print more info in query_dev
Also display the internal cacheset uuid for each dev, stored in
the superblock.
As well as the dev uuid stored in the struct member_info.

Signed-off-by: Jacob Malevich <jam@daterainc.com>

    Issue DAT-1913

Change-Id: Ib9815a023b0791c54ffde573fda1e9911d757c34
2015-02-02 19:38:27 -08:00
Kent Overstreet
2ef1c983d5 Display new user_uuid instead of internal cache set uuid
Change-Id: I9166876dba44de96f8e3f2da8f16728cbb57540a
2015-01-29 22:58:15 +00:00
Kent Overstreet
5730e47b6f Cleanup, rip out more code, fix compiler warnings
Change-Id: I76b410dc700a917d2717b1ceda0df061a1599144
2015-01-27 13:45:02 -08:00
Kent Overstreet
112aacfeff update stop ioctl
Change-Id: Ib1757baa0bcc48082cb36848b5f06da2cc401437
2015-01-27 13:42:24 -08:00
Kent Overstreet
3301c8dd52 Update for bcache superblock changes
Also, drop make-bcache - it's superceded by bcacheadm

Change-Id: I88ee25a1c13f2cbb0b0efa6e01bdca3f069bab62
2015-01-21 23:11:47 -08:00
jenkins
7243fbd22d Merge branch 'master' of ssh://gits.daterainc.com:2984/project/2013.KERNEL/bcache-tools
Issue DAT-
2015-01-21 00:44:46 -08:00
Slava Pestov
34c87b0e98 bcacheadm: add --writearound flag for testing, probably not useful
Change-Id: Ia4a2125a50d7b102791b8fc64b48bd102d8cdc89
2015-01-20 22:18:52 -08:00
Kent Overstreet
2f0a24917b update for bcache header changes
Change-Id: I5c64d438dac8bc28411f9a25e1be711477a3af80
2015-01-15 19:27:21 -08:00
Jacob Malevich
b765c10d0c bcacheadm: ioctl refactor
add-devs, rm-devs, and set-failed no longer need the
cacheset uuid. The cacheset already comes with the bcache_extent0
chardev.

Change-Id: I32572e865361d3c6ce759cf53f19d3f0e4cf04ce
Signed-off-by: Jacob Malevich <jam@daterainc.com>
2015-01-14 16:36:49 -08:00
Jacob Malevich
47013b3d06 bcacheadm: set disk-failed command
Given a cacheset uuid and a device uuid, set that devices
member_info to CACHE_FAILED.

Change-Id: Ideb2034b1deb5fd11efda67f85b82d8a49fe71e4
Signed-off-by: Jacob Malevich <jam@daterainc.com>
2015-01-13 13:51:21 -08:00
Jacob Malevich
4304193d31 bcacheadm: fix status for forcefully pulled devs
Cross reference the superblock with the highest sequence number
to sysfs. If there is a device shown still active in the superblock,
mark it as 'missing'.

Fixes DAT-1758

Change-Id: I13098bbde6bd4b0b402c74ed648160576605311c
Signed-off-by: Jacob Malevich <jam@daterainc.com>
2015-01-13 13:51:05 -08:00
Jacob Malevich
cbf0900b35 bcacheadm: fix variable bucket size input
If the user added n caches but <n bucket_sizes, print a message
saying that cache# will be using the default bucket_size

Change-Id: I025474ca672bf79d1c88813e6f030ba7590e820d
Signed-off-by: Jacob Malevich <jam@daterainc.com>
2015-01-12 16:42:26 -08:00
Jacob Malevich
6257974a5a bcacheadm: increase btree node size for large buckets
buckets over 512k were causing deadlocks when the btree node
size was smaller than the bucket size.

Change-Id: Icb278d75c241e9643ab1355620e3d656df52c4ee
Signed-off-by: Jacob Malevich <jam@daterainc.com>
2015-01-06 11:10:20 -08:00
Jacob Malevich
ff6acc10b4 bcacheadm: fix status and query-devs
Previously we were reading old superblocks stuck in the cache.
Pass in O_DIRECT when opening the device. This requires that
the dest buffer be memaligned.
If we are unable to read the entire superblock then increase
the buffer and try again.

Also since we now have to alloc the sb, make sure it is freed
everywhere in bcacheadm.

Fixes DAT-1609 DAT-1626

Change-Id: I04b5337b992a8569809835b5826a2656df753214
Signed-off-by: Jacob Malevich <jam@daterainc.com>
2014-12-19 14:44:24 -08:00
Jacob Malevich
34f6746c33 bcacheadm: fix list-cachesets --list-devs
list-cachesets now searches through all cache# symlinks
instead of iterating with i++. This is because bcache
doesn't immediately reuse a cache# symlink when a dev
gets removed.

Fixes DAT-1635
Progress DAT-1646

Change-Id: I6901e29dc13f4e2a76bdc49871e87f07667ec786
Signed-off-by: Jacob Malevich <jam@daterainc.com>
2014-12-19 14:44:24 -08:00
Jacob Malevich
62345dac62 bcacheadm: only fail csum check when -f is passed
Change-Id: I710f2b59940414830d08c7d018b53b84c6cbde05
Signed-off-by: Jacob Malevich <jam@daterainc.com>
2014-12-19 14:44:24 -08:00
Jacob Malevich
91ba18738e bcacheadm: add capacity command
prints the device capacity, and free space for a cacheset

example:
bcacheadm capacity -u UUID --devs

Device Name    Capacity (512 Blocks)    Free (512 Blocks)
/dev/sdb       1048576.00               1024128.00
/dev/sdc       1048576.00               1024128.00
/dev/sdd       1048576.00               1024128.00
Total          3145728.00               3072384.00

Also did some bcacheadm stats refactoring.

Change-Id: Iff5562191478c5fd9f03399a9479d3d75740904d
Signed-off-by: Jacob Malevich <jam@daterainc.com>
2014-12-19 14:43:34 -08:00
Jacob Malevich
6401e32229 bcacheadm: add query-devs --brief command
bcacheadm query-devs --brief /dev/sdb /dev/sdc /dev/sdd
will output table showing only the dev name, dev uuid,
server uuid, and cluster uuid for each device

Change-Id: I47a375c9a8f9284942befa0151fae32b0b856a53
Signed-off-by: Jacob Malevich <jam@daterainc.com>
2014-12-11 14:12:21 -08:00
Jacob Malevich
8389c1f5da bcacheadm: add command to modify sysfs attributes for
a cache or cacheset

bcacheadm modify -u csetuuid -d cacheuuid attr val
bcacheadm modify -u csetuuid attr val
bcacheadm modify --list

Change-Id: I7b8ddfb6a7cd12a7bc71870dcc10787a7d3d9e8d
Signed-off-by: Jacob Malevich <jam@daterainc.com>
2014-12-11 14:12:16 -08:00
Jacob Malevich
52789b5673 bcacheadm: fix status command
previously it wasn't properly looking through the list of
member info in the cache that has the highest seq.

Change-Id: I2a6ebf6bd0814055ec1247d0f4d79dab683115d3
Signed-off-by: Jacob Malevich <jam@daterainc.com>
2014-12-10 14:19:17 -08:00
Jacob Malevich
b375ed9755 bcacheadm: add-devs and rm-dev options
Option to add multiple devices and remove single devices.

bcacheadm add-devs --set=uuid <list of devices>
bcacheadm rm-dev <dev>

Change-Id: I4f0a287c02dfad76d8263554e455c408191ea7ba
Signed-off-by: Jacob Malevich <jam@daterainc.com>
2014-12-09 18:29:20 -08:00
Kent Overstreet
7916b2eb3b bcacheadm fixes
Change-Id: I3f6024d54aee263ef843705a0e9a02869e2a53e9
2014-12-05 19:20:03 -08:00
Jacob Malevich
7763a86ca8 Remove exit points from libbache and return error messages instead.
Change-Id: Ibd238bb63354dae841c2a70e5ded550b3c603d4b
Signed-off-by: Jacob Malevich <jam@daterainc.com>
2014-11-25 14:19:28 -08:00
Jacob Malevich
0098187201 Fix string parsing
Change-Id: I0edd8f1e247ae802cdccf871a40b50d8a8714433
Signed-off-by: Jacob Malevich <jam@daterainc.com>
2014-11-24 15:53:35 -08:00
Jacob Malevich
7a80b660c2 bcacheadm unregister devices
uses unregister ioctl to unregister a cacheset that the device
belongs to

Change-Id: I01772de3471888c4951f050b3e92f41b58c5d103
Signed-off-by: Jacob Malevich <jam@daterainc.com>
2014-11-21 14:42:07 -08:00
Jacob Malevich
6ad19a812b bcacheadm: add ability to find a dev uuid within a cacheset
simplifies input for finding stats for a single dev

Change-Id: I5d879aaa8cb68aaaedabd2bc780fbea4994e2541
Signed-off-by: Jacob Malevich <jam@daterainc.com>
2014-11-18 14:45:18 -08:00
Jacob Malevich
34980cc0df bcacheadm: dev path parsing
Parse out the dev name for list-cachesets --list-devs
This gives the dev path that will be needed for query-dev
to get the superblock

Change-Id: I333cd8a0e593e02d7635111309b8aff14050cc41
Signed-off-by: Jacob Malevich <jam@daterainc.com>
2014-11-18 14:23:02 -08:00
Jacob Malevich
4603dcf36b Option for returning only the uuid of the dev when doing a
query-dev

Change-Id: Ia055da0516bc7baac836642fa1405b77adfc5139
Signed-off-by: Jacob Malevich <jam@daterainc.com>
2014-11-14 11:24:02 -08:00
Jacob Malevich
28271115d7 bcache query-dev fixes, and don't print the sb out for status
Change-Id: I909ac15ca32a9cdecd6c7455e884d14f30ab0188
Signed-off-by: Jacob Malevich <jam@daterainc.com>
2014-11-13 17:31:39 -08:00
Jacob Malevich
3fda6adc19 bcacheadm: list-cachesets --list-devs option
lists the devices in each cacheset

Change-Id: Ie3beb38203eefc3ab64b2a3d37652964f7021e54
Signed-off-by: Jacob Malevich <jam@daterainc.com>
2014-11-13 17:08:20 -08:00
Jacob Malevich
7d34cf342e bcacheadm: register bcache ioctl already takes an argv, no need to parse it
Change-Id: I0295ebde998c038feb40332ea303935035b8e2bd
Signed-off-by: Jacob Malevich <jam@daterainc.com>
2014-11-13 12:46:03 -08:00
Jacob Malevich
34f54790d5 bcacheadm: fix tiering and backing device bugs
TODO: Support multiple devices for a single -C or -B flag

Change-Id: I73b18a39a0e0ff564600c2fc7386a785d3a10870
Signed-off-by: Jacob Malevich <jam@daterainc.com>
2014-11-12 17:51:42 -08:00
Jacob Malevich
552dc9fa7d bcacheadm: format bug fixes
bcacheadm format is now working in replacement of make-bcache

Change-Id: Ib152dde3b8dc1418d1508020529dd58e4cf5d222
Signed-off-by: Jacob Malevich <jam@daterainc.com>
2014-11-12 15:22:38 -08:00
Jacob Malevich
b602f0bf6a Update some bcacheadm error messages
Change-Id: Iddc638dacb7c68b621d686ba632da16fbe39bc15
Signed-off-by: Jacob Malevich <jam@daterainc.com>
2014-11-10 15:37:58 -08:00
Jacob Malevich
269761b11f bcacheadm status [FLAGS] <list of stats>
FLAGS:
--list	-list all stats in the uuid directory
--all	-list all stats/values in the uuid directory
--uuid	-must pass in a uuid for the cacheset

TODO:	-subdirectory stats for individual caches
	-subdirectory stats for over time stats

Change-Id: Ic7126a511fb17aa8c9ac7bf89e014ddbb719f46d
Signed-off-by: Jacob Malevich <jam@daterainc.com>
2014-11-06 15:36:38 -08:00
Jacob Malevich
637b614630 bcacheadm status <list of devs>
provides status for the newest sb version for each tier for all
the devs passed in

Change-Id: Ib6e5b08e65b5c36e7b1af0e9806efc39d069f94c
Signed-off-by: Jacob Malevich <jam@daterainc.com>
2014-11-05 17:45:57 -08:00
Jacob Malevich
bc69c8fe04 bcacheadm add list-cachesets and query-devs
Change-Id: Ie2bc7ba8293d1d493c0a215119456e4bb9e659aa
Signed-off-by: Jacob Malevich <jam@daterainc.com>
2014-10-27 17:37:25 -07:00
Jacob Malevich
ee44c4f509 set btree_node_size for the cache_sb based on bucket_size
Change-Id: I98dab6e9a221cd8781095039d653ace84ffae806
Signed-off-by: Jacob Malevich <jam@daterainc.com>
2014-10-27 12:14:38 -07:00
Jacob Malevich
e8c1cee578 Create libbcache.a.
Move make-bcache, probe-bcache, and bcache-super-show functions into a
static library called libbcache.

Change-Id: Ieed626225e08507a8ccd12f6bb0c07f64480de9b
Signed-off-by: Jacob Malevich <jam@daterainc.com>
2014-10-27 12:13:52 -07:00
Kent Overstreet
2b1176d6d5 Add crc32c support
Change-Id: I9f830560b25cc84d77f46e3670ed07c05f44adc9
2014-09-11 15:55:39 -07:00
Kent Overstreet
02c47b0373 Superblock version 6
Change-Id: Iba976c8c5a4a91dcac06145471fc70baa6a6393e
2014-08-29 21:48:17 +00:00