This file is indexed.

/usr/share/chiark-backup/snap-common is in chiark-backup 4.3.0.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# sourced by snap/lvm and snap/remountrocp

#---------- common arg parsing

nargs=$#
opmode="$1"
vardir="$2"
device="$3"
mountpoint="$4"

lvm_lv=chiark-backup
lvm_lvtools_opts='-A n'
lvm_lvcreate_opts=
lvm_lvcreate_args=

test ! -f /etc/chiark-backup/settings.sh || . /etc/chiark-backup/settings.sh

case "$nargs.$opmode" in
4.snap|2.drop)
	;;
*)
	cat >&2 <<END
usage: .../$snapkind snap VARDIR DEV MOUNT
       .../$snapkind drop VARDIR
END
	exit 1
	;;
esac

#---------- common functions

lvmunmapperdevice () {
	# turns device=/dev/mapper/... into /dev/<group>/<volume>
	case "$device" in
	/dev/mapper/*)
		device="`printf '%s' "$device" | perl -pe '
			s,^/dev/mapper/,,;
			die if m,/,;
			s,\-\-,!,g;
			s,\-,/,g;
			s,\!,-,g;
			s,^,/dev/,;
		'`"
		;;
	esac
}

lvmdevice2vgroup () {
	vgroup="${device#/dev/}"
	vgroup="${vgroup%/*}"
}

lvmdropcore () {
	snmnt="$vardir/snap-mount"
	umount -v "$snmnt" || true
	test ! -d "$snmnt" || rmdir -- "$snmnt" || rm -f "$snmnt"

	set +e
	old_lv_dev="$(readlink $vardir/snap-device)"
	rc=$?
	set -e

	if [ $rc = 0 ]; then
		set +e
		lvchange    $lvm_lvtools_opts -a n $old_lv_dev
		lvremove -f $lvm_lvtools_opts      $old_lv_dev
		set -e
		rm $vardir/snap-device
	fi
}

lvmextentscore1 () {
	# vgroup must be set
	vgdisplay_out="$(really vgdisplay -c "$vgroup")"
	extents="$(printf "%s" "$vgdisplay_out" | awk -F: '{print $16}')"
	extsize="$(printf "%s" "$vgdisplay_out" | awk -F: '{print $13}')"
}

lvmextentscore2 () {
	if [ $extents2 -lt $extents ]; then extents=$extents2; fi
	lvm_lvsize_opts="-l $extents"
}

lvmcreatecore1 () {
	# vgroup must be set
	lvpath="/dev/$vgroup/$lvm_lv"
	ln -s -- "$lvpath" "$vardir"/snap-device
	sync
}