• Yan, Zheng's avatar
    ceph: reset i_requested_max_size if file write is not wanted · 6f05b30e
    Yan, Zheng authored
    write can stuck at waiting for larger max_size in following sequence of
    events:
    
    - client opens a file and writes to position 'A' (larger than unit of
      max size increment)
    - client closes the file handle and updates wanted caps (not wanting
      file write caps)
    - client opens and truncates the file, writes to position 'A' again.
    
    At the 1st event, client set inode's requested_max_size to 'A'. At the
    2nd event, mds removes client's writable range, but client does not reset
    requested_max_size. At the 3rd event, client does not request max size
    because requested_max_size is already larger than 'A'.
    Signed-off-by: default avatar"Yan, Zheng" <zyan@redhat.com>
    Reviewed-by: default avatarJeff Layton <jlayton@kernel.org>
    Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
    6f05b30e
caps.c 118 KB