linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Aneesh Kumar K. V" <aneesh.kumar@linux.vnet.ibm.com>
To: Eric Van Hensbergen <ericvh@gmail.com>
Cc: v9fs-developer@lists.sourceforge.net,
	linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [V9fs-developer] [PATCH 1/3] fs/9p: Update TLCREATE to allow create without open
Date: Wed, 06 Oct 2010 16:33:48 +0530	[thread overview]
Message-ID: <m3wrpvinvv.fsf@linux.vnet.ibm.com> (raw)
In-Reply-To: <m362xfkfo8.fsf@linux.vnet.ibm.com>

On Wed, 06 Oct 2010 11:48:15 +0530, "Aneesh Kumar K. V" <aneesh.kumar@linux.vnet.ibm.com> wrote:
> On Tue, 5 Oct 2010 13:15:42 -0400, Eric Van Hensbergen <ericvh@gmail.com> wrote:
> > Ouch.  Protocol change.
> > 
> > Also - not sure I understand what's going on here.  Why does mknod go
> > through TLCREATE, shouldn't we have our
> > own protocol messages for mknod?//
> 
> This is needed for the below mknod usage
> 
> mknod("k2", S_IFREG) ;
> 
> 

May be a better fix is to make sure we use TLMKNOD instead of TLCREATE
in case we get a create without LOOKUP_OPEN flags set. So how about

diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c
index 2f904a8..e89754f 100644
--- a/fs/9p/vfs_inode.c
+++ b/fs/9p/vfs_inode.c
@@ -55,6 +55,10 @@ static const struct inode_operations v9fs_file_inode_operations_dotl;
 static const struct inode_operations v9fs_symlink_inode_operations;
 static const struct inode_operations v9fs_symlink_inode_operations_dotl;
 
+static int
+v9fs_vfs_mknod_dotl(struct inode *dir, struct dentry *dentry, int omode,
+		    dev_t rdev);
+
 /**
  * unixmode2p9mode - convert unix mode bits to plan 9
  * @v9ses: v9fs session information
@@ -681,8 +685,14 @@ v9fs_vfs_create_dotl(struct inode *dir, struct dentry *dentry, int omode,
 	v9ses = v9fs_inode2v9ses(dir);
 	if (nd && nd->flags & LOOKUP_OPEN)
 		flags = nd->intent.open.flags - 1;
-	else
-		flags = O_RDWR;
+	else {
+		/*
+		 * create call without LOOKUP_OPEN is due
+		 * to mknod of regular files. So use mknod
+		 * operation.
+		 */
+		return v9fs_vfs_mknod_dotl(dir, dentry, omode, 0);
+	}
 
 	name = (char *) dentry->d_name.name;
 	P9_DPRINTK(P9_DEBUG_VFS, "v9fs_vfs_create_dotl: name:%s flags:0x%x "

  reply	other threads:[~2010-10-06 11:03 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-05 17:01 [PATCH 1/3] fs/9p: Update TLCREATE to allow create without open Aneesh Kumar K.V
2010-10-05 17:01 ` [PATCH 2/3] fs/9p: Add missing iput in v9fs_vfs_lookup Aneesh Kumar K.V
2010-10-05 23:29   ` [V9fs-developer] " Venkateswararao Jujjuri (JV)
2010-10-05 17:01 ` [PATCH 3/3] fs/9p: Use generic_file_open with lookup_instantiate_filp Aneesh Kumar K.V
2010-10-05 23:30   ` [V9fs-developer] " Venkateswararao Jujjuri (JV)
2010-10-05 17:15 ` [V9fs-developer] [PATCH 1/3] fs/9p: Update TLCREATE to allow create without open Eric Van Hensbergen
2010-10-05 18:19   ` Venkateswararao Jujjuri (JV)
2010-10-06  6:18   ` Aneesh Kumar K. V
2010-10-06 11:03     ` Aneesh Kumar K. V [this message]
2010-10-06 14:18       ` Venkateswararao Jujjuri (JV)
2010-10-06 14:59       ` Eric Van Hensbergen

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=m3wrpvinvv.fsf@linux.vnet.ibm.com \
    --to=aneesh.kumar@linux.vnet.ibm.com \
    --cc=ericvh@gmail.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).