Skip to content
  • Yan, Zheng's avatar
    ceph: use fl->fl_file as owner identifier of flock and posix lock · eb13e832
    Yan, Zheng authored
    
    
    flock and posix lock should use fl->fl_file instead of process ID
    as owner identifier. (posix lock uses fl->fl_owner. fl->fl_owner
    is usually equal to fl->fl_file, but it also can be a customized
    value). The process ID of who holds the lock is just for F_GETLK
    fcntl(2).
    
    The fix is rename the 'pid' fields of struct ceph_mds_request_args
    and struct ceph_filelock to 'owner', rename 'pid_namespace' fields
    to 'pid'. Assign fl->fl_file to the 'owner' field of lock messages.
    We also set the most significant bit of the 'owner' field. MDS can
    use that bit to distinguish between old and new clients.
    
    The MDS counterpart of this patch modifies the flock code to not
    take the 'pid_namespace' into consideration when checking conflict
    locks.
    
    Signed-off-by: default avatarYan, Zheng <zheng.z.yan@intel.com>
    Reviewed-by: default avatarSage Weil <sage@inktank.com>
    eb13e832