Author: jhb
Date: Fri Nov 15 19:58:26 2013
New Revision: 258183
URL: http://svnweb.freebsd.org/changeset/base/258183

Log:
  MFC 256274:
  Ignore attempts to set the nmbcluster sysctls to their current value
  rather than failing with an error.

Modified:
  stable/9/sys/kern/kern_mbuf.c
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/kern/kern_mbuf.c
==============================================================================
--- stable/9/sys/kern/kern_mbuf.c       Fri Nov 15 19:56:28 2013        
(r258182)
+++ stable/9/sys/kern/kern_mbuf.c       Fri Nov 15 19:58:26 2013        
(r258183)
@@ -163,7 +163,7 @@ sysctl_nmbclusters(SYSCTL_HANDLER_ARGS)
 
        newnmbclusters = nmbclusters;
        error = sysctl_handle_int(oidp, &newnmbclusters, 0, req);
-       if (error == 0 && req->newptr) {
+       if (error == 0 && req->newptr && newnmbclusters != nmbclusters) {
                if (newnmbclusters > nmbclusters &&
                    nmbufs >= nmbclusters + nmbjumbop + nmbjumbo9 + nmbjumbo16) 
{
                        nmbclusters = newnmbclusters;
@@ -185,7 +185,7 @@ sysctl_nmbjumbop(SYSCTL_HANDLER_ARGS)
 
        newnmbjumbop = nmbjumbop;
        error = sysctl_handle_int(oidp, &newnmbjumbop, 0, req);
-       if (error == 0 && req->newptr) {
+       if (error == 0 && req->newptr && newnmbjumbop != nmbjumbop) {
                if (newnmbjumbop > nmbjumbop &&
                    nmbufs >= nmbclusters + nmbjumbop + nmbjumbo9 + nmbjumbo16) 
{
                        nmbjumbop = newnmbjumbop;
@@ -206,7 +206,7 @@ sysctl_nmbjumbo9(SYSCTL_HANDLER_ARGS)
 
        newnmbjumbo9 = nmbjumbo9;
        error = sysctl_handle_int(oidp, &newnmbjumbo9, 0, req);
-       if (error == 0 && req->newptr) {
+       if (error == 0 && req->newptr && newnmbjumbo9 != nmbjumbo9) {
                if (newnmbjumbo9 > nmbjumbo9 &&
                    nmbufs >= nmbclusters + nmbjumbop + nmbjumbo9 + nmbjumbo16) 
{
                        nmbjumbo9 = newnmbjumbo9;
@@ -227,7 +227,7 @@ sysctl_nmbjumbo16(SYSCTL_HANDLER_ARGS)
 
        newnmbjumbo16 = nmbjumbo16;
        error = sysctl_handle_int(oidp, &newnmbjumbo16, 0, req);
-       if (error == 0 && req->newptr) {
+       if (error == 0 && req->newptr && newnmbjumbo16 != nmbjumbo16) {
                if (newnmbjumbo16 > nmbjumbo16 &&
                    nmbufs >= nmbclusters + nmbjumbop + nmbjumbo9 + nmbjumbo16) 
{
                        nmbjumbo16 = newnmbjumbo16;
@@ -248,7 +248,7 @@ sysctl_nmbufs(SYSCTL_HANDLER_ARGS)
 
        newnmbufs = nmbufs;
        error = sysctl_handle_int(oidp, &newnmbufs, 0, req);
-       if (error == 0 && req->newptr) {
+       if (error == 0 && req->newptr && newnmbufs != nmbufs) {
                if (newnmbufs > nmbufs) {
                        nmbufs = newnmbufs;
                        nmbufs = uma_zone_set_max(zone_mbuf, nmbufs);
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to