[PATCH 0/8] ceph: remount aborted mount

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

 



This series add support for remounting aborted cephfs mount. This
feature can be used for recovering from blacklisted. For example:

umount -f /ceph; mount -o remount /ceph

When aborting cephfs mount, dirty caps, unsafe requests, dirty data
file locks are dropped. After remounting, errors of dropping dirty
data/metadata are reported/cleared by fsync(2) on corresponding
inodes.

For file descriptor opened before abort, read works as nornal. write is
not allowed if any dirty data was dropped and the error is not cleared
by fsync(2). 

If an inode contains any lost file lock, read and write are not allowed.
until all lost file locks are released.

Yan, Zheng (8):
  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: allow remounting aborted mount
  ceph: track and report error of async metadata operation
  ceph: pass filp to ceph_get_caps()
  ceph: check page writeback error during write
  ceph: return -EIO if read/write against filp that lost file locks

 fs/ceph/addr.c                  | 15 +++---
 fs/ceph/caps.c                  | 88 +++++++++++++++++++++++----------
 fs/ceph/file.c                  | 41 +++++++--------
 fs/ceph/inode.c                 |  2 +
 fs/ceph/locks.c                 |  8 ++-
 fs/ceph/mds_client.c            | 56 +++++++++++++++------
 fs/ceph/mds_client.h            |  6 +--
 fs/ceph/super.c                 | 23 ++++++++-
 fs/ceph/super.h                 | 11 +++--
 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 +++++++++
 17 files changed, 221 insertions(+), 78 deletions(-)

-- 
2.17.2




[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