Эх сурвалжийг харах

orangefs: return from orangefs_devreq_read quickly if possible

It is not necessary to take the lock and search through the request list
if the list is empty.

Signed-off-by: Martin Brandenburg <martin@omnibond.com>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
Martin Brandenburg 8 жил өмнө
parent
commit
b7a57ccab8

+ 4 - 0
fs/orangefs/devorangefs-req.c

@@ -180,6 +180,10 @@ static ssize_t orangefs_devreq_read(struct file *file,
 		return -EINVAL;
 		return -EINVAL;
 	}
 	}
 
 
+	/* Check for an empty list before locking. */
+	if (list_empty(&orangefs_request_list))
+		return -EAGAIN;
+
 restart:
 restart:
 	/* Get next op (if any) from top of list. */
 	/* Get next op (if any) from top of list. */
 	spin_lock(&orangefs_request_list_lock);
 	spin_lock(&orangefs_request_list_lock);