Re: mds client reconnect

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Oct 13, 2017 at 10:38 PM, Xiaoxi Chen <superdebuger@xxxxxxxxx> wrote:
> Hi Zheng,
>     Thanks for the input. So we dont client to reconnect due to dirty
> metadata?  Does client drop dirty data(page cached data) when
> reconnect get denied and try tro re-open session?

it only drop dirty metadata, dropping dirty metadata does not affect reconnect

>
>      And would you mind pointing the commit/kernel version considered
> recent enough with re-open session?  We are on CentOS 7.3
> (3.10.0-514.21.2.el7.x86_64) but seems not the behavior.
>

check if your kernel includes backports up to commit 8242c9f3 (ceph:
fix wrong check in ceph_renew_caps())

>
> Xiaoxi
>
> 2017-10-13 21:59 GMT+08:00 Yan, Zheng <ukernel@xxxxxxxxx>:
>> On Fri, Oct 13, 2017 at 2:10 PM, Xiaoxi Chen <superdebuger@xxxxxxxxx> wrote:
>>>
>>> resend with plain txt
>>>
>>> 2017-10-13 10:56 GMT+08:00 Xiaoxi Chen <superdebuger@xxxxxxxxx>:
>>> > Hi,
>>> >
>>> >     We sometimes seen client (fs kernel) get evicted by MDS and try to
>>> > reconnect,  even we set  mds_session_blacklist_on_evict = True, client still
>>> > cannot reconnect due to below code:
>>> >
>>> >  if (!mds->is_reconnect() && mds->get_want_state() ==
>>> > CEPH_MDS_STATE_RECONNECT) {
>>> >     dout(10) << " we're almost in reconnect state (mdsmap delivery race?);
>>> > waiting" << dendl;
>>> >     mds->wait_for_reconnect(new C_MDS_RetryMessage(mds, m));
>>> >     return;
>>> >   }
>>> >
>>> >      Could someone share any insight on why MDS only accept reconnect in
>>> > reconnect state? and how, if the client is get evicted , can automatically
>>> > recovered? note that remount is usually impossible as umount will always
>>> > hang(due to cannot talk to mds).
>>> >
>>
>> If reconnect get denied, unflushed dirty metadata on client get lost.
>>
>> If mds_session_blacklist_on_evict is set to FALSE, recent version kernel client
>> should re-open session automatically after reconnect get denied. For
>> fuse client,
>> client_reconnect_stale need to be set to true.
>>
>> FYI: 'umount -f' works for evicted client.
>>
>>
>>
>>>
>>> >
>>> >
>>> > Xiaoxi
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux