[lvc-project] [PATCH 6.12] gfs2: Improve resource group validation and error handling
Fedor Pchelkin
pchelkin at ispras.ru
Fri Sep 4 16:56:49 MSK 2026
On Wed, 26. Aug 14:54, Makar Semyonov wrote:
> @@ -882,6 +876,19 @@ static int rgd_insert(struct gfs2_rgrpd *rgd)
> rb_link_node(&rgd->rd_node, parent, newn);
> rb_insert_color(&rgd->rd_node, &sdp->sd_rindex_tree);
> sdp->sd_rgrps++;
> +
> + prevn = rb_prev(&rgd->rd_node);
> + if (prevn) {
> + struct gfs2_rgrpd *prev =
> + rb_entry(prevn, struct gfs2_rgrpd, rd_node);
> +
> + if (prev->rd_data0 + prev->rd_data > rgd->rd_addr) {
> + fs_err(sdp, "overlapping resource groups.\n");
> + rb_erase(&rgd->rd_node, &sdp->sd_rindex_tree);
> + return -ENOENT;
Скорее всего после того, как удалили ноду из дерева и возвращаем ошибку,
надо уменьшить обратно счётчик sdp->sd_rgrps. Выглядит проблемой в
коммите мэйнтейнера, предлагаю подготовить на это отдельный патч.
И ещё вопрос: нужно ли здесь проверять rb_next() ноду дерева касаемо
перехлёста групп? или достаточно только с rb_prev(), как сейчас сделано?
> + }
> + }
> +
> return 0;
> }
>
More information about the lvc-project
mailing list