nfsd: Only set PF_LESS_THROTTLE when really needed.
authorNeilBrown <neilb@suse.de>
Mon, 12 May 2014 01:22:47 +0000 (11:22 +1000)
committerJ. Bruce Fields <bfields@redhat.com>
Thu, 22 May 2014 19:59:19 +0000 (15:59 -0400)
commit8658452e4a588da603f6cb5ee2615deafcd82b71
tree5f2bdfa67fa8eb23d24958f541a1b8698185bc0b
parentef11ce24875a8a540adc185e7bce3d7d49c8296f
nfsd: Only set PF_LESS_THROTTLE when really needed.

PF_LESS_THROTTLE has a very specific use case: to avoid deadlocks
and live-locks while writing to the page cache in a loop-back
NFS mount situation.

It therefore makes sense to *only* set PF_LESS_THROTTLE in this
situation.
We now know when a request came from the local-host so it could be a
loop-back mount.  We already know when we are handling write requests,
and when we are doing anything else.

So combine those two to allow nfsd to still be throttled (like any
other process) in every situation except when it is known to be
problematic.

Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/nfssvc.c
fs/nfsd/vfs.c