#!/sbin/openrc-run # Crear una instancia mediante un enlace, por ejemplo: # ln -s virtiofsd /etc/init.d/virtiofsd.fr3_web instance_name() { case ${RC_SVCNAME} in virtiofsd.?*) printf '%s\n' "${RC_SVCNAME#virtiofsd.}" ;; *) return 1 ;; esac } depend() { need localmount before libvirtd } start() { local name conf name=$(instance_name) || { eerror "Service name must include an instance (e.g. virtiofsd.fr3_web)" return 1 } conf="/etc/virtiofsd/${name}.conf" if [ ! -f "$conf" ]; then eerror "No configuration found for $name" return 1 fi . "$conf" if [ -z "${EXTRA_ARGS+x}" ]; then EXTRA_ARGS=--xattr fi checkpath -d -m 0755 /run/virtiofsd ebegin "Starting virtiofsd for $name" start-stop-daemon --start --background \ --make-pidfile --pidfile "/run/virtiofsd-${name}.pid" \ --exec /usr/libexec/virtiofsd -- \ --socket-path="/run/virtiofsd/${name}.sock" \ --shared-dir="${SHARED_DIR}" \ --inode-file-handles="${INODE_HANDLES:-prefer}" \ --announce-submounts \ --cache="${CACHE:-auto}" \ --sandbox="${SANDBOX:-namespace}" \ ${EXTRA_ARGS} eend $? } stop() { local name name=$(instance_name) || { eerror "Service name must include an instance (e.g. virtiofsd.fr3_web)" return 1 } ebegin "Stopping virtiofsd for $name" start-stop-daemon --stop --pidfile "/run/virtiofsd-${name}.pid" eend $? }