 
     user = username(opts.project_id)
     async.series([
+        (cb) ->
+            if opts.wait_for_replicate and opts.unset_loc
+                dbg("making a first snapshot and replicating it out, to minimize user inconvenience later")
+                snapshot
+                    project_id : opts.project_id
+                    host       : opts.host
+                    force      : true
+                    wait_for_replicate : opts.wait_for_replicate
+                    cb         : cb
+            else
+                cb()
         (cb) ->
             dbg("killing all processes")
             create_user

            execute_on
                host    : opts.host
                command : "sudo zfs snapshot #{name}"
                timeout : 10
                cb      : cb
        (cb) ->
            dbg("record in database that we made a snapshot")

        cb         : undefined

    dbg = (m) -> winston.debug("rollback_to_snapshot(#{opts.project_id},#{opts.host},#{opts.snapshot}): #{m}")
    snapshot_name = opts.snapshot
    f = filesystem(opts.project_id)

    async.series([
        (cb) ->
            if snapshot_name?
                if snapshot_name.indexOf('@') == -1
                    snapshot_name = opts.project_id + "@" + snapshot_name
                cb()
            else
                dbg("get most recent snapshot name")
