diff options
| author | Jes Sorensen <jes@sgi.com> | 2006-01-09 15:59:24 -0800 | 
|---|---|---|
| committer | Ingo Molnar <mingo@hera.kernel.org> | 2006-01-09 15:59:24 -0800 | 
| commit | 1b1dcc1b57a49136f118a0f16367256ff9994a69 (patch) | |
| tree | b0b36d4f41d28c9d6514fb309d33c1a084d6309b /fs/ntfs/inode.c | |
| parent | 794ee1baee1c26be40410233e6c20bceb2b03c08 (diff) | |
| download | olio-linux-3.10-1b1dcc1b57a49136f118a0f16367256ff9994a69.tar.xz olio-linux-3.10-1b1dcc1b57a49136f118a0f16367256ff9994a69.zip  | |
[PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem
This patch converts the inode semaphore to a mutex. I have tested it on
XFS and compiled as much as one can consider on an ia64. Anyway your
luck with it might be different.
Modified-by: Ingo Molnar <mingo@elte.hu>
(finished the conversion)
Signed-off-by: Jes Sorensen <jes@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'fs/ntfs/inode.c')
| -rw-r--r-- | fs/ntfs/inode.c | 8 | 
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/ntfs/inode.c b/fs/ntfs/inode.c index b24f4c4b2c5..bda7a08911a 100644 --- a/fs/ntfs/inode.c +++ b/fs/ntfs/inode.c @@ -2125,13 +2125,13 @@ void ntfs_put_inode(struct inode *vi)  		ntfs_inode *ni = NTFS_I(vi);  		if (NInoIndexAllocPresent(ni)) {  			struct inode *bvi = NULL; -			down(&vi->i_sem); +			mutex_lock(&vi->i_mutex);  			if (atomic_read(&vi->i_count) == 2) {  				bvi = ni->itype.index.bmp_ino;  				if (bvi)  					ni->itype.index.bmp_ino = NULL;  			} -			up(&vi->i_sem); +			mutex_unlock(&vi->i_mutex);  			if (bvi)  				iput(bvi);  		} @@ -2311,7 +2311,7 @@ static const char *es = "  Leaving inconsistent metadata.  Unmount and run "   *   * Returns 0 on success or -errno on error.   * - * Called with ->i_sem held.  In all but one case ->i_alloc_sem is held for + * Called with ->i_mutex held.  In all but one case ->i_alloc_sem is held for   * writing.  The only case in the kernel where ->i_alloc_sem is not held is   * mm/filemap.c::generic_file_buffered_write() where vmtruncate() is called   * with the current i_size as the offset.  The analogous place in NTFS is in @@ -2831,7 +2831,7 @@ void ntfs_truncate_vfs(struct inode *vi) {   * We also abort all changes of user, group, and mode as we do not implement   * the NTFS ACLs yet.   * - * Called with ->i_sem held.  For the ATTR_SIZE (i.e. ->truncate) case, also + * Called with ->i_mutex held.  For the ATTR_SIZE (i.e. ->truncate) case, also   * called with ->i_alloc_sem held for writing.   *   * Basically this is a copy of generic notify_change() and inode_setattr()  |