In the first change to src/mountall.c (in run_mount), mnt->error can
only be ERROR_NONE or ERROR_BORED due to the check at the top of this
function.  The effect of that change is therefore that mnt->error may be
ERROR_BORED in the period between spawn being called and
run_mount_finished being called from the event loop (this isn't a
problem in the other two branches of that if statement because they both
pass wait == TRUE to spawn).  I think that this is wrong; it means that,
if the mount takes long enough that plymouth_update is called in the
meantime, then the message "The disk drive for %s is not ready yet or
not present" will be displayed even though mount is running on that
device.

So, let's analyse the second and third changes.  Those move 'mnt->error
= ERROR_NONE' down to below the 'if (status)' block.  The only case
whose behaviour that can change is that where mount exits non-zero on a
remote filesystem.  It appears that currently mountall is intentionally
not printing errors about those; see bug 504224.  I can see that it
might make some sense to zero out any previous ERROR_BORED error, for
consistency, but that's the only effect I can see this having.

I'm certainly not opposed to this kind of fix, and I'm sorry that we've
taken so long to respond to your patch; the bug as described is
definitely an important one to fix.  However, I want to understand
patches completely before I apply them, to make sure that I'm not
breaking something else in the process.  Could you explain the exact
situation where this patch changes behaviour, with reference to the
code?

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/655616

Title:
  Press S or M does not work for more than one partition on error

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to