Statistics
| Branch: | Tag: | Revision:

root / snf-image-host / export @ master

History | View | Annotate | Download (1.4 kB)

1 64605956 Nikos Skalkotos
#!/bin/bash
2 64605956 Nikos Skalkotos
3 eafa1728 Nikos Skalkotos
# Copyright (C) 2012 GRNET S.A.
4 eafa1728 Nikos Skalkotos
#
5 eafa1728 Nikos Skalkotos
# This program is free software; you can redistribute it and/or modify
6 eafa1728 Nikos Skalkotos
# it under the terms of the GNU General Public License as published by
7 eafa1728 Nikos Skalkotos
# the Free Software Foundation; either version 2 of the License, or
8 eafa1728 Nikos Skalkotos
# (at your option) any later version.
9 eafa1728 Nikos Skalkotos
#
10 eafa1728 Nikos Skalkotos
# This program is distributed in the hope that it will be useful, but
11 eafa1728 Nikos Skalkotos
# WITHOUT ANY WARRANTY; without even the implied warranty of
12 eafa1728 Nikos Skalkotos
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13 eafa1728 Nikos Skalkotos
# General Public License for more details.
14 eafa1728 Nikos Skalkotos
#
15 eafa1728 Nikos Skalkotos
# You should have received a copy of the GNU General Public License
16 eafa1728 Nikos Skalkotos
# along with this program; if not, write to the Free Software
17 eafa1728 Nikos Skalkotos
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
18 eafa1728 Nikos Skalkotos
# 02110-1301, USA.
19 eafa1728 Nikos Skalkotos
20 eafa1728 Nikos Skalkotos
set -e
21 eafa1728 Nikos Skalkotos
22 eafa1728 Nikos Skalkotos
. common.sh
23 eafa1728 Nikos Skalkotos
24 eafa1728 Nikos Skalkotos
# Read environment according to API version.
25 eafa1728 Nikos Skalkotos
ganeti_os_main
26 eafa1728 Nikos Skalkotos
27 eafa1728 Nikos Skalkotos
# If the device we will export from, is not a real block device,
28 eafa1728 Nikos Skalkotos
# we'll first losetup it. This is needed for file disks.
29 eafa1728 Nikos Skalkotos
if [ ! -b "$blockdev" ]; then
30 eafa1728 Nikos Skalkotos
    original_blockdev="$blockdev"
31 eafa1728 Nikos Skalkotos
    blockdev=$($LOSETUP -sf "$blockdev")
32 eafa1728 Nikos Skalkotos
    add_cleanup $LOSETUP -d "$blockdev"
33 eafa1728 Nikos Skalkotos
fi
34 eafa1728 Nikos Skalkotos
35 eafa1728 Nikos Skalkotos
# Export disk's predicted size to Ganeti.
36 eafa1728 Nikos Skalkotos
# Used to provide a time estimate of the export process to the user.
37 eafa1728 Nikos Skalkotos
if [ -z "$EXP_SIZE_FD" ]; then
38 eafa1728 Nikos Skalkotos
    blockdev --getsize64 $blockdev >&$EXP_SIZE_FD
39 eafa1728 Nikos Skalkotos
fi
40 eafa1728 Nikos Skalkotos
41 eafa1728 Nikos Skalkotos
dd if="$blockdev" bs=4M
42 eafa1728 Nikos Skalkotos
43 eafa1728 Nikos Skalkotos
# Execute cleanups
44 eafa1728 Nikos Skalkotos
cleanup
45 eafa1728 Nikos Skalkotos
trap - EXIT
46 eafa1728 Nikos Skalkotos
47 64605956 Nikos Skalkotos
exit 0
48 eafa1728 Nikos Skalkotos
49 eafa1728 Nikos Skalkotos
# vim: set sta sts=4 shiftwidth=4 sw=4 et ai :