diff options
Diffstat (limited to 'bitbake/lib/bb/monitordisk.py')
-rw-r--r-- | bitbake/lib/bb/monitordisk.py | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/bitbake/lib/bb/monitordisk.py b/bitbake/lib/bb/monitordisk.py index 98f2109ed2..f928210351 100644 --- a/bitbake/lib/bb/monitordisk.py +++ b/bitbake/lib/bb/monitordisk.py | |||
@@ -76,7 +76,12 @@ def getDiskData(BBDirs): | |||
76 | return None | 76 | return None |
77 | 77 | ||
78 | action = pathSpaceInodeRe.group(1) | 78 | action = pathSpaceInodeRe.group(1) |
79 | if action not in ("ABORT", "STOPTASKS", "WARN"): | 79 | if action == "ABORT": |
80 | # Emit a deprecation warning | ||
81 | logger.warnonce("The BB_DISKMON_DIRS \"ABORT\" action has been renamed to \"HALT\", update configuration") | ||
82 | action = "HALT" | ||
83 | |||
84 | if action not in ("HALT", "STOPTASKS", "WARN"): | ||
80 | printErr("Unknown disk space monitor action: %s" % action) | 85 | printErr("Unknown disk space monitor action: %s" % action) |
81 | return None | 86 | return None |
82 | 87 | ||
@@ -177,7 +182,7 @@ class diskMonitor: | |||
177 | # use them to avoid printing too many warning messages | 182 | # use them to avoid printing too many warning messages |
178 | self.preFreeS = {} | 183 | self.preFreeS = {} |
179 | self.preFreeI = {} | 184 | self.preFreeI = {} |
180 | # This is for STOPTASKS and ABORT, to avoid printing the message | 185 | # This is for STOPTASKS and HALT, to avoid printing the message |
181 | # repeatedly while waiting for the tasks to finish | 186 | # repeatedly while waiting for the tasks to finish |
182 | self.checked = {} | 187 | self.checked = {} |
183 | for k in self.devDict: | 188 | for k in self.devDict: |
@@ -219,8 +224,8 @@ class diskMonitor: | |||
219 | self.checked[k] = True | 224 | self.checked[k] = True |
220 | rq.finish_runqueue(False) | 225 | rq.finish_runqueue(False) |
221 | bb.event.fire(bb.event.DiskFull(dev, 'disk', freeSpace, path), self.configuration) | 226 | bb.event.fire(bb.event.DiskFull(dev, 'disk', freeSpace, path), self.configuration) |
222 | elif action == "ABORT" and not self.checked[k]: | 227 | elif action == "HALT" and not self.checked[k]: |
223 | logger.error("Immediately abort since the disk space monitor action is \"ABORT\"!") | 228 | logger.error("Immediately halt since the disk space monitor action is \"HALT\"!") |
224 | self.checked[k] = True | 229 | self.checked[k] = True |
225 | rq.finish_runqueue(True) | 230 | rq.finish_runqueue(True) |
226 | bb.event.fire(bb.event.DiskFull(dev, 'disk', freeSpace, path), self.configuration) | 231 | bb.event.fire(bb.event.DiskFull(dev, 'disk', freeSpace, path), self.configuration) |
@@ -229,9 +234,10 @@ class diskMonitor: | |||
229 | freeInode = st.f_favail | 234 | freeInode = st.f_favail |
230 | 235 | ||
231 | if minInode and freeInode < minInode: | 236 | if minInode and freeInode < minInode: |
232 | # Some filesystems use dynamic inodes so can't run out | 237 | # Some filesystems use dynamic inodes so can't run out. |
233 | # (e.g. btrfs). This is reported by the inode count being 0. | 238 | # This is reported by the inode count being 0 (btrfs) or the free |
234 | if st.f_files == 0: | 239 | # inode count being -1 (cephfs). |
240 | if st.f_files == 0 or st.f_favail == -1: | ||
235 | self.devDict[k][2] = None | 241 | self.devDict[k][2] = None |
236 | continue | 242 | continue |
237 | # Always show warning, the self.checked would always be False if the action is WARN | 243 | # Always show warning, the self.checked would always be False if the action is WARN |
@@ -245,8 +251,8 @@ class diskMonitor: | |||
245 | self.checked[k] = True | 251 | self.checked[k] = True |
246 | rq.finish_runqueue(False) | 252 | rq.finish_runqueue(False) |
247 | bb.event.fire(bb.event.DiskFull(dev, 'inode', freeInode, path), self.configuration) | 253 | bb.event.fire(bb.event.DiskFull(dev, 'inode', freeInode, path), self.configuration) |
248 | elif action == "ABORT" and not self.checked[k]: | 254 | elif action == "HALT" and not self.checked[k]: |
249 | logger.error("Immediately abort since the disk space monitor action is \"ABORT\"!") | 255 | logger.error("Immediately halt since the disk space monitor action is \"HALT\"!") |
250 | self.checked[k] = True | 256 | self.checked[k] = True |
251 | rq.finish_runqueue(True) | 257 | rq.finish_runqueue(True) |
252 | bb.event.fire(bb.event.DiskFull(dev, 'inode', freeInode, path), self.configuration) | 258 | bb.event.fire(bb.event.DiskFull(dev, 'inode', freeInode, path), self.configuration) |