Thread (7 messages) 7 messages, 3 authors, 2021-07-30

Re: Is it safe to use the bigalloc feature in the case of ext4 filesystem?

From: Mikhail Morfikov <hidden>
Date: 2021-07-28 09:36:33

Thanks for the answer.

I have one question. Basically there's the /etc/mke2fs.conf file and 
I've created the following stanza in it:

bigdata = {
                errors = remount-ro
                features = has_journal,extent,huge_file,flex_bg,metadata_csum,64bit,dir_nlink,extra_isize,bigalloc,^uninit_bg,sparse_super2
                inode_size = 256
                inode_ratio = 4194304
                cluster_size = 4M
                reserved_ratio = 0
                lazy_itable_init = 0
                lazy_journal_init = 0
        }

It looks like the cluster_size parameter is ignored in such case (I've 
tried both 4M and 4194304 values), and the filesystem was created with 
64K cluster size (via mkfs -t bigdata -L bigdata /dev/sdb1 ), which is 
the default when the bigalloc feature is set. 

So it looks like the cluster_size doesn't do anything when set in 
/etc/mke2fs.conf . When I used the -C 4M flag (i.e. 
mkfs -t bigdata -L bigdata -C 4M /dev/sdb1), the cluster size was set to 
4M as it should.

Is something wrong with the cluster_size parameter set in the 
/etc/mke2fs.conf file?

----
# mkfs -V
mkfs from util-linux 2.36.1




On 28/07/2021 01.01, Theodore Ts'o wrote:
On Fri, Jul 23, 2021 at 05:30:13PM +0200, Mikhail Morfikov wrote:
quoted
In the man ext4(5) we can read the following:

    Warning: The bigalloc feature is still under development, 
    and may not be fully supported with your kernel or may 
    have various bugs. Please see the web page 
    http://ext4.wiki.kernel.org/index.php/Bigalloc for details. 
    May clash with delayed allocation (see nodelalloc mount 
    option).

According to the link above, the info is dated back to 2013, 
which is a little bit ancient.

What's the current status of the feature? Is it safe to use 
bigalloc on several TiB hard disks where only big files will be 
stored?
Yes; the places where bigalloc is perhaps not as well tested is
support FALLOC_FL_COLLAPSE_RANGE, FALLOC_FL_INSERT_RANGE, and
FALLOC_FL_PUNCH_HOLE.  Bigalloc is also not very efficient for large
directories (where we allocate a full cluster for each directory
block).  Older kernels did not handle ENOSPC errors when delayed
allocation was enabled, but that has since been fixed, and bigalloc is
passing file system regression tests, so it should safe to use as
you've described.

Cheers,

					- Ted
					
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help