mirror of https://gitee.com/openkylin/linux.git
ceph: Update max_len with minimum required size
encode_fh on error should update max_len with minimum required size, so that caller can redo the call with the reallocated buffer. This is required with open by handle patch series Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Sage Weil <sage@newdream.net>
This commit is contained in:
parent
92923dcbfc
commit
bba0cd0e3d
|
@ -62,13 +62,16 @@ static int ceph_encode_fh(struct dentry *dentry, u32 *rawfh, int *max_len,
|
|||
*max_len = connected_handle_length;
|
||||
type = 2;
|
||||
} else if (*max_len >= handle_length) {
|
||||
if (connectable)
|
||||
if (connectable) {
|
||||
*max_len = connected_handle_length;
|
||||
return 255;
|
||||
}
|
||||
dout("encode_fh %p\n", dentry);
|
||||
fh->ino = ceph_ino(dentry->d_inode);
|
||||
*max_len = handle_length;
|
||||
type = 1;
|
||||
} else {
|
||||
*max_len = handle_length;
|
||||
return 255;
|
||||
}
|
||||
return type;
|
||||
|
|
Loading…
Reference in New Issue