         return
     exists = bup = undefined
     async.series([
+        (cb) ->
+            fs.exists '/bups', (exists) ->
+                if not exists
+                    cb("/bups directory not mounted -- no bup access")
+                else
+                    cb()
         (cb) ->
             fs.exists join('/projects', opts.project_id), (_exists) ->
                 # not an error -- this means project was never used at all (and saved)

    dbg()
    bup = source = undefined
    async.series([
        (cb) ->
            dbg("rsync bup repo from Google cloud storage -- first get list of available repos")
            misc_node.execute_code

            opts.cb()
        else
            opts.cb(errors)

    fs.exists '/bups', (exists) ->
        if not exists
            opts.cb("/bups directory not mounted -- no bup access")
        else
            async.mapLimit(opts.projects, opts.threads, f, finish)


# Make snapshot of project using bup to local cache, then
