| #!/bin/bash |
| # Copyright 2015 The Chromium OS Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| set -e |
| CGPT=/usr/share/cloud/cgpt |
| |
| # Detect stateful partition |
| lsblk -P -o NAME,FSTYPE,MOUNTPOINT 2>/dev/null | while read dev_info; do |
| eval $dev_info |
| if [[ "${MOUNTPOINT}" == "/mnt/stateful_partition" ]]; then |
| STATE_PART=/dev/${NAME} |
| old_size=$(blockdev --getsz "${STATE_PART}") |
| echo "Old size of ${STATE_PART} is ${old_size} in 512-byte sectors." |
| |
| $CGPT resize ${STATE_PART} |
| new_size=$(blockdev --getsz "${STATE_PART}") |
| echo "New size of ${STATE_PART} is ${new_size} in 512-byte sectors." |
| |
| if [[ "${old_size}" -ne "${new_size}" ]]; then |
| echo "Resizing file system..." |
| resize2fs ${STATE_PART} |
| fi |
| break |
| fi |
| done |