bcache: check and set sync status on cache's in-memory super block
Currently the cache's sync status is checked and set on cache set's in- memory partial super block. After removing the embedded struct cache_sb from cache set and reference cache's in-memory super block from struct cache_set, the sync status can set and check directly on cache's super block. This patch checks and sets the cache sync status directly on cache's in-memory super block. This is a preparation for later removing embedded struct cache_sb from struct cache_set. Signed-off-by: Coly Li <colyli@suse.de> Reviewed-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
@@ -711,7 +711,7 @@ SHOW(__bch_cache_set)
|
||||
{
|
||||
struct cache_set *c = container_of(kobj, struct cache_set, kobj);
|
||||
|
||||
sysfs_print(synchronous, CACHE_SYNC(&c->sb));
|
||||
sysfs_print(synchronous, CACHE_SYNC(&c->cache->sb));
|
||||
sysfs_print(journal_delay_ms, c->journal_delay_ms);
|
||||
sysfs_hprint(bucket_size, bucket_bytes(c->cache));
|
||||
sysfs_hprint(block_size, block_bytes(c->cache));
|
||||
@@ -812,8 +812,8 @@ STORE(__bch_cache_set)
|
||||
if (attr == &sysfs_synchronous) {
|
||||
bool sync = strtoul_or_return(buf);
|
||||
|
||||
if (sync != CACHE_SYNC(&c->sb)) {
|
||||
SET_CACHE_SYNC(&c->sb, sync);
|
||||
if (sync != CACHE_SYNC(&c->cache->sb)) {
|
||||
SET_CACHE_SYNC(&c->cache->sb, sync);
|
||||
bcache_write_super(c);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user