MSV FM

[email protected]: ~ $
Path : /usr/libexec/os-probes/
File Upload :
Current < : //usr/libexec/os-probes/50mounted-tests

#!/bin/sh
# Sub-tests that require a mounted partition.
set -e
partition="$1"

. /usr/share/os-prober/common.sh

do_unmount() {
	if [ "$mounted" ]; then
		if ! umount "$tmpmnt"; then
			warn "failed to umount $tmpmnt"
		fi
	fi
	if [ -e "$dm_device" ]
	then
		debug "remove device mapper device $dm_device"
		dmsetup remove $dm_device
	fi
	rmdir "$tmpmnt" || true
}

if [ "x$1" = xbtrfs ]; then
	types=btrfs
	if [ -z "$2" -o -z "$3" ]; then
		debug "missing btrfs parameters, exiting"
		exit 1
	fi
	UUID="$2"
	BTRFSDEV="$3"
else
	partition="$1"
	types="$(fs_type "$partition")" || types=NOT-DETECTED
fi

if [ "$types" = NOT-DETECTED ]; then
	debug "$1 type not recognised; skipping"
	exit 1
elif [ "$types" = swap ]; then
	debug "$1 is a swap partition; skipping"
	exit 1
elif [ "$types" = crypto_LUKS ]; then
	debug "$1 is a LUKS partition; skipping"
	exit 1
elif [ "$types" = LVM2_member ]; then
	debug "$1 is an LVM member; skipping"
	exit 1
elif [ "$types" = ntfs ]; then
	if type ntfs-3g >/dev/null 2>&1; then
		types='ntfs-3g ntfs'
	fi
elif [ -z "$types" ]; then
	if type cryptsetup >/dev/null 2>&1 && \
	   cryptsetup luksDump "$partition" >/dev/null 2>&1; then
		debug "$1 is a LUKS partition; skipping"
		exit 1
	fi
	for type in $(grep -v nodev /proc/filesystems); do
		# hfsplus filesystems are mountable as hfs. Try hfs last so
		# that we can tell the difference.
		if [ "$type" = hfs ]; then
			delaytypes="${delaytypes:+$delaytypes }$type"
		elif [ "$type" = fuseblk ]; then
			if type ntfs-3g >/dev/null 2>&1; then
				types="${types:+$types }ntfs-3g"
			fi
		else
			types="${types:+$types }$type"
		fi
	done
fi

tmpmnt=/var/lib/os-prober/mount
if [ ! -d "$tmpmnt" ]; then
	mkdir "$tmpmnt"
fi

mounted=

# all btrfs processing here.  Handle both unmounted and
# mounted subvolumes.
if [ "$types" = btrfs ]; then
	partition="$BTRFSDEV"
	debug "begin btrfs processing for $UUID"
	# note that the btrfs volume must not be mounted ro
	if mount -t btrfs -U "$UUID" "$tmpmnt"  2>/dev/null; then
		debug "btrfs volume $UUID mounted"
	else
		warn "cannot mount btrfs volume $UUID, exiting"
		rmdir "$tmpmnt" || true
		exit 1
	fi
	# besides regular subvols, get ro and snapshot so thet can be excluded
        subvols=$(btrfs subvolume list "$tmpmnt" | cut -d ' ' -f 9)
        rosubvols=$(btrfs subvolume list -r "$tmpmnt" | cut -d ' ' -f 9)
        sssubvols=$(btrfs subvolume list -s "$tmpmnt" | cut -d ' ' -f 14)
        if ! umount "$tmpmnt"; then
            warn "failed to umount btrfs volume on $tmpmnt"
            rmdir "$tmpmnt" || true
            exit 1
        fi

	found=
	mounted=

	mpoint="$(grep btrfs /proc/self/mountinfo | grep "$partition " | cut -d ' ' -f 5)"
	if [ -n "$mpoint" -a "x$mpoint" = "x/" ]; then
		debug "This is the root for the running system" #running system must be done elsewhere
	else
	    #partition was not root of running system, so lets look for bootable subvols
	    if [ -n "$mpoint" ] ; then
		mounted=1  #partition was already mounted,so lets not unmount it when done
	    else
		# again, do not mount btrfs ro
		mount -t btrfs -U "$UUID" "$tmpmnt"
		mpoint="$tmpmnt"
	    fi

	    test="/usr/libexec/os-probes/mounted/90linux-distro"
	    if [ -f "$test" ] && [ -x "$test" ]; then
		debug "running subtest $test"
		if "$test" "$partition" "$mpoint" btrfs "UUID=$UUID"; then
		    debug "os found by subtest $test on $partition"
		    found=1
		fi
	    fi
	    if [ -z "$mounted" ]; then
		if ! umount "$tmpmnt"; then
		    warn "failed to umount $tmpmnt"
		fi
	    fi
	fi

	if [ -z "$subvols" ]; then
	        debug "no subvols found on btrfs volume $UUID"
	else
		found=
                for subvol in $subvols; do
			debug "begin btrfs processing for $UUID subvol=$subvol"
			if echo "$rosubvols" | grep -q -x "$subvol"; then
				continue
			fi
			if echo "$sssubvols" | grep -q -x "$subvol"; then
				continue
			fi
			mounted=
			mpoint="$(grep btrfs /proc/self/mountinfo | grep "$partition " | grep "/$subvol " | cut -d ' ' -f 5)"
			if [ -n "$mpoint" ]; then
				if [ "x$mpoint" = "x/" ]; then
					continue # this is the root for the running system
				fi
				mounted=1
			else
				# again, do not mount btrfs ro
				mount -t btrfs -o subvol="$subvol" -U "$UUID" "$tmpmnt"
				mpoint="$tmpmnt"
			fi
			test="/usr/libexec/os-probes/mounted/90linux-distro"
			if [ -f "$test" ] && [ -x "$test" ]; then
				debug "running subtest $test"
				if "$test" "$partition" "$mpoint" btrfs "UUID=$UUID" "subvol=$subvol"; then
					debug "os found by subtest $test on subvol $subvol"
					found=1
				fi
			fi
			if [ -z "$mounted" ]; then
				if ! umount "$tmpmnt"; then
				    warn "failed to umount $tmpmnt"
				fi
			fi
		done
	fi
	rmdir "$tmpmnt" || true
	if [ "$found" ]; then
		exit 0
	else
		exit 1
	fi
fi

if type grub-mount >/dev/null 2>&1 && \
   type grub2-probe >/dev/null 2>&1 && \
   grub-mount "$partition" "$tmpmnt" 2>/dev/null; then
	mounted=1
	type="$(grub2-probe -d "$partition" -t fs)" || true
	if [ "$type" ]; then
		debug "mounted using GRUB $type filesystem driver"
	else
		debug "mounted using GRUB, but unknown filesystem?"
		type=fuseblk
	fi
elif dm_device="$(do_dmsetup osprober "$partition")" && \
     [ "$dm_device" ]; then
	for type in $types $delaytypes; do
		if mountinfo=`mount -o ro -t "$type" "$dm_device" "$tmpmnt" 2>&1`; then
			debug "mounted as $type filesystem"
			mounted=1
			break
		else
			debug "mounting $dm_device ($partition) as $type failed: $mountinfo"
		fi
	done
fi

if [ "$mounted" ]; then
	for test in /usr/libexec/os-probes/mounted/*; do
		debug "running subtest $test"
		if [ -f "$test" ] && [ -x "$test" ]; then
			if "$test" "$partition" "$tmpmnt" "$type"; then
				debug "os found by subtest $test"
				do_unmount
				exit 0
			fi
		fi
	done
fi
do_unmount

# No tests found anything.
exit 1
Bethany
Bethany
0%

THE FINEST HOTEL NEAR LAKE KIVU

The Perfect Base For You

Required fields are followed by *





EC1A68011

About Us

Delicious Interior With The Pinch Of Everything

Bethany Investment group is Presbyterian church in Rwanda(EPR) company that manage Hotel and Guest house in Karongi (Bethany Hotel), ISANO branch in GIKONDO(Kigali), Kiyovu branch(Kigali), AMIZERO branch(Nyagatare-East) and Gisenyi Branch(Rubavu).

Accomodation

Get a Comfortable Room
Feel The Comfort

Get a comfortable room and feel our hotel’s comfort. Bethany Hotel features a variety of fully furnished rooms with extra space, Executive rooms, Deluxe rooms with a beautiful lake view and garden space, Deluxe rooms, comfort rooms, family rooms and standard rooms at your service.

Standard Single

Services

We Provide Top Class Facility
Especially For You

Beach BBQ Party

Kick back on the beach& and enjoy our berbecue from our masterchef

Breakfast

Kick back at our hotels& enjoy our breakfast from our masterchef

Conference Hall

Kick back at our hotels& enjoy our conference halls from all bethany branches

Enjoy with your partner

Honeymoon Package

80%

Get In Touch

Don’t Miss Any Update

    +

    Search your Room

    Required fields are followed by *