How to free data block of ext2 fs?
Hi all , I wanted to free a data block from disk. So I made a loop device for ext2 fs and inserted my module(code) through insmod command. Here are the details : I found a function named ext2_free_data() which takes block numbers to be freed as a parameter. The declaration of the function is as follows : void ext2_free_data(struct inode *inode, __le32 *p, __le32 *q); As we can see this function use structure of inode object and it make changes in this inode object. This function changes the fields in in-core inode and mark the inode dirty. But I want the changes made in in-core inode to be reflected in disk inode immediately . Is there any command to flush the buffers ? -- Regards, Kashish
On Wed, Feb 16, 2011 at 10:02 AM, kashish bhatia <koolest77@gmail.com> wrote:
Hi all , I wanted to free a data block from disk. So I made a loop device for ext2 fs and inserted my module(code) through insmod command. Here are the details : I found a function named ext2_free_data() which takes block numbers to be freed as a parameter. The declaration of the function is as follows :
void ext2_free_data(struct inode *inode, __le32 *p, __le32 *q);
As we can see this function use structure of inode object and it make changes in this inode object.
This function changes the fields in in-core inode and mark the inode dirty. But I want the changes made in in-core inode to be reflected in disk inode immediately .
Incore it will be reflected immediately.
Is there any command to flush the buffers ?
You can either try "sync" from command line, or remount the volume. Or call ext2_sync_fs() from your module.
-- Regards, Kashish
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
-- Thanks - Manish
participants (2)
-
kashish bhatia -
Manish Katiyar