From e089b718969bc0aaecf180c675b9c2b6d1b8ba9c Mon Sep 17 00:00:00 2001 From: Miklos Szeredi Date: Tue, 17 Jan 2006 12:42:39 +0000 Subject: fix --- kernel/file.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'kernel/file.c') 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; } -- cgit v1.2.3