# Copyright 2016 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

description   "Mount ARC++ image files"
author        "chromium-os-dev@chromium.org"

start on starting boot-services

# Do everything in pre-start to block arc-ureadahead job.
# This mounts ARC images. The images will never be unmounted.
pre-start exec /usr/sbin/arc-setup --mode=onetime-setup \
    "--log_tag=${UPSTART_JOB}"

# This job does not have script/exec stanza, so it is considered running forever
# once started. See: http://upstart.ubuntu.com/cookbook/#jobs-that-run-forever

# This is for push_to_device.py, NOT for production.
# This unmounts ARC images.
post-stop exec /usr/sbin/arc-setup --mode=onetime-stop \
    "--log_tag=${UPSTART_JOB}"
