2009-03-12 15:33:04

by Thiemo Nagel

[permalink] [raw]
Subject: [PATCH] ext4: do less extent validations


Based on 2.6.29-rc7 with Aneesh Kumar's patches:
ext4: Validate extent details only when read from the disk
ext4: Add checks to validate extent entries

Sets need_to_validate=0 inside instead of outside the loop.

Signed-off-by: Thiemo Nagel <[email protected]>


Attachments:
less-extent-validations.patch (618.00 B)

2009-03-16 19:06:20

by Thiemo Nagel

[permalink] [raw]
Subject: Re: [PATCH] ext4: do less extent validations

--- linux-2.6.29-rc8/fs/ext4/extents.c~ 2009-03-16 19:37:22.000000000 +0100
+++ linux-2.6.29-rc8/fs/ext4/extents.c 2009-03-16 19:50:33.000000000 +0100
@@ -607,7 +607,6 @@
ext4_ext_find_extent(struct inode *inode, ext4_lblk_t block,
struct ext4_ext_path *path)
{
- int need_to_validate = 0;
struct ext4_extent_header *eh;
struct buffer_head *bh;
short int depth, i, ppos = 0, alloc = 0;
@@ -646,17 +645,16 @@
goto err;
}
/* validate the extent entries */
- need_to_validate = 1;
+ if (ext4_ext_check(inode, eh, i))
+ goto err;
}
+
eh = ext_block_hdr(bh);
ppos++;
BUG_ON(ppos > depth);
path[ppos].p_bh = bh;
path[ppos].p_hdr = eh;
i--;


Attachments:
less-extent-validations.patch2 (688.00 B)

2009-03-27 20:53:50

by Theodore Ts'o

[permalink] [raw]
Subject: Re: [PATCH] ext4: do less extent validations

On Thu, Mar 12, 2009 at 04:32:54PM +0100, Thiemo Nagel wrote:
>
> Based on 2.6.29-rc7 with Aneesh Kumar's patches:
> ext4: Validate extent details only when read from the disk
> ext4: Add checks to validate extent entries
>
> Sets need_to_validate=0 inside instead of outside the loop.

I've integrated this change into Aneesh's patch in the ext4 patch
queue.

- Ted

2009-03-27 20:54:45

by Theodore Ts'o

[permalink] [raw]
Subject: Re: [PATCH] ext4: do less extent validations

On Mon, Mar 16, 2009 at 08:05:30PM +0100, Thiemo Nagel wrote:
> Thiemo Nagel wrote:
>>
>> Based on 2.6.29-rc7 with Aneesh Kumar's patches:
>> ext4: Validate extent details only when read from the disk
>> ext4: Add checks to validate extent entries
>>
>> Sets need_to_validate=0 inside instead of outside the loop.
>
> OTOH, why not remove the variable altogether? (cf. attached patch)

This patch causes ext4_ext_check to be called before the variables eh
is set, and before variable is updated.

- Ted