Re: How to get deleted files inode from super block

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>
> So, I wanted to know about the deleted files/directories inode.
>

First, u want the operation reverse that of deletion - in kernel
module format....then look at delete_inode at the VFS first:

void generic_delete_inode(struct inode *inode)
{
        const struct super_operations *op = inode->i_sb->s_op;

        list_del_init(&inode->i_list);
        list_del_init(&inode->i_sb_list);

for the above two, the operation is irreversible.   So whatever
originally there is not recoverable.

        security_inode_delete(inode);

        if (op->delete_inode) {
                void (*delete)(struct inode *) = op->delete_inode;

The above means that if it is ext3, then ext3_delete_inode() will be called.

                if (!is_bad_inode(inode))
                        DQUOT_INIT(inode);
                /* Filesystems implementing their own
                 * s_op->delete_inode are required to call
                 * truncate_inode_pages and clear_inode()
                 * internally */
                delete(inode);===> this will get mapped to
ext3_delete_inode(), and look at that function in ext3, and see how u
can reverse it.

All the above operation is just for ONE inode.   Now u need to find
the code that enumerate through ALL the inodes in the ext3
filesystem.....

-
Regards,
Peter Teoh

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux