When I run /sbin/mkfs.ext4 -O ^64bit /dev/app/mysqldata command in a script it gives me below error:

nd(): null: With return code "1", Output from: "/sbin/mkfs.ext4 -O ^64bit /dev/app/mysqldata"
mke2fs 1.42.9 (20-Jan-2014)
mkfs.ext4: Size of device (0x1b48caa00 blocks) /dev/app/mysqldata too big to be expressed
        in 32 bits using a blocksize of 4096.

But if i run without -O ^64bit, it just runs fine. Can anyone help regarding this?

 /sbin/mkfs.ext4  /dev/app/mysqldata

Just do not try to manually disable (^) the feature, then. You already are trying to create a volume exceeding what is possible without it. Adding ability for the file system to be larger than 16TiB (at 4k blocks) is the one and so far (almost) only point of the option.

I suspect you are confusing the 64 bit option for something else. From man 5 ext4:

Enables the file system to be larger than 2^32 blocks.  This feature is
set automatically, as needed, but it can  be  useful  to  specify  this
feature  explicitly  if the file system might need to be resized larger
than 2^32 blocks, even if it was smaller than that  threshold  when  it
was  originally  created.   Note  that  some  older  kernels  and older
versions of e2fsprogs will not support  file  systems  with  this  ext4
feature enabled.

If the script that attempted the operation was not written by you: Consider another explanation for why it is there: the author of the script wanted to make this operation fail, because she knew that whatever it sets up will not work properly or reliably with a volume of that size anyway. You might be trying to use a software at a scale it was not expected to be operated under.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.