From 98351e8435e3ab7acc325ed0afb278fb5f5bafd5 Mon Sep 17 00:00:00 2001 From: anserper Date: Tue, 14 Apr 2009 00:04:32 +0000 Subject: [PATCH] b=18728 i=Alex Zhuravlev i=Alexander Zarochentsev decrease response time for write-waiting threads --- lustre/llite/file.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lustre/llite/file.c b/lustre/llite/file.c index 7949e69..2704e63 100644 --- a/lustre/llite/file.c +++ b/lustre/llite/file.c @@ -1715,7 +1715,9 @@ static ssize_t ll_file_aio_write(struct kiocb *iocb, const struct iovec *iov, LASSERT(ll_i2info(inode)->lli_smd != NULL); - down(&ll_i2info(inode)->lli_write_sem); + /* signal(7) specifies that write(2) and writev(2) should be restarted */ + if (down_interruptible(&ll_i2info(inode)->lli_write_sem)) + RETURN(-ERESTARTSYS); repeat: chunk = 0; /* just to fix gcc's warning */ -- 1.8.3.1