[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4CAC8552.6090304@linux.vnet.ibm.com>
Date: Wed, 06 Oct 2010 07:18:58 -0700
From: "Venkateswararao Jujjuri (JV)" <jvrao@...ux.vnet.ibm.com>
To: "Aneesh Kumar K. V" <aneesh.kumar@...ux.vnet.ibm.com>
CC: Eric Van Hensbergen <ericvh@...il.com>,
linux-fsdevel@...r.kernel.org,
v9fs-developer@...ts.sourceforge.net, linux-kernel@...r.kernel.org
Subject: Re: [V9fs-developer] [PATCH 1/3] fs/9p: Update TLCREATE to allow
create without open
On 10/6/2010 4:03 AM, Aneesh Kumar K. V wrote:
> On Wed, 06 Oct 2010 11:48:15 +0530, "Aneesh Kumar K. V"<aneesh.kumar@...ux.vnet.ibm.com> wrote:
>> On Tue, 5 Oct 2010 13:15:42 -0400, Eric Van Hensbergen<ericvh@...il.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
Yep. This sounds much better. :)
- JV
>
> 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 "
>
> ------------------------------------------------------------------------------
> Beautiful is writing same markup. Internet Explorer 9 supports
> standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2& L3.
> Spend less time writing and rewriting code and more time creating great
> experiences on the web. Be a part of the beta today.
> http://p.sf.net/sfu/beautyoftheweb
> _______________________________________________
> V9fs-developer mailing list
> V9fs-developer@...ts.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/v9fs-developer
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists