Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 4 Sep 2017 23:14:47 +0200
From:      Ben RUBSON <ben.rubson@gmail.com>
To:        Freebsd fs <freebsd-fs@freebsd.org>
Subject:   Re: umount() taking minutes for FUSE filesystems
Message-ID:  <2FAD66DE-031B-4B36-9E85-C7BC6B52B5E6@gmail.com>
In-Reply-To: <CAG6CVpWX1TPtR65dXkC4A_-hiSrh0L524mcPtcQM=K28RM7vWw@mail.gmail.com>
References:  <87bmn44ruu.fsf@vostro.rath.org> <87o9qyrbs8.fsf@vostro.rath.org> <CAG6CVpWX1TPtR65dXkC4A_-hiSrh0L524mcPtcQM=K28RM7vWw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
I managed to reproduce the issue.
unmount takes exactly 60 seconds, as if a timeout was running.

# procstat -kk $!
COMM     TDNAME KSTACK                      =20
printcap -      mi_switch+0xd2 sleepq_catch_signals+0xb7 =
sleepq_timedwait_sig+0x10 _sleep+0x26f fdisp_wait_answ+0x171 =
fuse_vfsop_unmount+0xf5 dounmount+0x9b6 sys_unmount+0x41b =
amd64_syscall+0x4ce Xfast_syscall+0xfb=20

# uname -sr
FreeBSD 11.0-RELEASE-p9

Ben

> On 29 Aug 2017, at 17:02, Conrad Meyer <cem@freebsd.org> wrote:
>=20
> Hey Nikolaus,
>=20
> A first cut debug tactic might be running 'procstat -kk <pid of
> printcap process>' to see where it is spending time in the kernel.  I
> haven't had time to try and reproduce this myself, sorry.
>=20
> Best,
> Conrad
>=20
> On Tue, Aug 29, 2017 at 1:57 AM, Nikolaus Rath <Nikolaus@rath.org> =
wrote:
>> *ping*
>>=20
>> Anyone able to help?
>>=20
>> Thanks,
>> -Nikolaus
>>=20
>> On Aug 24 2017, Nikolaus Rath <Nikolaus@rath.org> wrote:
>>> Hello,
>>>=20
>>> It seems that in some situations, the unmount() system call takes
>>> minutes to unmount fuse filesystems. To reproduce, download a Git
>>> snapshot of libfuse 3 from https://github.com/libfuse/libfuse and =
do:
>>>=20
>>> $ md build; cd build
>>> $ meson ..
>>> $ mesonconf -D buildtype=3Ddebug # optional
>>> $ ninja
>>>=20
>>> Then execute examples/printcap. This will take very long, and all =
the
>>> time is spent in the unmount(mountpoint, MNT_FORCE) call in
>>> mount_bsd.c:fuse_kern_unmount().
>>>=20
>>> Does anyone have an idea what might be causing this and how to fix =
it?
>>>=20
>>> My hunch is that it has something to do with libfuse no longer
>>> responding to requests at this point. But I'm at my wits end as to =
why
>>> and what to do about it....
>>>=20
>>> Best,
>>> -Nikolaus
>>>=20
>>> --
>>> GPG Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F
>>>=20
>>>             =C2=BBTime flies like an arrow, fruit flies like a =
Banana.=C2=AB
>>> _______________________________________________
>>> freebsd-fs@freebsd.org mailing list
>>> https://lists.freebsd.org/mailman/listinfo/freebsd-fs
>>> To unsubscribe, send any mail to =
"freebsd-fs-unsubscribe@freebsd.org"
>>=20
>>=20
>> --
>> GPG Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F
>>=20
>>             =C2=BBTime flies like an arrow, fruit flies like a =
Banana.=C2=AB
>> _______________________________________________
>> freebsd-fs@freebsd.org mailing list
>> https://lists.freebsd.org/mailman/listinfo/freebsd-fs
>> To unsubscribe, send any mail to "freebsd-fs-unsubscribe@freebsd.org"
> _______________________________________________
> freebsd-fs@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-fs
> To unsubscribe, send any mail to "freebsd-fs-unsubscribe@freebsd.org"




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2FAD66DE-031B-4B36-9E85-C7BC6B52B5E6>