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.
After making my modifications to the i_block array, I am finding it
impossible to commit these changes to the inode itself.
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.
Can anyone shed some light on what I'm missing?
Regards,
Felipe
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html