lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 26 Nov 2008 11:30:32 +0530
From:	"Kalpak Shah" <kalpak.shah@...il.com>
To:	"Theodore Tso" <tytso@....edu>
Cc:	"Kalpak Shah" <Kalpak.Shah@....com>,
	linux-ext4 <linux-ext4@...r.kernel.org>,
	"Mingming Cao" <cmm@...ibm.com>, "Andreas Dilger" <adilger@....com>
Subject: Re: [PATCH 2/2] Large EAs

On Wed, Nov 26, 2008 at 10:11 AM, Theodore Tso <tytso@....edu> wrote:
> Sorry for not reviewing this patch earlier, but looking at the disk
> format, I wonder if it's really necessary to allocate an inode for
> each EA.  Given that we have a fixed inode table, if the user creates
> a large number of 2k EA's (on a 4k filesystem) or 512 byte EA's (on a
> 1k) filesystem, this could easily burn a huge number of inodes,
> causing users to run out.
>
> We don't actually *need* to use an inode;

One of the reasons we need to use an inode is that orphan EA inodes
can be linked into lost+found. If we just use an extent tree, I am not
sure how e2fsck can find out orphan EAs.

> what if we make use
> e_value_block and e_hash to be a 64-bit block number, and use
> e_value_offs (if 0) to indicate whether the 64-bit block number
> contains data, or (if 1) contains the root of an extent tree.  This
> adds a bit of complexity to the hash calculation if we want to support
> sharing the EA block that contains pointers to Large EA's, but from
> what I can tell the proposed patch doesn't support this anyway (and it
> seems highly unlikely that multiple files with large EA's could be
> able to be shared anyway).

We shouldn't worry about sharing EA blocks once we have large EAs as
it will be too inefficient getting all the EA values (from EA inodes
or extent trees) and calculating a hash of all the data and when an EA
block cannot be shared we will need to create copies of all EA
inodes......

> The upsides of this patch (not needing to use inodes) seems to be
> worth the downsides (slightly more complexity, and not being able to
> share EA blocks).
>
> What do folks think?
>
>                                                - Ted

Thanks,
Kalpak
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists