[PATCH v1 0/3] modify xprt state using sysfs

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

 



From: Olga Kornievskaia <kolga@xxxxxxxxxx>

When a transport gets stuck, it is desired to be able to move the tasks
that have been stuck/queued on that transport to another. This patch
series attempts to do so. First patch, takes a transport and marks 
it offline so that no more tasks are queued on it. Second,
we identify which tasks are able to be re-tried on a different
transport (only 4.1+). Lastly, once the transport is deemed bad and
in need of a removal, it's marked to be removed. Any tasks that are
stuck there will now release the transport and try picking a different
one. This transport will be removed from the list of xprts. First 
transport with which the RPC client was created is considered the main
transport and can't be taken offline or removed.

Olga Kornievskaia (3):
  sunrpc: take a xprt offline using sysfs
  NFSv4.1 identify and mark RPC tasks that can move between transports
  sunrpc: remove an offlined xprt using sysfs

 fs/nfs/nfs4proc.c            | 38 ++++++++++++++++++++++----
 fs/nfs/pagelist.c            |  8 ++++--
 fs/nfs/write.c               |  6 ++++-
 include/linux/sunrpc/sched.h |  2 ++
 include/linux/sunrpc/xprt.h  |  3 +++
 net/sunrpc/clnt.c            | 21 +++++++++++++++
 net/sunrpc/sysfs.c           | 52 +++++++++++++++++++++++++++++++++---
 net/sunrpc/xprtmultipath.c   |  3 ++-
 8 files changed, 120 insertions(+), 13 deletions(-)

-- 
2.27.0




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux