Requires(post): coreutils
Requires(post): util-linux
Requires(post): e2fsprogs
+Requires(post): btrfs-progs
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
if [ x$ROOTFS != "x" ]
then
- if [ "$NEED_RESIZEFS" = "1" ]
- then
- /sbin/fsck -y $ROOTFS
- /sbin/resize2fs -f $ROOTFS
- fi
- /sbin/fsck -y $ROOTFS
- /bin/mount $ROOTFS /sysroot -o rw
+ BTRFS_ROOTFS=`/sbin/blkid $ROOTFS -t TYPE=btrfs -o device`
+ if [ x$BTRFS_ROOTFS != "x" ]
+ then
+ /sbin/btrfs check $ROOTFS
+ /bin/mount $ROOTFS /sysroot -o rw,compress=zstd
+ if [ "$NEED_RESIZEFS" = "1" ]
+ then
+ /sbin/btrfs filesystem resize max /sysroot
+ /sbin/btrfs balance start -v -f -mconvert=single /sysroot
+ fi
+ else
+ if [ "$NEED_RESIZEFS" = "1" ]
+ then
+ /sbin/fsck -y $ROOTFS
+ /sbin/resize2fs -f $ROOTFS
+ fi
+ /sbin/fsck -y $ROOTFS
+ /bin/mount $ROOTFS /sysroot -o rw
+ fi
else
echo "WARNING : THERE IS NO ROOTFS."
exec /bin/sh