On 11/23/2015 07:59 PM, Pino Toscano wrote:
Hi,

On Monday 23 November 2015 18:29:50 Maxim Perevedentsev wrote:
1) guestunmount never returns 3 (not mounted) - i guess it's a bug at 
guestunmount.c:223
Indeed, thanks for the notice -- just send a patch for it.

2) I don't know whether it's a bug in guestunmount or fusermount, but on 
my machine while executing
 > guestmount
 > guestunmount
 > guestunmount
on second "guestunmount" I get
"guestunmount: failed to unmount {...}: fusermount: failed to unmount 
{...}: Invalid argument"
while, according to guestunmount.c, guestunmount should return something 
like
"entry for {} not found"
Most probably it has to do with the (3) below: fusermount just reports
the EINVAL got from umount while trying to unmount an not-mounted
directory.
I was mistaken. This should have been:
on second "guestunmount" I get
"guestunmount: failed to unmount {...}: fusermount: failed to unmount 
{...}: Invalid argument"
while, according to guestunmount.c, *fusermount* should return something 
like
"entry for {} not found"

It looks like the code path where guestunmount returns 3 is unreachable.
That's why I asked someone to check fusermount error text on his machine.

If fusermount always outputs "Invalid argument" in response to non-existent mount,
than parsing at guestunmount.c:200 should be fixed accordingly.
-- 
Your sincerely,
Maxim Perevedentsev