[OT] Hardlinks and directories
Patrick O'Callaghan
pocallaghan at gmail.com
Sat Feb 13 03:45:58 UTC 2010
On Fri, 2010-02-12 at 19:20 -0800, Suvayu Ali wrote:
> On Friday 12 February 2010 05:57 PM, Patrick O'Callaghan wrote:
> > On Fri, 2010-02-12 at 16:42 -0800, Suvayu Ali wrote:
> >> On Friday 12 February 2010 04:36 PM, Suvayu Ali wrote:
> >>> On Friday 12 February 2010 04:07 PM, Patrick O'Callaghan wrote:
> >>>> Editors can do funny things with backup files in the interests of
> >>>> preserving your work. An easier test would be:
> >>>>
> >>>> cat> foo&
> >>>> rm foo
> >>>> lsof +L1 -s
> >>>>
> >>>> When I do this the "cat" process shows up (and foo is marked as
> >>>> deleted). You can then reconnect to "cat" (using fg) and write stuff
> >>>> into the "non-existent" file.
> >>
> >> Another observation I forgot to mention, when I used fg and wrote to the
> >> (deleted) file I could also see the size of the file increase. However
> >> using `C-z' and fg again gave me back the orginal empty file _without_
> >> the edits.
> >
> > How do you know it doesn't have the edits if you can't open it?
>
> So after I resume the edit with fg %1, I can't see what I had input the
> last time. Strangely though I see the size is the same (same as after my
> first edit). Here is the transcript from my terminal.
>
> > $ cat > foo &
> > [1] 3843
> >
> > [1]+ Stopped cat > foo
> > $ rm foo
> > $ lsof +L1 -s
> > COMMAND PID USER FD TYPE DEVICE SIZE NLINK NODE NAME
> > cat 3843 jallad 1w REG 253,2 0 0 15032 /home/jallad/foo (deleted)
> > $ fg %1
> > cat > foo
> > testing deleted files
> > ^Z
> > [1]+ Stopped cat > foo
> > $ lsof +L1 -s
> > COMMAND PID USER FD TYPE DEVICE SIZE NLINK NODE NAME
> > cat 3843 jallad 1w REG 253,2 22 0 15032 /home/jallad/foo (deleted)
> > $ fg %1
> > cat > foo
> > ^Z
> > [1]+ Stopped cat > foo
> > $ lsof +L1 -s
> > COMMAND PID USER FD TYPE DEVICE SIZE NLINK NODE NAME
> > cat 3843 jallad 1w REG 253,2 22 0 15032 /home/jallad/foo (deleted)
>
> Is this expected?
As far as I can see, you didn't write any extra data on the second
reconnection to cat, and the size (22 bytes) hasn't changed. Why do you
think there's something wrong with this?
poc
More information about the users
mailing list