Skip to content
  • Linus Torvalds's avatar
    Merge tag 'ceph-for-5.7-rc1' of git://github.com/ceph/ceph-client · fcc95f06
    Linus Torvalds authored
    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
      ...
    fcc95f06