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  linux-cve-announce  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]
Message-ID: <AANLkTinV0G_Bf4xc4F6XXivpjXJjkTAOgQ8rHsNts0FH@mail.gmail.com>
Date:	Sat, 23 Oct 2010 18:48:29 +0200
From:	Amir Goldstein <amir73il@...il.com>
To:	Felipe Franciosi <felipe@...adoxo.org>
Cc:	linux-ext4@...r.kernel.org
Subject: Re: Committing changes to an ext3_inode structure

On Tue, Oct 19, 2010 at 5:23 PM, Felipe Franciosi <felipe@...adoxo.org> wrote:
> Dear all,
>
> I am experimenting on a 2.6.20.3-ubuntu1 kernel to prototype and evaluate
> different methods for migrating datablocks for a given inode on the fly.
>
> I have created an ioctl call that implements some verifications and invokes
> a function I wrote in balloc.c for such migration.
>
> Upon receiving a struct inode*, I retrieve the corresponding iloc using the
> ext3_get_inode_iloc() function and then the struct ext3_inode* using the
> ext3_raw_inode() on the iloc. I have confirmed the pointer is correct by
> printing several ext3_inode relevant fields.
>

you've complicated things too much.
all you have to do is modify EXT3_I(inode)->i_data and then call
ext3_mark_inode_dirty().
the rest of the iloc and raw inode stuff is taken care of by ext3_put_inode().

> After making my modifications to the i_block array, I am finding it
> impossible to commit these changes to the inode itself.
>

that is because your changes are being overriden by the unmodified ei->i_data.

> I have tried different things such as marking the iloc.bh buffer_head as
> dirty and submitting it for writing, marking the page as dirty, etc, but I
> think I'm missing something more fundamental. Most of my attempts were
> planned according to what I've seen inside similar code of buffer_head
> manipulation.
>

maybe you should have looked at code that modifies inodes instead...

> Can anyone shed some light on what I'm missing?
>

hope this helps,
Amir.
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ