IRC Logs for #lost


2023-06-05

01:11:20 SarahIsWeird joined the channel
07:00:35 kevin joined the channel
07:26:33 XanClic joined the channel
10:50:53 XanClic joined the channel
11:40:19 kevin: XanClic: Hm, für wie gut hältst du die Idee, in .bdrv_check/set_perm zu pollen? Sollte das erlaubt sein oder klingt das für dich kaputt?
11:41:06 XanClic: naiv klingts in check_perm ok, in set_perm irgendwie nicht so ganz
11:42:58 kevin: Mir fliegt gerade der preallocate-Treiber um die Ohren, weil der dort bdrv_getlength/truncate() aufruft
11:43:45 kevin: Das Hauptproblem ist erstmal, dass die intern bdrv_graph_rdlock() machen, aber schon gelockt ist. Das kann ich noch umgehen. Aber Pollen während man gelockt hat, ist _eigentlich_ verboten.
11:44:32 kevin: Und Permissions updaten passiert ja tendenziell in der Mitte von irgendwelchen Operationen, die den Graph ändern
11:45:07 XanClic: find das jetzt grundsätzlich fair, dass der Treiber in check_perm truncatet
11:46:50 XanClic: Wollen nicht auch andere Treiber vielleicht nochmal I/O machen, wenn die Elternknoten keine write-Permission mehr wollen? Oder ist das dann nur in reopen?
11:47:31 kevin: Ich kann den Wunsch des Treibers nachvollziehen, aber es ist halt doof, mitten im Graph umbauen ;-)
11:47:49 kevin: Also nicht, dass ich für das umgekehrte Problem eine Lösung wüsste, weil dann müsste ich ja preallocate irgendwie ändern
11:48:07 XanClic: Keine Ahnung, ich hätte gedacht, es ist vollkommen valide, erst noch I/O zu machen
11:48:16 XanClic: weil check_perm vor Graph umbauen passiert
11:48:26 XanClic: hätte ich jetzt naiverweise angenommen, was natürlich völlig falsch sein kann
11:49:26 kevin: Ich glaube, check_perm passiert normalerweise nachdem man ein BdrvChild geändert hat
11:49:40 XanClic: Weiß ja nicht, was die richtige Lösung ist, wenn ein Treiber I/O deshalb machen möchte, weil der Graph umgebaut werden soll
11:50:05 XanClic: Außer „dann braucht er eine spezifische Option, die er dann in reopen handlet, und Nutzer müssen die dann passend zum Graph setzen“
11:52:44 kevin: Reopen ist in gewisser Weise harmloser, weil die Callbacks weiter außen passieren
11:53:16 kevin: Aber reopen bringt natürlich nichts, wenn man auf geänderte Parents reagieren möchte