aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2017-11-16 22:11:35 -0600
committerEric Sandeen <sandeen@redhat.com>2017-11-16 22:11:35 -0600
commitba0bf2c60a5f303577e7d1e99a7d056bc5eaea91 (patch)
treeb4c6fe422b8fe3adff8e64da850bb5866e8dede5
parentfd4c3ba5ec7e7f10db7b87fd5292483886dad213 (diff)
downloadxfsprogs-dev-ba0bf2c60a5f303577e7d1e99a7d056bc5eaea91.tar.gz
xfs: add some comments to xfs_iext_insert/xfs_iext_insert_node
Source kernel commit: fc258f4b8bb578c39223ff572b4dec8d56a2ed81 Reported-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Brian Foster <bfoster@redhat.com> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
-rw-r--r--libxfs/xfs_iext_tree.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libxfs/xfs_iext_tree.c b/libxfs/xfs_iext_tree.c
index 7f99d76ceb..5df0bb327d 100644
--- a/libxfs/xfs_iext_tree.c
+++ b/libxfs/xfs_iext_tree.c
@@ -525,6 +525,10 @@ again:
if (nr_entries == KEYS_PER_NODE)
new = xfs_iext_split_node(&node, &pos, &nr_entries);
+ /*
+ * Update the pointers in higher levels if the first entry changes
+ * in an existing node.
+ */
if (node != new && pos == 0 && nr_entries > 0)
xfs_iext_update_node(ifp, node->keys[0], offset, level, node);
@@ -643,6 +647,10 @@ xfs_iext_insert(
if (nr_entries == RECS_PER_LEAF)
new = xfs_iext_split_leaf(cur, &nr_entries);
+ /*
+ * Update the pointers in higher levels if the first entry changes
+ * in an existing node.
+ */
if (cur->leaf != new && cur->pos == 0 && nr_entries > 0) {
xfs_iext_update_node(ifp, xfs_iext_leaf_key(cur->leaf, 0),
offset, 1, cur->leaf);