From: Theodore Ts'o <tytso@mit.edu>
To: Contact <neitsab@ovh.fr>
Cc: "linux-ext4@vger.kernel.org" <linux-ext4@vger.kernel.org>
Subject: Re: Make huge files strictly contiguous (fallocate, bigalloc, e4defrag...)
Date: Thu, 17 Apr 2014 11:24:57 -0400 [thread overview]
Message-ID: <20140417152457.GE18591@thunk.org> (raw)
In-Reply-To: <534F39F6.2000208@ovh.fr>
On Thu, Apr 17, 2014 at 04:18:30AM +0200, Contact wrote:
>
> I'm trying to create a multiboot medium using Easy2Boot on a 64 GB USB
> key. Easy2Boot [1] is a "software" (well a collection of files really)
> that relies on grub4dos [2] to work and thus requires payload files to
> be strictly contiguous to do its trick. It's supposed to be set up once
> and then one just has to add files to boot from to a folder to modify
> the multiboot setup.
>
> The ISO files I have are between 230 MB and 2 GB each. I divided my USB
> drive into two partitions : first one, 16 GB ntfs formatted so that
> grub4dos actually works (for some reasons it doesn't with ext4, plus I
> want to be able to use it with other OS); second one 48 GB formatted as
> ext4 with e2fsprogs version 1.42.9 from Archlinux. However when I try
> to boot from those files I systematically get the "file not contiguous"
> error in Easy2Boot.
>
> Question is: is it possible to make huge files strictly contiguous on
> ex4, and if yes how?
Most of the time, files don't have to be "strictly contiguous", so
that's not something that we've spent a lot of time trying to achieve.
There is a way to do this if you are willing to use the tip of the
e2fsprogs "maint" branch, and then you put something like this into
your mke2fs.conf file:
easy2boot = {
features = extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize,^resize_inode,sparse_super2
hash_alg = half_md4
num_backup_sb = 0
packed_meta_blocks = 1
make_hugefiles = 1
inode_ratio = 4194304
hugefiles_dir = /
hugefiles_name = my-big-file
hugefiles_digits = 0
hugefiles_size = 16G
num_hugefiles = 1
zero_hugefiles = false
}
Then "mke2fs -T easy2boot /dev/sdc1" will create an ext4 filesystem
with a file called /my-big-file which is guaranteed to be contiguous.
For your particular use case, where you want to create a new
filesystem when you want to create your strictly contiguous file, this
might be the best way to go.
Cheers,
- Ted
next prev parent reply other threads:[~2014-04-17 15:25 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-17 2:18 Make huge files strictly contiguous (fallocate, bigalloc, e4defrag...) Contact
2014-04-17 12:04 ` Lukáš Czerner
2014-04-17 15:24 ` Theodore Ts'o [this message]
2014-04-17 18:41 ` Contact
2014-04-17 20:11 ` Contact
2014-04-18 8:45 ` Lukáš Czerner
2014-04-20 14:37 ` Contact
2014-04-20 19:01 ` Theodore Ts'o
2014-04-20 19:38 ` Contact
2014-04-20 20:00 ` Theodore Ts'o
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140417152457.GE18591@thunk.org \
--to=tytso@mit.edu \
--cc=linux-ext4@vger.kernel.org \
--cc=neitsab@ovh.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.