diff options
author | Jes Sorensen <jes@sgi.com> | 2006-01-09 18:59:24 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@hera.kernel.org> | 2006-01-09 18:59:24 -0500 |
commit | 1b1dcc1b57a49136f118a0f16367256ff9994a69 (patch) | |
tree | b0b36d4f41d28c9d6514fb309d33c1a084d6309b /drivers/usb/gadget | |
parent | 794ee1baee1c26be40410233e6c20bceb2b03c08 (diff) |
[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 'drivers/usb/gadget')
-rw-r--r-- | drivers/usb/gadget/file_storage.c | 4 | ||||
-rw-r--r-- | drivers/usb/gadget/inode.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/drivers/usb/gadget/file_storage.c b/drivers/usb/gadget/file_storage.c index 0cea9782d7d4..de59c58896d6 100644 --- a/drivers/usb/gadget/file_storage.c +++ b/drivers/usb/gadget/file_storage.c | |||
@@ -1891,7 +1891,7 @@ static int fsync_sub(struct lun *curlun) | |||
1891 | return -EINVAL; | 1891 | return -EINVAL; |
1892 | 1892 | ||
1893 | inode = filp->f_dentry->d_inode; | 1893 | inode = filp->f_dentry->d_inode; |
1894 | down(&inode->i_sem); | 1894 | mutex_lock(&inode->i_mutex); |
1895 | current->flags |= PF_SYNCWRITE; | 1895 | current->flags |= PF_SYNCWRITE; |
1896 | rc = filemap_fdatawrite(inode->i_mapping); | 1896 | rc = filemap_fdatawrite(inode->i_mapping); |
1897 | err = filp->f_op->fsync(filp, filp->f_dentry, 1); | 1897 | err = filp->f_op->fsync(filp, filp->f_dentry, 1); |
@@ -1901,7 +1901,7 @@ static int fsync_sub(struct lun *curlun) | |||
1901 | if (!rc) | 1901 | if (!rc) |
1902 | rc = err; | 1902 | rc = err; |
1903 | current->flags &= ~PF_SYNCWRITE; | 1903 | current->flags &= ~PF_SYNCWRITE; |
1904 | up(&inode->i_sem); | 1904 | mutex_unlock(&inode->i_mutex); |
1905 | VLDBG(curlun, "fdatasync -> %d\n", rc); | 1905 | VLDBG(curlun, "fdatasync -> %d\n", rc); |
1906 | return rc; | 1906 | return rc; |
1907 | } | 1907 | } |
diff --git a/drivers/usb/gadget/inode.c b/drivers/usb/gadget/inode.c index 5c40980a5bd9..c6c279de832e 100644 --- a/drivers/usb/gadget/inode.c +++ b/drivers/usb/gadget/inode.c | |||
@@ -1562,10 +1562,10 @@ restart: | |||
1562 | spin_unlock_irq (&dev->lock); | 1562 | spin_unlock_irq (&dev->lock); |
1563 | 1563 | ||
1564 | /* break link to dcache */ | 1564 | /* break link to dcache */ |
1565 | down (&parent->i_sem); | 1565 | mutex_lock (&parent->i_mutex); |
1566 | d_delete (dentry); | 1566 | d_delete (dentry); |
1567 | dput (dentry); | 1567 | dput (dentry); |
1568 | up (&parent->i_sem); | 1568 | mutex_unlock (&parent->i_mutex); |
1569 | 1569 | ||
1570 | /* fds may still be open */ | 1570 | /* fds may still be open */ |
1571 | goto restart; | 1571 | goto restart; |