On 4.02.25 8:30, Pavel Tikhomirov wrote:


On 2/3/25 14:50, Alexander Atanasov wrote:
On 31.01.25 10:32, Pavel Tikhomirov wrote:


On 1/24/25 23:35, Alexander Atanasov wrote:
@@ -353,23 +352,20 @@ static void ploop_dispatch_pio(struct ploop *ploop, struct pio *pio,
      else
          *is_data = true;
-    list_add_tail(&pio->list, list);
+    llist_add((struct llist_node *)(&pio->list), list);
  }

I still believe that proper enum should be added to pio structure, so that we have separate pio->llist for llist operations and pio->list for list operations.


i'd rather check if any list usages are left and change the type which was the initial goal.

We definitely need to remove list field if it became unused. But we should not have bad code (which tries to trick the compiler to believe it uses proper type when it does not) while it is yet used.


I mean pio->list is used but it is used only as llist , so type can be changed and casts removed. no need to use union.



The union /i beleive enum is a lapsus/ didn't worked due to static type checking in list macros.

Sorry, I definitely meant s/enum/union/.

You probably just did something wrong. To prove my point I wrote a simple module which does what I'm talking about and works just fine:

https://github.com/Snorch/list-union-module

May be, i did.


You should remove all improper "llist_add((struct llist_node *)" - like uses and replace them with proper union uses.

No, the goal is to only use llist , no need to use union. If there is a places left that use list as list.h and not llist.h /a quick grep shows there are none left/ they should be converted and type changed.

--
Regards,
Alexander Atanasov

_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to