On Fri, Mar 5, 2010 at 7:13 PM, Greg Freemyer <greg.freemyer@xxxxxxxxx> wrote: > On Fri, Mar 5, 2010 at 6:37 AM, nidhi mittal hada > <nidhimittal19@xxxxxxxxx> wrote: >> >> hi all >> I created a loop device >> /dev/loop0 ------------>with the image file ---------->file.img >> then >> mkfs and >> mount /dev/loop0 to /mnt >> >> cd /mnt >> created files a.c , b.c >> rm file.img ------- removed file.img >> >> cd /mnt >> still i am able to see a.c b.c here >> How are these files present here ? >> they should have been deleted as underlying storage file is no where present >> !! > > Nidhi, > > For this think of rm as what it really is "unlink". > > When you unlink a file all that happens is the directory entry for > that link is tagged as deleted / reusable, and the link count field in > the inode is decremented by one. > > After the decrement there is code to do: > > if (inode.link_count == 0 and inode.is_open == 0) then delete inode > and associated data blocks. Codewise .. check for the field "i_orhpan" in the inode structure (ext2_inode_info for eg.) and its use. Thanks - Manish > > When your loop mount is unmounted it should close the fd associated > with the image file and invoke the above logic again which I assume at > that point will cause the inode and data blocks to be freed up. > > Greg > > -- > To unsubscribe from this list: send an email with > "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx > Please read the FAQ at http://kernelnewbies.org/FAQ > > -- Thanks - Manish ================================== [$\*.^ -- I miss being one of them ================================== -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ