                         cb   : cb
                 async.map(vms, f, cb)
 
-            ], opts.cb)
+            ], (err) => opts.cb?(err))
 
 class Snapshot
     constructor: (@gcloud, @name) ->

        config =
            sourceSnapshot : "global/snapshots/#{@name}"
        config.sizeGb = opts.size_GB if opts.size_GB?
        config.type = opts.type if opts.type?
        @gcloud._gce.zone(@zone).createDisk opts.name, config, (err, disk, operation, apiResponse) =>
            handle_operation(err, operation, (->dbg('done')), (err) => opts.cb?(err))



        opts = defaults opts,
            cb  : required
        @dbg("get_operations")()
        @_gce.getOperations {filter:"status ne 'DONE'", maxResults:500}, (err, operations) => opts.cb(err, operations)

    _check_db: (cb) =>
        if not @db
