1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
lvm2/daemons/lvmdbusd
Tony Asleson b0e75bd356 lvmdbusd: Add lock to prevent concurrent lvm shell access
There is a window of time where the following can occur.

1. An API request is in process to the lvm shell, we have written some
   command to the lvm shell and we are blocked on that thread waiting
2. A signal arrives to the daemon which causes us to exit.  The signal
   handling code path goes directly to the lvm shell and writes
   "exit\n".  This causes the lvm shell to simply exit.
3. The thread that was waiting for a response gets an EIO as the child
   process has exited.  This bubbles up a failure.

This is addressed by placing a lock in the lvm shell to prevent
concurrent access to the shell.  We also gather additional debug data
when we get an error in the lvm shell read path.  This should help if
the lvm shell exits/crashes on its own.
2023-02-27 09:07:43 -06:00
..
__init__.py lbmdbusd: Support in-tree testing. 2016-02-18 13:26:08 +00:00
.gitignore lvmdbusd: All tools use detected python3 2017-12-12 13:17:07 +01:00
automatedproperties.py lvmdbusd: Fix grammar 2023-02-20 12:01:53 -06:00
background.py lvmdbusd: Fix grammar 2023-02-20 12:01:53 -06:00
cfg.py lvmdbusd: Fix grammar 2023-02-20 12:01:53 -06:00
cmdhandler.py lvmdbusd: Disable collecting lvm debug data by default 2023-02-20 12:01:53 -06:00
fetch.py lvmdbusd: Correct undefined var 2022-09-16 10:49:37 -05:00
job.py lvmdbusd: Fix grammar 2023-02-20 12:01:53 -06:00
loader.py lvmdbusd: Fix grammar 2023-02-20 12:01:53 -06:00
lv.py lvmdbusd: Fix grammar 2023-02-20 12:01:53 -06:00
lvm_shell_proxy.py.in lvmdbusd: Add lock to prevent concurrent lvm shell access 2023-02-27 09:07:43 -06:00
lvmdb.py.in lvmdbusd: Correct get_object_path_by_uuid_lvm_id 2022-09-20 16:36:53 -05:00
lvmdbusd.in lvmdbusd: All tools use detected python3 2017-12-12 13:17:07 +01:00
main.py lvmdbusd: Disable collecting lvm debug data by default 2023-02-20 12:01:53 -06:00
Makefile.in makefiles: fix location of basedir 2021-03-08 15:22:27 +01:00
manager.py lvmdbusd: Always leverage udev 2022-10-20 15:10:35 -05:00
objectmanager.py lvmdbusd: Fix grammar 2023-02-20 12:01:53 -06:00
path.py.in lvmdbus: Add new daemon. 2016-02-17 23:53:35 +00:00
pv.py lvmdbusd: Use common func. for checking missing LV keys 2022-09-16 10:49:37 -05:00
request.py lvmdbusd: Fix grammar 2023-02-20 12:01:53 -06:00
state.py lvmdbus: Add new daemon. 2016-02-17 23:53:35 +00:00
udevwatch.py lvmdbusd: Handle PV signature copy 2022-10-20 15:10:35 -05:00
utils.py lvmdbusd: Disable collecting lvm debug data by default 2023-02-20 12:01:53 -06:00
vg.py lvmdbusd: Use common func. for checking missing LV keys 2022-09-16 10:49:37 -05:00