From 74d58df8b2ba860c8b0521d882693efcac3af8d1 Mon Sep 17 00:00:00 2001 From: anserper Date: Tue, 14 Apr 2009 00:02:35 +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 b493fbe..07d7814 100644 --- a/lustre/llite/file.c +++ b/lustre/llite/file.c @@ -1683,7 +1683,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