[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <AANLkTi=qbYsXAOB5ArodYSr+DYwk16mV1F-8+=b5rK6P@mail.gmail.com>
Date: Wed, 6 Oct 2010 10:59:41 -0400
From: Eric Van Hensbergen <ericvh@...il.com>
To: "Aneesh Kumar K. V" <aneesh.kumar@...ux.vnet.ibm.com>
Cc: 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 Wed, Oct 6, 2010 at 7:03 AM, Aneesh Kumar K. V
<aneesh.kumar@...ux.vnet.ibm.com> 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
>
Yes, I think that's the better path. :)
-eric
> 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