kernel stable 4.9 - NFSv4 callback processes fills process table

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



hello,
when using nfs with automount (umount every N secs), every mount creates
"NFSv4 callback" process. after while these fills process table.

https://lists.debian.org/debian-kernel/2017/05/msg00193.html

https://bugzilla.redhat.com/show_bug.cgi?id=1427493

i have same problems. listed commits solved them.
thanks for including patches.

"Aurelien Jarno:"

It seems the issues is fixed since 4.12-rc1 by the following set of
commts:



|  commit ed6473ddc704a2005b9900ca08e236ebb2d8540a
|  Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
|  Date:   Wed Apr 26 11:55:27 2017 -0400
|
|      NFSv4: Fix callback server shutdown
|
|      We want to use kthread_stop() in order to ensure the threads are
|      shut down before we tear down the nfs_callback_info in
nfs_callback_down.
|
|      Tested-and-reviewed-by: Kinglong Mee <kinglongmee@xxxxxxxxx>
|      Reported-by: Kinglong Mee <kinglongmee@xxxxxxxxx>
|      Fixes: bb6aeba736ba9 ("NFSv4.x: Switch to using
svc_set_num_threads()...")
|      Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
|      Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx>
|
|  commit 9e0d87680d689f1758185851c3da6eafb16e71e1
|  Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
|  Date:   Wed Apr 26 11:55:26 2017 -0400
|
|      SUNRPC: Refactor svc_set_num_threads()
|
|      Refactor to separate out the functions of starting and stopping
threads
|      so that they can be used in other helpers.
|
|      Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
|      Tested-and-reviewed-by: Kinglong Mee <kinglongmee@xxxxxxxxx>
|      Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx>
|
|  commit df807fffaabde625fa9adb82e3e5b88cdaa5709a
|  Author: Kinglong Mee <kinglongmee@xxxxxxxxx>
|  Date:   Thu Apr 27 11:13:38 2017 +0800
|
|      NFSv4.x/callback: Create the callback service through
svc_create_pooled
|
|      As the comments for svc_set_num_threads() said,
|      " Destroying threads relies on the service threads filling in
|      rqstp->rq_task, which only the nfs ones do.  Assumes the serv
|      has been created using svc_create_pooled()."
|
|      If creating service through svc_create(), the svc_pool_map_put()
|      will be called in svc_destroy(), but the pool map isn't used.
|      So that, the reference of pool map will be drop, the next using
|      of pool map will get a zero npools.


-- 
S pozdravom / Yours sincerely
Ing. Jan Hudoba

Attachment: signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]