Gitweb:
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9261303ab7589cda6a3b95f9f80c9063538dc335
Commit: 9261303ab7589cda6a3b95f9f80c9063538dc335
Parent: 8b88b0998e35d239e74446cc30f354bdab86df89
Author: Christoph Hellwig <[EMAIL PROTECTED]>
AuthorDate: Fri Feb 8 04:20:27 2008 -0800
Committer: Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Fri Feb 8 09:22:34 2008 -0800
libfs: make simple attributes interruptible
Use mutex_lock_interruptible in simple_attr_read/write.
Signed-off-by: Christoph Hellwig <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Cc: Arnd Bergmann <[EMAIL PROTECTED]>
Cc: Greg KH <[EMAIL PROTECTED]>
Cc: Al Viro <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
---
fs/libfs.c | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/fs/libfs.c b/fs/libfs.c
index 2319415..d6de56a 100644
--- a/fs/libfs.c
+++ b/fs/libfs.c
@@ -634,7 +634,10 @@ ssize_t simple_attr_read(struct file *file, char __user
*buf,
if (!attr->get)
return -EACCES;
- mutex_lock(&attr->mutex);
+ ret = mutex_lock_interruptible(&attr->mutex);
+ if (ret)
+ return ret;
+
if (*ppos) { /* continued read */
size = strlen(attr->get_buf);
} else { /* first read */
@@ -666,7 +669,10 @@ ssize_t simple_attr_write(struct file *file, const char
__user *buf,
if (!attr->set)
return -EACCES;
- mutex_lock(&attr->mutex);
+ ret = mutex_lock_interruptible(&attr->mutex);
+ if (ret)
+ return ret;
+
ret = -EFAULT;
size = min(sizeof(attr->set_buf) - 1, len);
if (copy_from_user(attr->set_buf, buf, size))
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html