# Copyright 2020 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     "Chrome OS Virtual File Provider"
author          "chromium-os-dev@chromium.org"

start on started arc-boot-continue or starting arcvm-post-login-services
stop on stopped arc-boot-continue or stopping arcvm-post-login-services

# Can be killed if OOM.
oom score -100

# Memory usage depends on number of / size of files opened by users.
# Setting a loose limit of 1GB.
limit as 1000000000 unlimited

exec /usr/bin/virtual-file-provider-jailed

# Wait for daemon to claim its D-Bus name before transitioning to started.
post-start exec minijail0 -u virtual-file-provider -g virtual-file-provider \
    /usr/bin/gdbus wait --system --timeout 15 org.chromium.VirtualFileProvider
