debian-forge/osbuild
Christian Kellner 4b790ac284 objectstore: use a context also for Object.write
Reading from an `Object` via `read` already uses a context manager
to manage the read-only bind mount and also maintain a count of
currently active readers. With this an attempt to start a new
`write` operation while readers were active can be detected and
an exception is throw. Since `write` was not introducing a context
the inverted situation, i.e. reads while a write is ongoing, was
not possible to detect.
This commit therefore introduces a context also for `.write` so
that we can enforce the policy to have either many readers but no
writers, or just one writer and no readers.
A bind mount is also used for write (in read-write mode) to hide
the internal path of the tree.
2020-02-29 01:14:24 +01:00
..
__init__.py pipeline: return logs in --json mode 2019-12-14 13:49:24 +01:00
__main__.py osbuild: allow the sources to be passed in on stdin 2020-02-19 15:59:11 +01:00
api.py api: add barriers 2020-02-06 19:01:12 +01:00
buildroot.py buildroot: allow customizing the backing store for /var 2020-01-27 15:51:47 +01:00
loop.py loop: explicitly close fds to loop devices 2020-01-19 22:19:25 +01:00
objectstore.py objectstore: use a context also for Object.write 2020-02-29 01:14:24 +01:00
pipeline.py objectstore: use a context also for Object.write 2020-02-29 01:14:24 +01:00
remoteloop.py remoteloop: drop O_DIRECT 2020-02-06 19:01:12 +01:00
sources.py sources: add org.osbuild.files source 2020-02-06 19:01:12 +01:00
tmpfs.py osbuild: split package into separate files 2019-08-21 09:56:50 +04:00
treesum.py treesum: don't use dir_fd parameter in os.scandir() 2019-11-29 00:45:14 +01:00