diff options
author | David S. Miller <davem@davemloft.net> | 2011-07-21 16:38:42 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-07-21 16:38:42 -0400 |
commit | 033b1142f4bd44a116d1356fe4a0510437ceddf9 (patch) | |
tree | d2a971a7dc9f3a1af8035e38419c4c4ad8c22632 /net/ceph | |
parent | f5caadbb3d8fc0b71533e880c684b2230bdb76ac (diff) | |
parent | e6625fa48e6580a74b7e700efd7e6463e282810b (diff) |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts:
net/bluetooth/l2cap_core.c
Diffstat (limited to 'net/ceph')
-rw-r--r-- | net/ceph/ceph_fs.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/net/ceph/ceph_fs.c b/net/ceph/ceph_fs.c index a3a3a31d3c37..41466ccb972a 100644 --- a/net/ceph/ceph_fs.c +++ b/net/ceph/ceph_fs.c | |||
@@ -36,16 +36,19 @@ int ceph_flags_to_mode(int flags) | |||
36 | if ((flags & O_DIRECTORY) == O_DIRECTORY) | 36 | if ((flags & O_DIRECTORY) == O_DIRECTORY) |
37 | return CEPH_FILE_MODE_PIN; | 37 | return CEPH_FILE_MODE_PIN; |
38 | #endif | 38 | #endif |
39 | if ((flags & O_APPEND) == O_APPEND) | ||
40 | flags |= O_WRONLY; | ||
41 | 39 | ||
42 | if ((flags & O_ACCMODE) == O_RDWR) | 40 | switch (flags & O_ACCMODE) { |
43 | mode = CEPH_FILE_MODE_RDWR; | 41 | case O_WRONLY: |
44 | else if ((flags & O_ACCMODE) == O_WRONLY) | ||
45 | mode = CEPH_FILE_MODE_WR; | 42 | mode = CEPH_FILE_MODE_WR; |
46 | else | 43 | break; |
44 | case O_RDONLY: | ||
47 | mode = CEPH_FILE_MODE_RD; | 45 | mode = CEPH_FILE_MODE_RD; |
48 | 46 | break; | |
47 | case O_RDWR: | ||
48 | case O_ACCMODE: /* this is what the VFS does */ | ||
49 | mode = CEPH_FILE_MODE_RDWR; | ||
50 | break; | ||
51 | } | ||
49 | #ifdef O_LAZY | 52 | #ifdef O_LAZY |
50 | if (flags & O_LAZY) | 53 | if (flags & O_LAZY) |
51 | mode |= CEPH_FILE_MODE_LAZY; | 54 | mode |= CEPH_FILE_MODE_LAZY; |