[PATCH v2 18/18] fs/ceph/super: remove redundant field `ceph_snap_realm.parent_ino`

Max Kellermann <[email protected]>
Newsgroups org.kernel.vger.ceph-devel,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
This reduces the size of the struct by another 8 bytes.

Signed-off-by: Max Kellermann <[email protected]>
---
 fs/ceph/mds_client.c | 4 ++--
 fs/ceph/snap.c       | 5 ++---
 fs/ceph/super.h      | 1 -
 3 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c
index b4a1c126cbc9..f0b9d653ffd1 100644
--- a/fs/ceph/mds_client.c
+++ b/fs/ceph/mds_client.c
@@ -5044,10 +5044,10 @@ static int encode_snap_realms(struct ceph_mds_client *mdsc,
 		}
 
 		doutc(cl, " adding snap realm %llx seq %lld parent %llx\n",
-		      realm->ino, realm->seq, realm->parent_ino);
+		      realm->ino, realm->seq, realm->parent ? realm->parent->ino : 0);
 		sr_rec.ino = cpu_to_le64(realm->ino);
 		sr_rec.seq = cpu_to_le64(realm->seq);
-		sr_rec.parent = cpu_to_le64(realm->parent_ino);
+		sr_rec.parent = cpu_to_le64(realm->parent ? realm->parent->ino : 0);
 
 		err = ceph_pagelist_append(pagelist, &sr_rec, sizeof(sr_rec));
 		if (err)
diff --git a/fs/ceph/snap.c b/fs/ceph/snap.c
index 12f80df4b651..a5f8f3f95f3b 100644
--- a/fs/ceph/snap.c
+++ b/fs/ceph/snap.c
@@ -297,7 +297,7 @@ static int adjust_snap_realm_parent(struct ceph_mds_client *mdsc,
 
 	lockdep_assert_held_write(&mdsc->snap_rwsem);
 
-	if (realm->parent_ino == parentino)
+	if (realm->parent && realm->parent->ino == parentino)
 		return 0;
 
 	parent = ceph_lookup_snap_realm(mdsc, parentino);
@@ -307,12 +307,11 @@ static int adjust_snap_realm_parent(struct ceph_mds_client *mdsc,
 			return PTR_ERR(parent);
 	}
 	doutc(cl, "%llx %p: %llx %p -> %llx %p\n", realm->ino, realm,
-	      realm->parent_ino, realm->parent, parentino, parent);
+	      realm->parent ? realm->parent->ino : 0, realm->parent, parentino, parent);
 	if (realm->parent) {
 		list_del_init(&realm->child_item);
 		ceph_put_snap_realm(mdsc, realm->parent);
 	}
-	realm->parent_ino = parentino;
 	realm->parent = parent;
 	list_add(&realm->child_item, &parent->children);
 	return 1;
diff --git a/fs/ceph/super.h b/fs/ceph/super.h
index ca4db56ef2d0..86a5929ee5d2 100644
--- a/fs/ceph/super.h
+++ b/fs/ceph/super.h
@@ -1023,7 +1023,6 @@ struct ceph_snap_realm {
 	struct rb_node node;
 
 	u64 created, seq;
-	u64 parent_ino;
 	u64 parent_since;   /* snapid when our current parent became so */
 
 	u64 *prior_parent_snaps;      /* snaps inherited from any parents we had prior to parent_since */
-- 
2.47.3
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.