#!/bin/sh
# Copyright (C) 2011 O.S. Systems Software LTDA.
# Licensed on MIT

e2fs_enabled() {
	return 0
}

e2fs_run() {
	filesystems="ext4 ext3 ext2"

	# load modules
	for fs in $filesystems; do
		load_kernel_module $fs
	done

	for fs in $filesystems; do
		eval "fs_options=\$bootparam_${fs}"
		if [ -n "$fs_options" ]; then
		    dev=`expr "$fs_options" : '\([^:]*\).*'`
		    path=`expr "$fs_options" : '[^:]*:\([^:]*\).*'`

		    info "Mounting $dev as $fs on $path as $fs..."
			mkdir -p $path
		    mount -t $fs $dev $path
		fi
	done
}
