One solution would be to use btrfs with a loop device. Your data will be stored in a btrfs image file.
Note: I recommend you use a recent kernel version (4+). I use BTRFS on my personal system and things are mostly ok, some performance issues when databases/indexing happens. I’ve read that Facebook is preparing to roll it in production systems. The future is bright :)