[Yum-devel] [PATCH] Resurrect diskspacecheck=0 functionality

Panu Matilainen pmatilai at laiskiainen.org
Thu Apr 25 06:09:14 UTC 2013


Something in commit fc395ef14b135b3591488816ec902057fd8d03f4 makes
diskspacecheck=0 not disable the disk space check at all. Moving
the thing to initActionTs() where other similar initialization
is done makes it work again. In addition, enable filtering of
inode problems also to behave the same as rpm's --ignorespace.

The related bits in _doTestTransaction() and TransactionWrapper.test()
dont seem to do anything at least in yum context, but adding the
inode filtering there as well just in case. OTOH unless there's
something that actually relies on the seemingly no-op code, perhaps
it could just be removed?
---
 cli.py                  | 2 --
 rpmUtils/transaction.py | 2 +-
 yum/depsolve.py         | 4 ++++
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/cli.py b/cli.py
index c8a5554..3d7d7ff 100755
--- a/cli.py
+++ b/cli.py
@@ -661,8 +661,6 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         tt_st = time.time()            
         self.verbose_logger.log(yum.logginglevels.INFO_2,
             _('Running transaction test'))
-        if not self.conf.diskspacecheck:
-            self.tsInfo.probFilterFlags.append(rpm.RPMPROB_FILTER_DISKSPACE)
             
         self.ts.order() # order the transaction
         self.ts.clean() # release memory not needed beyond this point
diff --git a/rpmUtils/transaction.py b/rpmUtils/transaction.py
index 121ad5b..5763298 100644
--- a/rpmUtils/transaction.py
+++ b/rpmUtils/transaction.py
@@ -114,7 +114,7 @@ class TransactionWrapper:
         # FIXME GARBAGE - remove once this is reimplemented elsehwere
         # KEEPING FOR API COMPLIANCE ONLY
         if conf.get('diskspacecheck') == 0:
-            self.ts.setProbFilter(rpm.RPMPROB_FILTER_DISKSPACE)
+            self.ts.setProbFilter(rpm.RPMPROB_FILTER_DISKSPACE|rpm.RPMPROB_FILTER_DISKNODES)
         tserrors = self.ts.run(cb.callback, '')
         self.ts.setFlags(origflags)
     
diff --git a/yum/depsolve.py b/yum/depsolve.py
index 60047a9..52b751b 100644
--- a/yum/depsolve.py
+++ b/yum/depsolve.py
@@ -199,6 +199,10 @@ class Depsolve(object):
             else:
                 self.logger.critical(_('Invalid tsflag in config file: %s'), flag)
 
+        if not self.conf.diskspacecheck:
+            self._add_prob_flags(rpm.RPMPROB_FILTER_DISKSPACE,
+                                 rpm.RPMPROB_FILTER_DISKNODES)
+
         probfilter = 0
         for flag in self.tsInfo.probFilterFlags:
             probfilter |= flag
-- 
1.8.1.4



More information about the Yum-devel mailing list