[Bug 2093880] Re: libcephfs: flush the caps release in filesystem sync

OhmyPosh 2093880 at bugs.launchpad.net
Mon Jan 13 14:09:41 UTC 2025


To effectively flush the caps release in the filesystem sync, you'll
need to ensure the following steps:

Understand the Context: In CephFS, "caps" refer to capabilities granted
to clients on specific files or directories. Flushing cap releases
ensures clients relinquish permissions properly, preventing data
inconsistency.

Sync Process: When flushing caps during a filesystem sync, you’re
ensuring all outstanding operations on a file are written and released.
This can involve sending a flush message to clients to signal
completion.

Flush Implementation: Modify the code in libcephfs where caps are
managed, ensuring that before releasing the capability, all related
operations are synchronized.

Testing: After implementing the changes, thoroughly test the filesystem
to ensure the caps are flushed correctly and no data is lost during
sync.

This process is crucial for maintaining file system consistency in
distributed environments.

-- 
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to ceph in Ubuntu.
https://bugs.launchpad.net/bugs/2093880

Title:
  libcephfs: flush the caps release in filesystem sync

Status in ceph package in Ubuntu:
  New

Bug description:
  Hi,

  The bug is as mentioned in the Ceph upstream: https://tracker.ceph.com/issues/67221
  and also Linux upstream: https://github.com/torvalds/linux/commit/ccda9910d8490f4fb067131598e4b2e986faa5a0

  Under some situations, the libcephfs forgets the acquired capabilities
  and thus gets evicted by the Ceph MDS.  I would like to see if a
  backport will be available for Ubuntu 22.04 LTS (Jammy) Ceph Quincy
  client (17.2.x).

  Logs on the client:
    Dec 19 04:32:45 *** kernel: libceph: mds0 (1)***:6801 socket closed (con state OPEN)
    Dec 19 04:32:46 *** kernel: libceph: mds0 (1)***:6801 session reset
    Dec 19 04:32:46 *** kernel: ceph: mds0 closed our session
    Dec 19 04:32:46 *** kernel: ceph: mds0 reconnect start
    Dec 19 04:32:46 *** kernel: ceph: mds0 reconnect denied
    Dec 19 04:32:46 *** kernel: libceph: mds0 (1)***:6801 socket closed (con state V1_CONNECT_MSG)
    Dec 19 04:32:47 *** kernel: ceph: mds0 rejected session

  Logs on the server: 
    Dec 19 04:30:17 *** ceph-mds[1408372]: log_channel(cluster) log [WRN] : client.911386 isn't responding to mclientcaps(revoke), ino 0x1004e6bede5 pending pAsLsXsFs issued pAsLsXsFs, sent 240.313055 seconds ago
    Dec 19 04:32:44 *** ceph-mds[1408372]: log_channel(cluster) log [INF] : Evicting (and blocklisting) client session 911386 (v1:***:0/362122962)

  The Ubuntu client version:
    Description:	Ubuntu 22.04.5 LTS
    Release:	22.04

  Package: 
    libcephfs2/jammy-updates,jammy-security,now 17.2.7-0ubuntu0.22.04.2 amd64 [installed,automatic]

  What expected to happen:
  * There shall be no 'client isn't responding to ... pending pAsLsXsFs ...' messages, and no eviction.

  What happened instead:
  * The error appeared and the client is evicted.  

  Thanks,
  Kinson

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ceph/+bug/2093880/+subscriptions




More information about the Ubuntu-openstack-bugs mailing list