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>