Re: 'Undeleting' an open file

From: Ian Campbell (ijc_at_hellion.org.uk)
Date: 10/07/05

  • Next message: Al Viro: "Re: [PATCH] don't invalidate non-directory mountpoints"
    To: Giuseppe Bilotta <bilotta78@hotpop.com>
    Date:	Fri, 07 Oct 2005 15:30:00 +0100
    
    

    On Fri, 2005-10-07 at 16:14 +0200, Giuseppe Bilotta wrote:
    > On Wed, 5 Oct 2005 23:05:34 +0200 (CEST), Bodo Eggert wrote:
    >
    > > Files are deleted if the last reference is gone. If you play a music file
    > > and unlink it while it's playing, it won't be deleted untill the player
    > > closes the file, since an open filehandle is a reference.
    >
    > BTW, I've always wondered: is there a way to un-unlink such a file?

    Access via /proc/PID/fd/* seems to work:

    $ echo "Hello World" > testing
    $ exec 10>>testing
    $ rm testing
    $ ls -l /proc/self/fd/
    total 5
    lrwx------ 1 icampbell icampbell 64 Oct 7 15:28 0 -> /dev/pts/9
    lrwx------ 1 icampbell icampbell 64 Oct 7 15:28 1 -> /dev/pts/9
    l-wx------ 1 icampbell icampbell 64 Oct 7 15:28 10
    -> /home/icampbell/testing (deleted)
    lrwx------ 1 icampbell icampbell 64 Oct 7 15:28 2 -> /dev/pts/9
    lr-x------ 1 icampbell icampbell 64 Oct 7 15:28 3 -> /proc/31390/fd/
    $ cat /proc/self/fd/10
    Hello World
    $

    Ian.

    -- 
    Ian Campbell
    Current Noise: Rotting Christ - In Domine Sathana
    I may not be totally perfect, but parts of me are excellent.
    		-- Ashleigh Brilliant
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at  http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at  http://www.tux.org/lkml/
    

  • Next message: Al Viro: "Re: [PATCH] don't invalidate non-directory mountpoints"

    Relevant Pages

    • Re: Undeleting an open file
      ... If you play a music file ... since an open filehandle is a reference. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: Undeleting an open file
      ... If you play a music file ... >> and unlink it while it's playing, it won't be deleted untill the player ... since an open filehandle is a reference. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: klists and struct device semaphores
      ... there is no need to confuscate the klist code to do it. ... lifetime rules of the containing objects. ... they should increment the reference count of the ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: "deadlock" between smc91x driver and link_watch
      ... without locks now. ... I introduced the smc_phy_configure_wqwrapper for the workqueue call ... * reference and then do the configuration. ... To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ ...
      (Linux-Kernel)
    • Freeing skbuff (was: Re: Sending built-by-hand packet and kernel panic.)
      ... Thanks a lot for pointing out these problems. ... As far as my investigations ... >case it is wrong to reference them via sk. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)