[PATCH 0/9 v2] ceph: auto reconnect after blacklisted

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

 



This series add support for auto reconnect after blacklisted.

Auto reconnect is controlled by recover_session=<clean|no> mount option.
So far only clean mode is supported and it is the default mode. In this
mode, client drops any dirty data/metadata, invalidates page caches and
invalidates all writable file handles. After reconnect, file locks become
stale because MDS lose track of them. If an inode contains any stale file
lock, read/write on the indoe are not allowed until all stale file locks
are released by applications.

v2: remove force_remount mount option
    no enabled auto reconnect by default
    remove unfinished recover_session=brute code

Yan, Zheng (9):
  libceph: add function that reset client's entity addr
  libceph: add function that clears osd client's abort_err
  ceph: allow closing session in restarting/reconnect state
  ceph: track and report error of async metadata operation
  ceph: pass filp to ceph_get_caps()
  ceph: add helper function that forcibly reconnects to ceph cluster.
  ceph: return -EIO if read/write against filp that lost file locks
  ceph: invalidate all write mode filp after reconnect
  ceph: auto reconnect after blacklisted

 Documentation/filesystems/ceph.txt | 10 ++++
 fs/ceph/addr.c                     | 37 ++++++++----
 fs/ceph/caps.c                     | 93 +++++++++++++++++++++---------
 fs/ceph/file.c                     | 50 +++++++++-------
 fs/ceph/inode.c                    |  2 +
 fs/ceph/locks.c                    |  8 ++-
 fs/ceph/mds_client.c               | 89 ++++++++++++++++++++++------
 fs/ceph/mds_client.h               |  6 +-
 fs/ceph/super.c                    | 45 ++++++++++++++-
 fs/ceph/super.h                    | 21 +++++--
 include/linux/ceph/libceph.h       |  1 +
 include/linux/ceph/messenger.h     |  1 +
 include/linux/ceph/mon_client.h    |  1 +
 include/linux/ceph/osd_client.h    |  2 +
 net/ceph/ceph_common.c             |  8 +++
 net/ceph/messenger.c               |  5 ++
 net/ceph/mon_client.c              |  7 +++
 net/ceph/osd_client.c              | 24 ++++++++
 18 files changed, 324 insertions(+), 86 deletions(-)

-- 
2.20.1




[Index of Archives]     [CEPH Users]     [Ceph Large]     [Ceph Dev]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux