]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/vol: add comments to explain queuing data structures 60119/head
authorRishabh Dave <ridave@redhat.com>
Tue, 27 Aug 2024 08:14:31 +0000 (13:44 +0530)
committerRishabh Dave <ridave@redhat.com>
Sat, 19 Oct 2024 11:44:24 +0000 (17:14 +0530)
Add some comment to explains the purpose and details of data structures
that are used for queuing of async jobs since right now it's not obvious
from initialization.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
src/pybind/mgr/volumes/fs/async_job.py

index 6834e3e240b335a5d8c73b69fd28d292e51d8ebb..132d990862b49351f918ca6b10a94577c8b1fb69 100644 (file)
@@ -118,10 +118,16 @@ class AsyncJobs(threading.Thread):
     def __init__(self, volume_client, name_pfx, nr_concurrent_jobs):
         threading.Thread.__init__(self, name="{0}.tick".format(name_pfx))
         self.vc = volume_client
-        # queue of volumes for starting async jobs
+        # self.q is a deque of names of a volumes for which async jobs needs
+        # to be started.
         self.q = deque()  # type: deque
-        # volume => job tracking
+
+        # self.jobs is a dictionary where volume name is the key and value is
+        # a tuple containing two members: the async job and an instance of
+        # threading.Thread that performs that job.
+        # in short, self.jobs = {volname: (async_job, thread instance)}.
         self.jobs = {}
+
         # lock, cv for kickstarting jobs
         self.lock = threading.Lock()
         self.cv = threading.Condition(self.lock)