[PATCH 1/2] fuse: use list_first_entry_or_null

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Use list_first_entry_or_null() instead of list_empty() and list_entry()
to simplify the code.

Signed-off-by: Geliang Tang <geliangtang@xxxxxxxxx>
---
 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

--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux