%PDF- %PDF-
Direktori : /proc/self/root/proc/self/root/etc/udev/rules.d/ |
Current File : //proc/self/root/proc/self/root/etc/udev/rules.d/99-digitalocean-automount.rules |
# Only try to automount DO block volumes. SUBSYSTEM!="block", GOTO="do_automount_end" ENV{ID_VENDOR}!="DO", GOTO="do_automount_end" ENV{ID_MODEL}!="Volume", GOTO="do_automount_end" # Only automount on the "add" action. ACTION!="add", GOTO="do_automount_end" # Only try to automount filesystems we know about. ENV{ID_FS_TYPE}!="ext4|xfs", GOTO="do_automount_end" # Create a temporary mountpoint and temporary location for the first-mount script. IMPORT{program}="/bin/sh -c 'echo TMP_MOUNT_DIR=$(mktemp -d -p /mnt .do-first-mount-XXXXXXXXX)'" # Handle temporary mountpoint creation failure. ENV{TMP_MOUNT_DIR}=="", GOTO="do_automount_end" IMPORT{program}="/bin/sh -c 'echo TMP_SCRIPT=$(mktemp -t .do-first-mount-XXXXXXXXX.sh)'" # Handle temporary script location creation failure. ENV{TMP_SCRIPT}=="", PROGRAM="/bin/sh -c '/bin/rmdir %E{TMP_MOUNT_DIR} || exit 0'", GOTO="do_automount_end" # Mount the volume at the temp mountpoint and copy the script off, then unmount. RUN{program}+="/bin/mount -o ro /dev/%k %E{TMP_MOUNT_DIR}" RUN{program}+="/bin/sh -c '/bin/cp %E{TMP_MOUNT_DIR}/.first-mount.sh %E{TMP_SCRIPT} || exit 0'" RUN{program}+="/bin/umount %E{TMP_MOUNT_DIR}" RUN{program}+="/bin/rmdir %E{TMP_MOUNT_DIR}" # Run the first-mount script. If it didn't exist this will be a no-op. RUN{program}+="/bin/sh %E{TMP_SCRIPT} '%E{ID_SERIAL}' '%E{ID_FS_TYPE}' '%E{ID_SERIAL_SHORT}' '%E{ID_FS_UUID}' '%E{ID_FS_LABEL}'" # Clean up. RUN{program}+="/bin/rm %E{TMP_SCRIPT}" # Finally, try and mount the volume. On first mount this will fail, but that's # OK because the volume was already mounted by the first-mount script. RUN{program}+="/bin/sh -c '/bin/mount /dev/%k || exit 0'" LABEL="do_automount_end"