All of lore.kernel.org
 help / color / mirror / Atom feed
From: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
To: qemu-devel@nongnu.org, v9fs-developer@lists.sourceforge.net,
	Eric Van Hensbergen <ericvh@gmail.com>
Subject: Re: [Qemu-devel] Bug in virtio-9p when fstatting an fd referring to a file that no longer exists
Date: Mon, 02 May 2011 08:47:18 -0700	[thread overview]
Message-ID: <4DBED206.6020809@linux.vnet.ibm.com> (raw)
In-Reply-To: <BANLkTimMptU4mYuJ5L_gQbmU=rQH_wyjRQ@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2357 bytes --]

On 04/28/2011 09:51 AM, Sassan Panahinejad wrote:
> This thread seems relevant: 
> http://www.mail-archive.com/linux-fsdevel@vger.kernel.org/msg09159.html
> Unless things have changed, it looks like the problem is in the client 
> kernel (although note that there isn't support in qemu, even if the 
> client did send an fid associated with an open file!).
> Any thoughts on a workaround for this?

Hrm, I don't see any workaround for this. May be we should add TFSTAT 
for dotl? or add a flag to
TSTAT?

Copying the v9fs.

Thanks,
JV


>
>
> Thanks
> Sassan
>
> On 28 April 2011 17:13, Sassan Panahinejad <sassan@sassan.me.uk 
> <mailto:sassan@sassan.me.uk>> wrote:
>
>     It should be possible for guest applications to fstat a file for
>     which they have a valid file descriptor, even if the file has been
>     removed.
>     Demonstrated by the code sample below (fstat reports no such file
>     or directory).
>     Strangely it seems that reading from a file in this state works
>     fine (and when both are run, the server receives a different fid
>     for each).
>     On any other filesystem, the code runs correctly. On our 9p
>     filesystem it fails.
>     Many applications (including bash) depend on this working correctly.
>     I will continue investigating, but any thoughts anyone has on the
>     subject would be appreciated.
>
>
>     Thanks
>     Sassan
>
>
>     #include <stdio.h>
>     #include <unistd.h>
>     #include <fcntl.h>
>     #include <sys/types.h>
>     #include <sys/stat.h>
>
>
>     int main(void)
>     {
>             int ret;
>             struct stat statbuf;
>             int fd = open("test.txt", O_RDWR | O_CREAT, 0666);
>             if (fd < 0) {
>                     printf("open failed: %m\n");
>                     return 1;
>             }
>             ret = write(fd, "test1\n", 6);
>             if (ret < 0) {
>                     printf("write1 failed: %m\n");
>                     return 1;
>             }
>             ret = unlink("test.txt");
>             if (ret < 0) {
>                     printf("unlink failed: %m\n");
>                     return 1;
>             }
>             ret = fstat(fd, &statbuf);
>             if (ret < 0) {
>                     printf("fstat failed: %m\n");
>                     return 1;
>             }
>             return 0;
>     }
>
>


[-- Attachment #2: Type: text/html, Size: 5021 bytes --]

  reply	other threads:[~2011-05-02 15:47 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-28 16:13 [Qemu-devel] Bug in virtio-9p when fstatting an fd referring to a file that no longer exists Sassan Panahinejad
2011-04-28 16:51 ` Sassan Panahinejad
2011-05-02 15:47   ` Venkateswararao Jujjuri [this message]
2011-05-03 15:20     ` Sassan Panahinejad

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4DBED206.6020809@linux.vnet.ibm.com \
    --to=jvrao@linux.vnet.ibm.com \
    --cc=ericvh@gmail.com \
    --cc=qemu-devel@nongnu.org \
    --cc=v9fs-developer@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.