@@ -795,15 +795,22 @@ int FsManager::IsExactlySameOrCreateUnComplete(const std::string& fsName,
795
795
return google::protobuf::util::MessageDifferencer::Equals (lhs, rhs);
796
796
};
797
797
798
- auto checkFsInfo = [fsType, volumeInfoComparator](const FsDetail& lhs,
798
+ auto s3InfoComparator = [](common::S3Info lhs, common::S3Info rhs) {
799
+ // for compatible with old clients
800
+ lhs.clear_objectprefix ();
801
+ rhs.clear_objectprefix ();
802
+ return google::protobuf::util::MessageDifferencer::Equals (lhs, rhs);
803
+ };
804
+
805
+ auto checkFsInfo = [fsType, volumeInfoComparator, s3InfoComparator](const FsDetail& lhs,
799
806
const FsDetail& rhs) {
800
807
switch (fsType) {
801
808
case curvefs::common::FSType::TYPE_S3:
802
- return MessageDifferencer::Equals (lhs.s3info (), rhs.s3info ());
809
+ return s3InfoComparator (lhs.s3info (), rhs.s3info ());
803
810
case curvefs::common::FSType::TYPE_VOLUME:
804
811
return volumeInfoComparator (lhs.volume (), rhs.volume ());
805
812
case curvefs::common::FSType::TYPE_HYBRID:
806
- return MessageDifferencer::Equals (lhs.s3info (), rhs.s3info ()) &&
813
+ return s3InfoComparator (lhs.s3info (), rhs.s3info ()) &&
807
814
volumeInfoComparator (lhs.volume (), rhs.volume ());
808
815
}
809
816
0 commit comments