diff options
author | Michael Halcrow <mhalcrow@us.ibm.com> | 2007-02-12 03:53:48 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-12 12:48:37 -0500 |
commit | 70456600f42f85cfcbdd9d7a6029c03b6f9c5d1e (patch) | |
tree | 1b47957d59bfe3b4e5e5244106678f5542f8f295 /fs/ecryptfs/inode.c | |
parent | e77a56ddceeec87575a13a60fc1a394af6a1f4bc (diff) |
[PATCH] eCryptfs: convert f_op->write() to vfs_write()
sys_write() takes a local copy of f_pos and writes that back
into the struct file. It does this so that two concurrent write()
callers don't make a mess of f_pos, and of the file contents.
ecryptfs should be calling vfs_write(). That way we also get the fsnotify
notifications, which ecryptfs presently appears to have subverted.
Convert direct calls to f_op->write() into calls to vfs_write().
Signed-off-by: Michael Halcrow <mhalcrow@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/ecryptfs/inode.c')
-rw-r--r-- | fs/ecryptfs/inode.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ecryptfs/inode.c b/fs/ecryptfs/inode.c index bbc1b4f666fe..7d3391712027 100644 --- a/fs/ecryptfs/inode.c +++ b/fs/ecryptfs/inode.c | |||
@@ -201,7 +201,7 @@ static int ecryptfs_initialize_file(struct dentry *ecryptfs_dentry) | |||
201 | lower_dentry->d_name.name); | 201 | lower_dentry->d_name.name); |
202 | inode = ecryptfs_dentry->d_inode; | 202 | inode = ecryptfs_dentry->d_inode; |
203 | crypt_stat = &ecryptfs_inode_to_private(inode)->crypt_stat; | 203 | crypt_stat = &ecryptfs_inode_to_private(inode)->crypt_stat; |
204 | lower_flags = ((O_CREAT | O_WRONLY | O_TRUNC) & O_ACCMODE) | O_RDWR; | 204 | lower_flags = ((O_CREAT | O_TRUNC) & O_ACCMODE) | O_RDWR; |
205 | #if BITS_PER_LONG != 32 | 205 | #if BITS_PER_LONG != 32 |
206 | lower_flags |= O_LARGEFILE; | 206 | lower_flags |= O_LARGEFILE; |
207 | #endif | 207 | #endif |