/usr/bin/remountresizereiserfs is in chiark-scripts 5.0.2.
This file is owned by root:root, with mode 0o755.
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 | #!/bin/bash
# usage:
# remountresizereiserfs /mountpoint
set -e
fail () { echo >&2 "$*"; exit 1; }
case "$#.$1" in 1.[^-]*);; *) fail 'bad usage';; esac
mp=$1
df=`df -P $mp`
dfl2=`printf "%s" "$df" | sed 1d`
case "$dfl2" in
/dev/*" "[0-9]*" "[0-9]*" "[0-9]*" "[0-9]*"% "/*)
dev=${dfl2%% *}
mp2=${dfl2##* }
if [ "x$mp2" != "x$mp" ]; then fail "mountpoint is $mp2 not $mp"; fi
;;
*) fail "could not parse df output" ;;
esac
dm=/dev/mapper
case "$dev" in
$dm/*/*)
fail "too many path segments in mapper device \`$dev'"
;;
$dm/*)
lv=${dev#$dm/}
lv=${lv//--//}
case "$lv" in
*-*) ;;
*) fail "no single hyphen in mapper device \`$lv'";;
esac
vg=${lv%%-*}
lv=${lv#*-}
vg=${vg//\//-}
lv=${lv//\//-}
devu=/dev/$vg/$lv
;;
*)
devu=$dev
esac
lvi=$(lvdisplay -c $devu)
vg=${lvi#*:}
vg=${vg%%:*}
vgsz_kb=${lvi#*:*:*:*:*:*:}
vgsz_kb=${vgsz_kb%%:*}
dbrfs=$(debugreiserfs $dev)
blksz_by=$(printf "%s" "$dbrfs" | egrep '^Blocksize: ' || fail "blocksize?")
blksz_by=${blksz_by#*: }
vgsz_blk=$(dc -e "$vgsz_kb 1024* $blksz_by /p")
echo mount -o remount,resize=$vgsz_blk $mp
|