| # Copyright (c) 2010 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. |
| |
| # rpc_pipefs - NFSv4 rpc_pipefs mounter |
| |
| # mounts/unmounts the rpc_pipefs filesystem on /var/lib/nfs/rpc_pipefs |
| # this is needed by gssd and idmapd and the mount will not happen if |
| # these are not running / used |
| |
| # This is modified from Ubuntu's rpc_pipefs.conf |
| |
| description "Mount the rpc_pipefs filesystem for NFSv4" |
| author "chromium-os-dev@chromium.org" |
| |
| #console output |
| |
| start on (starting gssd or starting idmapd) |
| stop on (stopped gssd and stopped idmapd) |
| |
| env PIPEFS_MOUNTPOINT=/var/lib/nfs/rpc_pipefs |
| |
| pre-start script |
| . /etc/init/lib/nfs-check-setup |
| |
| if [ "$NEED_IDMAPD" != "yes" ] && [ "$NEED_GSSD" != "yes" ]; then |
| stop |
| exit 0 |
| fi |
| |
| modprobe -q sunrpc || true |
| |
| # Make sure we have the rpc_pipefs filesystem |
| grep -qs rpc_pipefs /proc/filesystems || return 1 |
| |
| # If things are already mounted, let's just return |
| grep -qs "rpc_pipefs $PIPEFS_MOUNTPOINT" /proc/mounts && return 0 |
| |
| mkdir -p $PIPEFS_MOUNTPOINT |
| mount -t rpc_pipefs rpc_pipefs "$PIPEFS_MOUNTPOINT" |
| end script |
| |
| post-stop script |
| # Unmount, but only if mounted |
| grep -qs "rpc_pipefs $PIPEFS_MOUNTPOINT" /proc/mounts && umount "$PIPEFS_MOUNTPOINT" |
| end script |