OSDN Git Service

fs/9p: Add OS dependent open flags in 9p protocol
authorAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Wed, 3 Aug 2011 14:25:32 +0000 (19:55 +0530)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 3 Oct 2011 18:40:21 +0000 (11:40 -0700)
commita111278ea956e42e2d1ac4b4f04a2c71d322235b
treeed4dec0ef5ce9447f05b4836c0bc4534886aeecb
parent29a3e8657d2a2640384166e3fe29a086d235fc33
fs/9p: Add OS dependent open flags in 9p protocol

commit f88657ce3f9713a0c62101dffb0e972a979e77b9 upstream.

Some of the flags are OS/arch dependent we add a 9p
protocol value which maps to asm-generic/fcntl.h values in Linux
Based on the original patch from Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>

[extra comments from author as to why this needs to go to stable:

Earlier for different operation such as open we used the values of open
flag as defined by the OS.  But some of these flags such as O_DIRECT are
arch dependent. So if we have the 9p client and server running on
different architectures, we end up with client sending client
architecture value of these open flag and server will try to map these
values to what its architecture states. For ex: O_DIRECT on a x86 client
maps to

#define O_DIRECT        00040000

Where as on sparc server it will maps to

#define O_DIRECT        0x100000

Hence we need to map these open flags to OS/arch independent flag
values.  Getting these changes to an early version of kernel ensures us
that we work with different combination of client and server. We should
ideally backport this patch to all possible kernel version.]

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Harsh Prateek Bora <harsh@linux.vnet.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/9p/v9fs_vfs.h
fs/9p/vfs_file.c
fs/9p/vfs_inode_dotl.c
include/net/9p/9p.h