Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Aug 2016 00:07:12 +0000
From:      Rick Macklem <rmacklem@uoguelph.ca>
To:        Mahmoud Al-Qudsi <mqudsi@neosmart.net>, "freebsd-fs@freebsd.org" <freebsd-fs@freebsd.org>
Subject:   Re: PR-211674, fuse_vnode and fuse_msgbuf leak in fusefs-ntfs
Message-ID:  <YQBPR01MB0401F0A5254A63194EB54A31DD1F0@YQBPR01MB0401.CANPRD01.PROD.OUTLOOK.COM>
In-Reply-To: <012c01d1f19d$0aae9c70$200bd550$@neosmart.net>
References:  <012c01d1f19d$0aae9c70$200bd550$@neosmart.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Mahmoud Al-Qudsi wrote:
>Hello,
>
>Please forgive me if it is not correct form to discuss fusefs-ntfs on the =
FreeBSD fs mailing list.
>
>SUMMARY
>
>Running on FreeBSD 10.3-RELEASE-p6/i386 with fuse compiled into kernel and=
 with fusefs-ntfs >2016.2.22 installed, there is a fuse_vnode leak (though =
it seems it may be more of a complete failure >to reclaim vnodes) resulting=
 in quick resource exhaustion.
>
>REPRODUCTION
>
>This is easily reproduced with the following:
>
>ntfs-3g /dev/xxx /mnt/yyyy
>cd /mnt/yyyy
>find . -exec touch {} \;
>
>In another virtual terminal:
>
>vmstat | head -n1; vmstat -m | sed 1d | sort -hk 3,3
>
>ACTUAL RESULTS
>
>fuse_vnode will continuously balloon, and will not be reclaimed until the =
filesystem is unmounted.
>
>(likewise, fuse_msgbuff also balloons but unlike fuse_vnode, it is never r=
eclaimed. Separate PR?)
>
>EXPECTED RESULTS
>
>fuse_vnode entries should be reclaimed
>
>ADDITIONAL INFORMATION
>
>Here's a snapshot of the fuse-related vmstat entries after this process:
>
>fuse_vnode 36020 9005K - 502349 256
These should be free'd when the vnode is recycled. This should start happen=
ing
when the system has reached kern.maxvnodes (I think?).

Check the sysctl:
vfs.fuse.node_count
- if this value is much smaller than the # malloc'd, something is broken. I=
f it is
  the same, it may just be that the system hasn't been recycling the vnodes=
 yet.
You could try setting kern.maxvnodes smaller to see if recycling starts hap=
pening,
but be warned...setting this too small can break your system badly.

Since unmounting will cause all vnodes to be recycled, seeing it go down wh=
en
you unmount is normal.

>fuse_msgbuf 58141 14895K - 311095 256,512,1024,2048,4096,8192
At a glance, these are allocated each time the fuse device is opened and
are never free'd. I don't know why fuse does this. My guess is that the
ntfs-3g file system is opening the device repeatedly. If that isn't happeni=
ng,
I have no idea why this is occurring.

rick

>Thank you,
>Mahmoud Al-Qudsi
>NeoSmart Technologies
>
>
>_______________________________________________
>freebsd-fs@freebsd.org mailing list
>https://lists.freebsd.org/mailman/listinfo/freebsd-fs<https://lists.freebs=
d.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?YQBPR01MB0401F0A5254A63194EB54A31DD1F0>