                                  (merge res-m {:partial :not-found :key key}))))
                        (aput-close multi-get res-ch (merge res-m {:status :ok}))))
                 nil)]
-       (kvs-do actx state-ch nil (kvs-checker (:kvs-ident m) cb))))
+       (if kvs-snapshot
+         (kvs-snapshot-do actx res-ch kvs-snapshot (kvs-checker kvs-ident cb))
+         (kvs-do actx state-ch nil (kvs-checker kvs-ident cb)))))
 
    :multi-change
    (fn [actx state-ch m]

                                                              :entry entry})))))
                       (aput-close scan-work res-ch (merge m {:status :ok}))))
                nil)]
       (kvs-do actx state-ch nil (kvs-checker (:kvs-ident m) cb)))))

(def op-handlers
  {:kvs-open


   :scan-changes
   (make-scan-fn :clean :changes :sq (fn [kc sq-key entry] entry))

   :snapshot
   (fn [actx state-ch m]
     (kvs-do actx state-ch (:res-ch m)
             (fn [state] [state {:status :ok :kvs-snapshot state}])))

   :sync
   (fn [actx state-ch m]
