[Devel] [PATCH v2 00/14] Statistics for vstorage kernel fast-path

Pavel Butsykin pbutsykin at virtuozzo.com
Fri May 24 18:54:49 MSK 2019


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.

Pavel Butsykin (14):
  fs/fuse: add conn_ctl to fuse_conn struct
  fs/fuse kio: create sysfs stat directory
  fs/fuse kio: implement iostat statistics info
  fs/fuse kio: make interface pcs_kio_file_list() for listing kio files
  fs/fuse kio: make 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 info
  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/Makefile                        |   3 +-
 fs/fuse/control.c                       |   5 +-
 fs/fuse/fuse_i.h                        |   1 +
 fs/fuse/inode.c                         |   1 +
 fs/fuse/kio/pcs/fuse_stat.c             | 878 ++++++++++++++++++++++++++++++++
 fs/fuse/kio/pcs/fuse_stat.h             |  91 ++++
 fs/fuse/kio/pcs/pcs_client_types.h      |   3 +
 fs/fuse/kio/pcs/pcs_cluster.c           |   1 +
 fs/fuse/kio/pcs/pcs_cluster.h           |  12 +-
 fs/fuse/kio/pcs/pcs_cluster_core.c      |   3 +
 fs/fuse/kio/pcs/pcs_cs.c                |  96 +++-
 fs/fuse/kio/pcs/pcs_cs.h                |  49 +-
 fs/fuse/kio/pcs/pcs_error.h             |  83 ++-
 fs/fuse/kio/pcs/pcs_fuse_kdirect.c      |  59 ++-
 fs/fuse/kio/pcs/pcs_map.c               |   2 +
 fs/fuse/kio/pcs/pcs_perfcounters.h      |  17 +-
 fs/fuse/kio/pcs/pcs_perfcounters_stub.h |  30 --
 fs/fuse/kio/pcs/pcs_req.c               |   1 +
 fs/fuse/kio/pcs/pcs_req.h               |  10 +
 fs/fuse/kio/pcs/pcs_rpc.c               |  23 +
 fs/fuse/kio/pcs/pcs_rpc.h               |   2 +
 21 files changed, 1290 insertions(+), 80 deletions(-)
 create mode 100644 fs/fuse/kio/pcs/fuse_stat.c
 create mode 100644 fs/fuse/kio/pcs/fuse_stat.h
 delete mode 100644 fs/fuse/kio/pcs/pcs_perfcounters_stub.h

-- 
2.15.1



More information about the Devel mailing list