Recovering reserved space in ext2 and ext3 filesystems

When using the ext2 or ext3 filesystem by default 5% of the available blocks is reserved for use by the root user. This allows the system to continue running if non-root users fill up the file system and also assists in preventing file fragmentation because the filesystem does not fill up completely.

Under certain circumstances this extra protection is not required or desired. For example, I have a 1TB ext3 array specifically to store media on seperate from my operating system and other file systems. The root user will never write to this file system so reserving 5% (50GB) is wasted space.

To recover this space you can use the tune2fs command and specify the -m 0 option. Here is an example.

Before the tune with the default 5% reserve:

root@pooh:/data# df -h /data
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/data_vol_grp-data_vol
921G  867G  7.2G 100% /data

The tune2fs command to adjust the reserved percentage to 0.

root@pooh:/data# tune2fs -m 0 /dev/data_vol_grp/data_vol

The available space after adjusting the reserved space.

root@pooh:/data# df -h /data
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/data_vol_grp-data_vol
921G  867G   54G  95% /data

5 thoughts on “Recovering reserved space in ext2 and ext3 filesystems”

Leave a Reply