]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
Merge tag 'ceph-for-5.7-rc1' of git://github.com/ceph/ceph-client
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 9 Apr 2020 04:44:05 +0000 (21:44 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 9 Apr 2020 04:44:05 +0000 (21:44 -0700)
Pull ceph updates from Ilya Dryomov:
 "The main items are:

   - support for asynchronous create and unlink (Jeff Layton).

     Creates and unlinks are satisfied locally, without waiting for a
     reply from the MDS, provided the client has been granted
     appropriate caps (new in v15.y.z ("Octopus") release). This can be
     a big help for metadata heavy workloads such as tar and rsync.
     Opt-in with the new nowsync mount option.

   - multiple blk-mq queues for rbd (Hannes Reinecke and myself).

     When the driver was converted to blk-mq, we settled on a single
     blk-mq queue because of a global lock in libceph and some other
     technical debt. These have since been addressed, so allocate a
     queue per CPU to enhance parallelism.

   - don't hold onto caps that aren't actually needed (Zheng Yan).

     This has been our long-standing behavior, but it causes issues with
     some active/standby applications (synchronous I/O, stalls if the
     standby goes down, etc).

   - .snap directory timestamps consistent with ceph-fuse (Luis
     Henriques)"

* tag 'ceph-for-5.7-rc1' of git://github.com/ceph/ceph-client: (49 commits)
  ceph: fix snapshot directory timestamps
  ceph: wait for async creating inode before requesting new max size
  ceph: don't skip updating wanted caps when cap is stale
  ceph: request new max size only when there is auth cap
  ceph: cleanup return error of try_get_cap_refs()
  ceph: return ceph_mdsc_do_request() errors from __get_parent()
  ceph: check all mds' caps after page writeback
  ceph: update i_requested_max_size only when sending cap msg to auth mds
  ceph: simplify calling of ceph_get_fmode()
  ceph: remove delay check logic from ceph_check_caps()
  ceph: consider inode's last read/write when calculating wanted caps
  ceph: always renew caps if mds_wanted is insufficient
  ceph: update dentry lease for async create
  ceph: attempt to do async create when possible
  ceph: cache layout in parent dir on first sync create
  ceph: add new MDS req field to hold delegated inode number
  ceph: decode interval_sets for delegated inos
  ceph: make ceph_fill_inode non-static
  ceph: perform asynchronous unlink if we have sufficient caps
  ceph: don't take refs to want mask unless we have all bits
  ...

1  2 
Documentation/filesystems/ceph.rst

index b46a7218248fa32508864e83aadbf0dd80bb4f87,92ffc9b3b01869f350134477c92588c10e53f083..0aa70750df0fe02142cf25a1319ada39093baeb8
@@@ -1,6 -1,3 +1,6 @@@
 +.. SPDX-License-Identifier: GPL-2.0
 +
 +============================
  Ceph Distributed File System
  ============================
  
@@@ -18,7 -15,6 +18,7 @@@ Basic features include
   * Easy deployment: most FS components are userspace daemons
  
  Also,
 +
   * Flexible snapshots (on any directory)
   * Recursive accounting (nested files, directories, bytes)
  
@@@ -67,7 -63,7 +67,7 @@@ no 'du' or similar recursive scan of th
  Finally, Ceph also allows quotas to be set on any directory in the system.
  The quota can restrict the number of bytes or the number of files stored
  beneath that point in the directory hierarchy.  Quotas can be set using
 -extended attributes 'ceph.quota.max_files' and 'ceph.quota.max_bytes', eg:
 +extended attributes 'ceph.quota.max_files' and 'ceph.quota.max_bytes', eg::
  
   setfattr -n ceph.quota.max_bytes -v 100000000 /some/dir
   getfattr -n ceph.quota.max_bytes /some/dir
@@@ -80,7 -76,7 +80,7 @@@ from writing as much data as it needs
  Mount Syntax
  ============
  
 -The basic mount syntax is:
 +The basic mount syntax is::
  
   # mount -t ceph monip[:port][,monip2[:port]...]:/[subdir] mnt
  
@@@ -88,7 -84,7 +88,7 @@@ You only need to specify a single monit
  full list when it connects.  (However, if the monitor you specify
  happens to be down, the mount won't succeed.)  The port can be left
  off if the monitor is using the default.  So if the monitor is at
 -1.2.3.4,
 +1.2.3.4::
  
   # mount -t ceph 1.2.3.4:/ /mnt/ceph
  
@@@ -107,17 -103,17 +107,17 @@@ Mount Option
        address its connection to the monitor originates from.
  
    wsize=X
-       Specify the maximum write size in bytes.  Default: 16 MB.
+       Specify the maximum write size in bytes.  Default: 64 MB.
  
    rsize=X
-       Specify the maximum read size in bytes.  Default: 16 MB.
+       Specify the maximum read size in bytes.  Default: 64 MB.
  
    rasize=X
        Specify the maximum readahead size in bytes.  Default: 8 MB.
  
    mount_timeout=X
        Specify the timeout value for mount (in seconds), in the case
-       of a non-responsive Ceph file system.  The default is 30
+       of a non-responsive Ceph file system.  The default is 60
        seconds.
  
    caps_max=X
        available modes are "no" and "clean". The default is "no".
  
        * no: never attempt to reconnect when client detects that it has been
 -      blacklisted. Operations will generally fail after being blacklisted.
 +        blacklisted. Operations will generally fail after being blacklisted.
  
        * clean: client reconnects to the ceph cluster automatically when it
 -      detects that it has been blacklisted. During reconnect, client drops
 -      dirty data/metadata, invalidates page caches and writable file handles.
 -      After reconnect, file locks become stale because the MDS loses track
 -      of them. If an inode contains any stale file locks, read/write on the
 -      inode is not allowed until applications release all stale file locks.
 +        detects that it has been blacklisted. During reconnect, client drops
 +        dirty data/metadata, invalidates page caches and writable file handles.
 +        After reconnect, file locks become stale because the MDS loses track
 +        of them. If an inode contains any stale file locks, read/write on the
 +        inode is not allowed until applications release all stale file locks.
  
  More Information
  ================
@@@ -183,8 -179,8 +183,8 @@@ For more information on Ceph, see the h
        https://ceph.com/
  
  The Linux kernel client source tree is available at
 -      https://github.com/ceph/ceph-client.git
 -      git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git
 +      https://github.com/ceph/ceph-client.git
 +      git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git
  
  and the source for the full system is at
        https://github.com/ceph/ceph.git