diff options
| author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-09 20:31:38 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-09 20:31:38 -0500 |
| commit | 80c0531514516e43ae118ddf38424e06e5c3cb3c (patch) | |
| tree | 2eef8cf8fdf505b18f83078d1eb41167e98f5b54 /fs/buffer.c | |
| parent | a457aa6c2bdd743bbbffd3f9e4fdbd8c71f8af1b (diff) | |
| parent | 11b751ae8c8ca3fa24c85bd5a3e51dd9f95cda17 (diff) | |
Merge master.kernel.org:/pub/scm/linux/kernel/git/mingo/mutex-2.6
Diffstat (limited to 'fs/buffer.c')
| -rw-r--r-- | fs/buffer.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/buffer.c b/fs/buffer.c index 55f0975a9b15..6466bc8a3dc7 100644 --- a/fs/buffer.c +++ b/fs/buffer.c | |||
| @@ -352,11 +352,11 @@ static long do_fsync(unsigned int fd, int datasync) | |||
| 352 | * We need to protect against concurrent writers, | 352 | * We need to protect against concurrent writers, |
| 353 | * which could cause livelocks in fsync_buffers_list | 353 | * which could cause livelocks in fsync_buffers_list |
| 354 | */ | 354 | */ |
| 355 | down(&mapping->host->i_sem); | 355 | mutex_lock(&mapping->host->i_mutex); |
| 356 | err = file->f_op->fsync(file, file->f_dentry, datasync); | 356 | err = file->f_op->fsync(file, file->f_dentry, datasync); |
| 357 | if (!ret) | 357 | if (!ret) |
| 358 | ret = err; | 358 | ret = err; |
| 359 | up(&mapping->host->i_sem); | 359 | mutex_unlock(&mapping->host->i_mutex); |
| 360 | err = filemap_fdatawait(mapping); | 360 | err = filemap_fdatawait(mapping); |
| 361 | if (!ret) | 361 | if (!ret) |
| 362 | ret = err; | 362 | ret = err; |
| @@ -2338,7 +2338,7 @@ int generic_commit_write(struct file *file, struct page *page, | |||
| 2338 | __block_commit_write(inode,page,from,to); | 2338 | __block_commit_write(inode,page,from,to); |
| 2339 | /* | 2339 | /* |
| 2340 | * No need to use i_size_read() here, the i_size | 2340 | * No need to use i_size_read() here, the i_size |
| 2341 | * cannot change under us because we hold i_sem. | 2341 | * cannot change under us because we hold i_mutex. |
| 2342 | */ | 2342 | */ |
| 2343 | if (pos > inode->i_size) { | 2343 | if (pos > inode->i_size) { |
| 2344 | i_size_write(inode, pos); | 2344 | i_size_write(inode, pos); |
