qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH 2/5] 9pfs-proxy: simplify v9fs_request(), P2


From: Michael Tokarev
Subject: [Qemu-devel] [PATCH 2/5] 9pfs-proxy: simplify v9fs_request(), P2
Date: Fri, 6 Mar 2015 12:23:48 +0300

Move common code in all cases of the switch statement
to be outside of the statement.

Signed-off-by: Michael Tokarev <address@hidden>
---
 hw/9pfs/virtio-9p-proxy.c | 85 +++--------------------------------------------
 1 file changed, 4 insertions(+), 81 deletions(-)

diff --git a/hw/9pfs/virtio-9p-proxy.c b/hw/9pfs/virtio-9p-proxy.c
index f252fe4..13b654d 100644
--- a/hw/9pfs/virtio-9p-proxy.c
+++ b/hw/9pfs/virtio-9p-proxy.c
@@ -323,10 +323,6 @@ static int v9fs_request(V9fsProxy *proxy, int type,
         path = va_arg(ap, V9fsString *);
         flags = va_arg(ap, int);
         retval = proxy_marshal(iovec, PROXY_HDR_SZ, "sd", path, flags);
-        if (retval > 0) {
-            header.size = retval;
-            header.type = T_OPEN;
-        }
         break;
     case T_CREATE:
         path = va_arg(ap, V9fsString *);
@@ -336,10 +332,6 @@ static int v9fs_request(V9fsProxy *proxy, int type,
         gid = va_arg(ap, int);
         retval = proxy_marshal(iovec, PROXY_HDR_SZ, "sdddd", path,
                                     flags, mode, uid, gid);
-        if (retval > 0) {
-            header.size = retval;
-            header.type = T_CREATE;
-        }
         break;
     case T_MKNOD:
         path = va_arg(ap, V9fsString *);
@@ -349,10 +341,6 @@ static int v9fs_request(V9fsProxy *proxy, int type,
         gid = va_arg(ap, int);
         retval = proxy_marshal(iovec, PROXY_HDR_SZ, "ddsdq",
                                     uid, gid, path, mode, rdev);
-        if (retval > 0) {
-            header.size = retval;
-            header.type = T_MKNOD;
-        }
         break;
     case T_MKDIR:
         path = va_arg(ap, V9fsString *);
@@ -361,10 +349,6 @@ static int v9fs_request(V9fsProxy *proxy, int type,
         gid = va_arg(ap, int);
         retval = proxy_marshal(iovec, PROXY_HDR_SZ, "ddsd",
                                     uid, gid, path, mode);
-        if (retval > 0) {
-            header.size = retval;
-            header.type = T_MKDIR;
-        }
         break;
     case T_SYMLINK:
         oldpath = va_arg(ap, V9fsString *);
@@ -373,73 +357,41 @@ static int v9fs_request(V9fsProxy *proxy, int type,
         gid = va_arg(ap, int);
         retval = proxy_marshal(iovec, PROXY_HDR_SZ, "ddss",
                                     uid, gid, oldpath, path);
-        if (retval > 0) {
-            header.size = retval;
-            header.type = T_SYMLINK;
-        }
         break;
     case T_LINK:
         oldpath = va_arg(ap, V9fsString *);
         path = va_arg(ap, V9fsString *);
         retval = proxy_marshal(iovec, PROXY_HDR_SZ, "ss",
                                     oldpath, path);
-        if (retval > 0) {
-            header.size = retval;
-            header.type = T_LINK;
-        }
         break;
     case T_LSTAT:
         path = va_arg(ap, V9fsString *);
         retval = proxy_marshal(iovec, PROXY_HDR_SZ, "s", path);
-        if (retval > 0) {
-            header.size = retval;
-            header.type = T_LSTAT;
-        }
         break;
     case T_READLINK:
         path = va_arg(ap, V9fsString *);
         size = va_arg(ap, int);
         retval = proxy_marshal(iovec, PROXY_HDR_SZ, "sd", path, size);
-        if (retval > 0) {
-            header.size = retval;
-            header.type = T_READLINK;
-        }
         break;
     case T_STATFS:
         path = va_arg(ap, V9fsString *);
         retval = proxy_marshal(iovec, PROXY_HDR_SZ, "s", path);
-        if (retval > 0) {
-            header.size = retval;
-            header.type = T_STATFS;
-        }
         break;
     case T_CHMOD:
         path = va_arg(ap, V9fsString *);
         mode = va_arg(ap, int);
         retval = proxy_marshal(iovec, PROXY_HDR_SZ, "sd", path, mode);
-        if (retval > 0) {
-            header.size = retval;
-            header.type = T_CHMOD;
-        }
         break;
     case T_CHOWN:
         path = va_arg(ap, V9fsString *);
         uid = va_arg(ap, int);
         gid = va_arg(ap, int);
         retval = proxy_marshal(iovec, PROXY_HDR_SZ, "sdd", path, uid, gid);
-        if (retval > 0) {
-            header.size = retval;
-            header.type = T_CHOWN;
-        }
         break;
     case T_TRUNCATE:
         path = va_arg(ap, V9fsString *);
         offset = va_arg(ap, uint64_t);
         retval = proxy_marshal(iovec, PROXY_HDR_SZ, "sq", path, offset);
-        if (retval > 0) {
-            header.size = retval;
-            header.type = T_TRUNCATE;
-        }
         break;
     case T_UTIME:
         path = va_arg(ap, V9fsString *);
@@ -450,27 +402,15 @@ static int v9fs_request(V9fsProxy *proxy, int type,
         retval = proxy_marshal(iovec, PROXY_HDR_SZ, "sqqqq", path,
                                     spec[0].tv_sec, spec[1].tv_nsec,
                                     spec[1].tv_sec, spec[1].tv_nsec);
-        if (retval > 0) {
-            header.size = retval;
-            header.type = T_UTIME;
-        }
         break;
     case T_RENAME:
         oldpath = va_arg(ap, V9fsString *);
         path = va_arg(ap, V9fsString *);
         retval = proxy_marshal(iovec, PROXY_HDR_SZ, "ss", oldpath, path);
-        if (retval > 0) {
-            header.size = retval;
-            header.type = T_RENAME;
-        }
         break;
     case T_REMOVE:
         path = va_arg(ap, V9fsString *);
         retval = proxy_marshal(iovec, PROXY_HDR_SZ, "s", path);
-        if (retval > 0) {
-            header.size = retval;
-            header.type = T_REMOVE;
-        }
         break;
     case T_LGETXATTR:
         size = va_arg(ap, int);
@@ -478,19 +418,11 @@ static int v9fs_request(V9fsProxy *proxy, int type,
         name = va_arg(ap, V9fsString *);
         retval = proxy_marshal(iovec, PROXY_HDR_SZ,
                                     "dss", size, path, name);
-        if (retval > 0) {
-            header.size = retval;
-            header.type = T_LGETXATTR;
-        }
         break;
     case T_LLISTXATTR:
         size = va_arg(ap, int);
         path = va_arg(ap, V9fsString *);
         retval = proxy_marshal(iovec, PROXY_HDR_SZ, "ds", size, path);
-        if (retval > 0) {
-            header.size = retval;
-            header.type = T_LLISTXATTR;
-        }
         break;
     case T_LSETXATTR:
         path = va_arg(ap, V9fsString *);
@@ -500,27 +432,15 @@ static int v9fs_request(V9fsProxy *proxy, int type,
         flags = va_arg(ap, int);
         retval = proxy_marshal(iovec, PROXY_HDR_SZ, "sssdd",
                                     path, name, value, size, flags);
-        if (retval > 0) {
-            header.size = retval;
-            header.type = T_LSETXATTR;
-        }
         break;
     case T_LREMOVEXATTR:
         path = va_arg(ap, V9fsString *);
         name = va_arg(ap, V9fsString *);
         retval = proxy_marshal(iovec, PROXY_HDR_SZ, "ss", path, name);
-        if (retval > 0) {
-            header.size = retval;
-            header.type = T_LREMOVEXATTR;
-        }
         break;
     case T_GETVERSION:
         path = va_arg(ap, V9fsString *);
         retval = proxy_marshal(iovec, PROXY_HDR_SZ, "s", path);
-        if (retval > 0) {
-            header.size = retval;
-            header.type = T_GETVERSION;
-        }
         break;
     default:
         error_report("Invalid type %d", type);
@@ -529,7 +449,10 @@ static int v9fs_request(V9fsProxy *proxy, int type,
     }
     va_end(ap);
 
-    if (retval < 0) {
+    if (retval > 0) {
+        header.size = retval;
+        header.type = type;
+    } else if (retval < 0) {
         goto out;
     }
 
-- 
2.1.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]