mirror of
git://sourceware.org/git/lvm2.git
synced 2025-01-18 10:04:20 +03:00
fsadm: better check for getsize64 support
Older blockdev tool return failure error code with --help, and since now the tool abort on command failure, lets detect missing --getsize64 support directly by running command and check if it returns something usable. It's likely very hard to have the system with such old blockdev tool and newer lvm2 compiled.
This commit is contained in:
parent
66ea26131b
commit
4dcb35cb03
@ -377,14 +377,11 @@ detect_mounted() {
|
||||
# get the full size of device in bytes
|
||||
detect_device_size() {
|
||||
# check if blockdev supports getsize64
|
||||
"$BLOCKDEV" --help 2>&1 | "$GREP" getsize64 >"$NULL"
|
||||
if test $? -eq 0; then
|
||||
DEVSIZE=$("$BLOCKDEV" --getsize64 "$VOLUME")
|
||||
DEVSIZE=$("$BLOCKDEV" --getsize64 "$VOLUME" 2>"$NULL" || true)
|
||||
if test -n "$DEVSIZE" ; then
|
||||
DEVSIZE=$("$BLOCKDEV" --getsize "$VOLUME" || true)
|
||||
test -n "$DEVSIZE" || error "Cannot read size of device \"$VOLUME\"."
|
||||
else
|
||||
DEVSIZE=$("$BLOCKDEV" --getsize "$VOLUME")
|
||||
test -n "$DEVSIZE" || error "Cannot read size of device \"$VOLUME\"."
|
||||
SSSIZE=$("$BLOCKDEV" --getss "$VOLUME")
|
||||
SSSIZE=$("$BLOCKDEV" --getss "$VOLUME" || true)
|
||||
test -n "$SSSIZE" || error "Cannot read sector size of device \"$VOLUME\"."
|
||||
DEVSIZE=$(("$DEVSIZE" * "$SSSIZE"))
|
||||
fi
|
||||
|
Loading…
x
Reference in New Issue
Block a user