Invoke the transaction drivers' .clean() methods only after all .commit() or .abort() handlers are done. This makes it easier to have nested transactions where the top-level transactions pass objects to lower transactions that the latter can still use throughout their commit/abort phases, while the top-level transaction keeps a reference that is released in its .clean() method. (Before this commit, that is also possible, but the top-level transaction would need to take care to invoke tran_add() before the lower-level transaction does. This commit makes the ordering irrelevant, which is just a bit nicer.) Signed-off-by: Hanna Reitz <hreitz@redhat.com> Message-Id: <20211111120829.81329-8-hreitz@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com> Message-Id: <20211115145409.176785-8-kwolf@redhat.com> Signed-off-by: Hanna Reitz <hreitz@redhat.com> |
||
|---|---|---|
| .. | ||
| aio-posix.c | ||
| aio-posix.h | ||
| aio-wait.c | ||
| aio-win32.c | ||
| aiocb.c | ||
| async.c | ||
| atomic64.c | ||
| base64.c | ||
| bitmap.c | ||
| bitops.c | ||
| block-helpers.c | ||
| block-helpers.h | ||
| buffer.c | ||
| bufferiszero.c | ||
| cacheflush.c | ||
| cacheinfo.c | ||
| compatfd.c | ||
| coroutine-sigaltstack.c | ||
| coroutine-ucontext.c | ||
| coroutine-win32.c | ||
| crc-ccitt.c | ||
| crc32c.c | ||
| cutils.c | ||
| dbus.c | ||
| drm.c | ||
| envlist.c | ||
| error.c | ||
| event_notifier-posix.c | ||
| event_notifier-win32.c | ||
| fdmon-epoll.c | ||
| fdmon-io_uring.c | ||
| fdmon-poll.c | ||
| fifo8.c | ||
| filemonitor-inotify.c | ||
| filemonitor-stub.c | ||
| getauxval.c | ||
| guest-random.c | ||
| hbitmap.c | ||
| hexdump.c | ||
| host-utils.c | ||
| id.c | ||
| iov.c | ||
| iova-tree.c | ||
| keyval.c | ||
| lockcnt.c | ||
| log.c | ||
| main-loop.c | ||
| memfd.c | ||
| meson.build | ||
| mmap-alloc.c | ||
| module.c | ||
| notify.c | ||
| nvdimm-utils.c | ||
| osdep.c | ||
| oslib-posix.c | ||
| oslib-win32.c | ||
| pagesize.c | ||
| path.c | ||
| qdist.c | ||
| qemu-co-shared-resource.c | ||
| qemu-config.c | ||
| qemu-coroutine-io.c | ||
| qemu-coroutine-lock.c | ||
| qemu-coroutine-sleep.c | ||
| qemu-coroutine.c | ||
| qemu-error.c | ||
| qemu-openpty.c | ||
| qemu-option.c | ||
| qemu-print.c | ||
| qemu-progress.c | ||
| qemu-sockets.c | ||
| qemu-thread-common.h | ||
| qemu-thread-posix.c | ||
| qemu-thread-win32.c | ||
| qemu-timer-common.c | ||
| qemu-timer.c | ||
| qht.c | ||
| qsp.c | ||
| range.c | ||
| rcu.c | ||
| readline.c | ||
| selfmap.c | ||
| stats64.c | ||
| sys_membarrier.c | ||
| systemd.c | ||
| thread-pool.c | ||
| throttle.c | ||
| timed-average.c | ||
| trace-events | ||
| trace.h | ||
| transactions.c | ||
| unicode.c | ||
| uri.c | ||
| userfaultfd.c | ||
| uuid.c | ||
| vfio-helpers.c | ||
| vhost-user-server.c | ||
| yank.c | ||