Re: read() on a deleted file

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

 



Thanx for the response. That is why I tried shred-ding the file. I
believe that shred overwrites the file inode, if so, shred should have
led to failures of read() which is not the case. How does that happen?


On Jan 3, 2008 4:19 PM, Alex Bligh <alex@xxxxxxxxxxx> wrote:
>
>
> --On 3 January 2008 16:00:22 +0530 Fasihullah Askiri
> <fasihullah.askiri@xxxxxxxxx> wrote:
>
> > I have a doubt regarding the behaviour of read() on an ext3
> > filesystem. To elucidate my doubts, I wrote a small program opens a
> > file and reads one byte at a time and sleeps for a while. I deleted
> > the file while the read was still in progress and I noticed that the
> > read still succeeds. How does this work? Does the kernel not free the
> > inode when the file is deleted but there is a pending read? To check
> > this, instead of deleting, I tried shred-ding the file, the read still
> > gets the correct data.
>
> That's standard UNIX behaviour. The file exists on disk until all
> references to it have disappeared (references including the open
> file handle). All you do by typing "rm" is delete a reference/link to
> it from a particular directory, not (necessarily) delete the file.
> That's why the system call is called "unlink".
>
> Alex
>



-- 
Keep Running.... And Relish the run...
+Fasih

_______________________________________________
Ext3-users mailing list
Ext3-users@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/ext3-users

[Index of Archives]         [Linux RAID]     [Kernel Development]     [Red Hat Install]     [Video 4 Linux]     [Postgresql]     [Fedora]     [Gimp]     [Yosemite News]

  Powered by Linux