Mount Client/Superblock Sharing Broken Bugfix
Hey folks, I opened a bug report on the ceph issue tracker a couple months ago detailing how the mount sharing for the cephfs kernel client was broken and how it was impacting me as a talos user with lots of pods sharing the same, readonly cephfs mounts. The bug report is here: https://tracker.ceph.com/issues/78440 I noticed some work being done in approximately the same area by Xiubo Li from Clyso, and was hoping someone could piggyback my fix into what he's doing: https://github.com/ceph/ceph-client/commit/b9d944f1c8c2044d08609fdc238d27df2... My patch looks like this and is compatible with his new SB_ACTIVE flag: fs/ceph/super.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/ceph/super.c b/fs/ceph/super.c index 72935f665f11..13a8f246f1a0 100644 --- a/fs/ceph/super.c +++ b/fs/ceph/super.c @@ -1265,7 +1265,8 @@ static int ceph_compare_super(struct super_block *sb, struct fs_context *fc) doutc(cl, "fsid doesn't match\n"); return 0; } - if (fc->sb_flags != (sb->s_flags & ~SB_BORN)) { + if (fc->sb_flags != (sb->s_flags & + ~(SB_BORN | SB_NODIRATIME | SB_NOATIME | SB_ACTIVE))) { doutc(cl, "flags differ\n"); return 0; } base-commit: dc173b37415e8f738fc4de477490056b479ddc9f I've been running this patch on my talos cluster and it does correctly resolve pods not sharing the same mount and inode cache. Thanks!
participants (1)
-
Benjamin Huth