The commit is pushed to "branch-rh7-3.10.0-957.12.2.vz7.96.x-ovz" and will 
appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh7-3.10.0-957.12.2.vz7.96.1
------>
commit 13e366d80c0880eb663961d9d648d24d1a4ee9de
Author: Pavel Butsykin <pbutsy...@virtuozzo.com>
Date:   Tue May 21 18:51:26 2019 +0300

    fs/fuse kio: convert rpc state id to string
    
    This is preparation patch that will be needed to display the rpc state
    as string.
    
    Signed-off-by: Pavel Butsykin <pbutsy...@virtuozzo.com>
    
    =====================
    Patchset description:
    
    Statistics for vstorage kernel fast-path
    
    Vstorage provides plenty of statistics information via 'vstorage -c cl 
mnt-top',
    but when it comes kernel fast-path, it doesn't work. All because mnt-top
    command collects information from .vstorage.info directory, where 
vstorage-mount
    provides a lot of different statistical information in the form of files, 
but
    it was not implemented for for fast-path.
    
    This patch-set is aimed to implementation of the support of some statistics
    inforamtion files from .vstorage.info:
      cs_stats
      fstat
      fstat_lat
      iostat
      requests
    Which will be located at "/sys/fs/fuse/connections/*mnt_id*/kio_stat/". This
    will be enough to maintain vstorage mnt-top command for fast-path mount 
points.
    
    https://pmc.acronis.com/browse/VSTOR-20979
    
    Pavel Butsykin (15):
      fs/fuse: add conn_ctl to fuse_conn struct
      fs/fuse kio: create sysfs stat directory
      fs/fuse kio: implement iostat
      fs/fuse kio: make common interface pcs_kio_file_list() for listing kio 
files
      fs/fuse kio: make common interface pcs_kio_req_list() for listing kio reqs
      fs/fuse kio: add retry counter for kio requests
      fs/fuse kio: implement pcs_strerror()
      fs/fuse kio: implement requests statistics
      fs/fuse kio: implement fstat statistics info
      fs/fuse kio: implement fstat_lat statistics info
      fs/fuse kio: remove useless pcs_cs initialization
      fs/fuse kio: implement cs statistics accounting
      fs/fuse kio: convert rpc state id to string
      fs/fuse kio: implement cs_stats statistics info
      fs/fuse kio: add locked cs_get_avg_in_flight()
---
 fs/fuse/kio/pcs/pcs_rpc.c | 23 +++++++++++++++++++++++
 fs/fuse/kio/pcs/pcs_rpc.h |  2 ++
 2 files changed, 25 insertions(+)

diff --git a/fs/fuse/kio/pcs/pcs_rpc.c b/fs/fuse/kio/pcs/pcs_rpc.c
index a34b204476bd..66d090988552 100644
--- a/fs/fuse/kio/pcs/pcs_rpc.c
+++ b/fs/fuse/kio/pcs/pcs_rpc.c
@@ -1434,3 +1434,26 @@ void rpc_connect_done(struct pcs_rpc *ep, struct socket 
*sock)
        mutex_unlock(&ep->mutex);
 
 }
+
+static const char *s_rpc_state_names[] = {
+       [PCS_RPC_UNCONN]        = "UNCONN",     /* Not connected */
+       [PCS_RPC_CONNECT]       = "CONNECT",    /* Connect in progress */
+       [PCS_RPC_AUTH]          = "AUTH",       /* Connected. Auth request 
sent. */
+       [PCS_RPC_AUTHWAIT]      = "AUTHWAIT",   /* Accepted. Waiting for auth 
request from peer. */
+       [PCS_RPC_APPWAIT]       = "APPWAIT",    /* Auth complete, client is 
notified */
+       [PCS_RPC_WORK]          = "WORK",       /* Established */
+       [PCS_RPC_HOLDDOWN]      = "HOLDDOWN",   /* Not connected. Connect must 
not be reinitiated. */
+       [PCS_RPC_ABORT]         = "ABORT",      /* Aborted. Not reconnected 
automatically. */
+       [PCS_RPC_DESTROY]       = "DESTROY"     /* Destruction in progress */
+};
+
+const char *pcs_rpc_state_name(unsigned state)
+{
+       const char *name;
+       if (state >=  ARRAY_SIZE(s_rpc_state_names))
+               return "Invalid";
+       name = s_rpc_state_names[state];
+       if (!name)
+               return "Invalid";
+       return name;
+}
diff --git a/fs/fuse/kio/pcs/pcs_rpc.h b/fs/fuse/kio/pcs/pcs_rpc.h
index 8d3c571fd1e2..119de48d4376 100644
--- a/fs/fuse/kio/pcs/pcs_rpc.h
+++ b/fs/fuse/kio/pcs/pcs_rpc.h
@@ -292,4 +292,6 @@ static inline struct pcs_rpc *pcs_rpc_from_work(struct 
work_struct *wr)
        return container_of(wr, struct pcs_rpc, work);
 }
 
+const char* pcs_rpc_state_name(unsigned state);
+
 #endif /* _PCS_RPC_H_ */

_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to