diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2006-01-17 12:42:39 +0000 |
---|---|---|
committer | Miklos Szeredi <miklos@szeredi.hu> | 2006-01-17 12:42:39 +0000 |
commit | e089b718969bc0aaecf180c675b9c2b6d1b8ba9c (patch) | |
tree | 7a3bde6f8fd4f71c81568688669fa6d4eb8a9449 /kernel/file.c | |
parent | 15af1b81cfcc81b9f25d4155d191c071e35dabac (diff) | |
download | libfuse-e089b718969bc0aaecf180c675b9c2b6d1b8ba9c.tar.gz |
fix
Diffstat (limited to 'kernel/file.c')
-rw-r--r-- | kernel/file.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/kernel/file.c b/kernel/file.c index 42ab037..e8dae79 100644 --- a/kernel/file.c +++ b/kernel/file.c @@ -692,9 +692,15 @@ static ssize_t fuse_direct_write(struct file *file, const char __user *buf, struct inode *inode = file->f_dentry->d_inode; ssize_t res; /* Don't allow parallel writes to the same file */ +#ifdef KERNEL_2_6_16_PLUS + mutex_lock(&inode->i_mutex); + res = fuse_direct_io(file, buf, count, ppos, 1); + mutex_unlock(&inode->i_mutex); +#else down(&inode->i_sem); res = fuse_direct_io(file, buf, count, ppos, 1); up(&inode->i_sem); +#endif return res; } |