X-Git-Url: http://pilppa.org/gitweb/?a=blobdiff_plain;f=fs%2F9p%2Fvfs_file.c;h=52944d2249a49a1e05c7fdc05d63919180dc3a29;hb=a11e2afa77b9e1ddffc63e37cae5685683558870;hp=0d55affe37d4452124471365797ffb472e1ebe52;hpb=8033c6e9736c29cce5f0d0abbca9a44dffb20c39;p=linux-2.6-omap-h63xx.git 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;