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
On Tuesday 24 November 2015 12:57:17 Maxim Perevedentsev wrote:> 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.Which is what I get on such situations, and why I produced the patch you see on the mailing list.> If fusermount always outputs "Invalid argument" in response to non-existent mount, > than parsing at guestunmount.c:200 should be fixed accordingly.Actually you might be right, but only because you are using root for any operation and I did need to look for that, in both fuse and your logs, as you did not mention that. I'll adjust the patch, but please do mention all the details when asking other people to look after possible issues in the code. Thanks, -- Pino Toscano
On 11/24/2015 01:09 PM, Pino Toscano wrote:> On Tuesday 24 November 2015 12:57:17 Maxim Perevedentsev wrote: >> If fusermount always outputs "Invalid argument" in response to non-existent mount, >> than parsing at guestunmount.c:200 should be fixed accordingly. > Actually you might be right, but only because you are using root for any > operation and I did need to look for that, in both fuse and your logs, > as you did not mention that. > > I'll adjust the patch, but please do mention all the details when asking > other people to look after possible issues in the code.Thank you! I did not expect the user I'm working as to be so important :-( -- Your sincerely, Maxim Perevedentsev