From: Venky Shankar Date: Wed, 17 Feb 2021 12:51:52 +0000 (-0500) Subject: mds: introduce ceph.mirror.dirty_snap_id vxattr X-Git-Tag: v17.1.0~1820^2~5 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=544abaf720002bcfb02c1d3b325697542d0a501e;p=ceph.git mds: introduce ceph.mirror.dirty_snap_id vxattr Purpose of this xattr is to identify if the "next" snapshot to be synchronized can be incrementally transferred. Value of the xattr is the snap-id of a snapshot in the primary cluster (for a given directory root). CephFS mirror daemon sets this xattr on the directory root once the data for a snapshot is synchronized, thereby signifying that the data under this directory root is the data of the snapshot identified by the snap-id value. This allows the mirror daemon to use the much efficient selective synchronzation (based on mtime/ctime) by scanning the two snapshots locally and only transferring the inodes that have changed. Signed-off-by: Venky Shankar --- diff --git a/src/mds/Server.h b/src/mds/Server.h index 39b84277a1cc..7297fd56b623 100644 --- a/src/mds/Server.h +++ b/src/mds/Server.h @@ -426,7 +426,8 @@ private: return true; } - return xattr_name == "ceph.mirror.info"; + return xattr_name == "ceph.mirror.info" || + xattr_name == "ceph.mirror.dirty_snap_id"; } void reply_client_request(MDRequestRef& mdr, const ref_t &reply);