summaryrefslogtreecommitdiffstats
path: root/fs/9p/vfs_file.c
diff options
context:
space:
mode:
authorJiri Kosina <jkosina@suse.cz>2008-07-07 11:30:31 +0200
committerJiri Kosina <jkosina@suse.cz>2008-07-07 11:30:31 +0200
commitd6d6a86e14a6b5a26c785b45268874a8f7a52b4d (patch)
treecd49bacdc4ac89a9317501bc9ebe87c3b6320e3e /fs/9p/vfs_file.c
parentf38bb7de289f5c15e287386d35e9c325f1062c49 (diff)
parent1b40a895df6c7d5a80e71f65674060b03d84bbef (diff)
downloadkernel-crypto-d6d6a86e14a6b5a26c785b45268874a8f7a52b4d.tar.gz
kernel-crypto-d6d6a86e14a6b5a26c785b45268874a8f7a52b4d.tar.xz
kernel-crypto-d6d6a86e14a6b5a26c785b45268874a8f7a52b4d.zip
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'fs/9p/vfs_file.c')
-rw-r--r--fs/9p/vfs_file.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/9p/vfs_file.c b/fs/9p/vfs_file.c
index 0d55affe37d..52944d2249a 100644
--- a/fs/9p/vfs_file.c
+++ b/fs/9p/vfs_file.c
@@ -59,7 +59,7 @@ int v9fs_file_open(struct inode *inode, struct file *file)
P9_DPRINTK(P9_DEBUG_VFS, "inode: %p file: %p \n", inode, file);
v9ses = v9fs_inode2v9ses(inode);
- omode = v9fs_uflags2omode(file->f_flags);
+ omode = v9fs_uflags2omode(file->f_flags, v9fs_extended(v9ses));
fid = file->private_data;
if (!fid) {
fid = v9fs_fid_clone(file->f_path.dentry);
@@ -75,6 +75,8 @@ int v9fs_file_open(struct inode *inode, struct file *file)
inode->i_size = 0;
inode->i_blocks = 0;
}
+ if ((file->f_flags & O_APPEND) && (!v9fs_extended(v9ses)))
+ generic_file_llseek(file, 0, SEEK_END);
}
file->private_data = fid;