* new stuff to them:
                 */
                allocator_wait(ca, !atomic_read(&ca->set->prio_blocked));
-               if (CACHE_SYNC(&ca->set->sb)) {
+               if (CACHE_SYNC(&ca->sb)) {
                        /*
                         * This could deadlock if an allocation with a btree
                         * node locked ever blocked - having the btree node
 
        if (unlikely(test_bit(CACHE_SET_IO_DISABLE, &c->flags)))
                return NULL;
 
-       if (!CACHE_SYNC(&c->sb))
+       if (!CACHE_SYNC(&c->cache->sb))
                return NULL;
 
        w = journal_wait_for_write(c, bch_keylist_nkeys(keys));
 
        c->nbuckets = ca->sb.nbuckets;
        set_gc_sectors(c);
 
-       if (CACHE_SYNC(&c->sb)) {
+       if (CACHE_SYNC(&c->cache->sb)) {
                struct bkey *k;
                struct jset *j;
 
                 * everything is set up - fortunately journal entries won't be
                 * written until the SET_CACHE_SYNC() here:
                 */
-               SET_CACHE_SYNC(&c->sb, true);
+               SET_CACHE_SYNC(&c->cache->sb, true);
 
                bch_journal_next(&c->journal);
                bch_journal_meta(c, &cl);
                        if (c->cache)
                                return "duplicate cache set member";
 
-                       if (!CACHE_SYNC(&ca->sb))
-                               SET_CACHE_SYNC(&c->sb, false);
-
                        goto found;
                }
 
 
 {
        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));
        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);
                }
        }