xfs: fix number of records handling in xfs_iext_split_leaf

Fix to check the correct value, and remove a duplicate handling of the
uneven record number split algorith,

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>
This commit is contained in:
Christoph Hellwig 2017-11-09 09:11:41 -08:00 committed by Darrick J. Wong
parent 478f8da0f7
commit 43d193aa02

View File

@ -555,16 +555,13 @@ xfs_iext_split_leaf(
int i;
/* for sequential append operations just spill over into the new node */
if (cur->pos == KEYS_PER_NODE) {
if (cur->pos == RECS_PER_LEAF) {
cur->leaf = new;
cur->pos = 0;
*nr_entries = 0;
goto done;
}
if (nr_keep & 1)
nr_keep++;
for (i = 0; i < nr_move; i++) {
new->recs[i] = leaf->recs[nr_keep + i];
xfs_iext_rec_clear(&leaf->recs[nr_keep + i]);