[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <dc8eb439b88e8eacd8cfceaf63eee2a0f558829a.1465382702.git.geliangtang@gmail.com>
Date: Wed, 8 Jun 2016 18:48:01 +0800
From: Geliang Tang <geliangtang@...il.com>
To: Miklos Szeredi <miklos@...redi.hu>
Cc: Geliang Tang <geliangtang@...il.com>,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [PATCH 1/2] fuse: use list_first_entry_or_null
Use list_first_entry_or_null() instead of list_empty() and list_entry()
to simplify the code.
Signed-off-by: Geliang Tang <geliangtang@...il.com>
---
fs/fuse/dev.c | 7 +++----
fs/fuse/file.c | 9 ++++-----
2 files changed, 7 insertions(+), 9 deletions(-)
diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c
index cbece12..1432cf7 100644
--- a/fs/fuse/dev.c
+++ b/fs/fuse/dev.c
@@ -1259,11 +1259,10 @@ static ssize_t fuse_dev_do_read(struct fuse_dev *fud, struct file *file,
if (!fiq->connected)
goto err_unlock;
- if (!list_empty(&fiq->interrupts)) {
- req = list_entry(fiq->interrupts.next, struct fuse_req,
- intr_entry);
+ req = list_first_entry_or_null(&fiq->interrupts, struct fuse_req,
+ intr_entry);
+ if (req)
return fuse_read_interrupt(fiq, cs, nbytes, req);
- }
if (forget_pending(fiq)) {
if (list_empty(&fiq->pending) || fiq->forget_batch-- > 0)
diff --git a/fs/fuse/file.c b/fs/fuse/file.c
index 9154f86..c1d97a1 100644
--- a/fs/fuse/file.c
+++ b/fs/fuse/file.c
@@ -1565,14 +1565,13 @@ static void fuse_writepage_end(struct fuse_conn *fc, struct fuse_req *req)
static struct fuse_file *__fuse_write_file_get(struct fuse_conn *fc,
struct fuse_inode *fi)
{
- struct fuse_file *ff = NULL;
+ struct fuse_file *ff;
spin_lock(&fc->lock);
- if (!list_empty(&fi->write_files)) {
- ff = list_entry(fi->write_files.next, struct fuse_file,
- write_entry);
+ ff = list_first_entry_or_null(&fi->write_files, struct fuse_file,
+ write_entry);
+ if (ff)
fuse_file_get(ff);
- }
spin_unlock(&fc->lock);
return ff;
--
1.9.1
Powered by blists - more mailing lists