#!/bin/bash -efu
# SPDX-License-Identifier: GPL-2.0-only

. /.initrd/initenv

[ "${RDLOG-}" != 'console' ] &&
	logfile=/var/log/mounts.log ||
	logfile=/dev/console

exec >"$logfile" 2>&1

. shell-error
. uevent-sh-functions

message_time=1

with_shell=
! findmnt --help | grep -qse --shell || with_shell=1

findmnt --poll --pairs ${with_shell:+--shell} |
while read -r ev; do
	{
		ACTION="" TARGET="" SOURCE="" FSTYPE="" OPTIONS=""
		eval "$ev"

		event="$(make_event mount)"
		printf '%s\n' "$ev" > "$event"
		release_event "mount.${TARGET//[\/.]/_}" "$event"
	} &
done
