Whamcloud - gitweb
b=19734
[fs/lustre-release.git] / lustre / obdclass / linux / linux-sysctl.c
index 10f8eb9..3d26e98 100644 (file)
@@ -16,8 +16,8 @@
  * in the LICENSE file that accompanied this code).
  *
  * You should have received a copy of the GNU General Public License
- * version 2 along with this program; If not, see [sun.com URL with a
- * copy of GPLv2].
+ * version 2 along with this program; If not, see
+ * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
  *
  * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  * CA 95054 USA or visit www.sun.com if you need additional information or
@@ -73,6 +73,11 @@ enum {
         OBD_DEBUG_PEER_ON_TIMEOUT, /* dump peer debug when RPC times out */
         OBD_ALLOC_FAIL_RATE,    /* memory allocation random failure rate */
         OBD_MAX_DIRTY_PAGES,    /* maximum dirty pages */
+        OBD_AT_MIN,             /* Adaptive timeouts params */
+        OBD_AT_MAX,
+        OBD_AT_EXTRA,
+        OBD_AT_EARLY_MARGIN,
+        OBD_AT_HISTORY,
 };
 
 int LL_PROC_PROTO(proc_fail_loc)
@@ -195,6 +200,7 @@ int LL_PROC_PROTO(proc_pages_max)
 int LL_PROC_PROTO(proc_max_dirty_pages_in_mb)
 {
         int rc = 0;
+        DECLARE_LL_PROC_PPOS_DECL;
 
         if (!table->data || !table->maxlen || !*lenp || (*ppos && !write)) {
                 *lenp = 0;
@@ -265,6 +271,27 @@ int LL_PROC_PROTO(proc_alloc_fail_rate)
 }
 #endif
 
+int LL_PROC_PROTO(proc_at_min)
+{
+        return ll_proc_dointvec(table, write, filp, buffer, lenp, ppos);
+}
+int LL_PROC_PROTO(proc_at_max)
+{
+        return ll_proc_dointvec(table, write, filp, buffer, lenp, ppos);
+}
+int LL_PROC_PROTO(proc_at_extra)
+{
+        return ll_proc_dointvec(table, write, filp, buffer, lenp, ppos);
+}
+int LL_PROC_PROTO(proc_at_early_margin)
+{
+        return ll_proc_dointvec(table, write, filp, buffer, lenp, ppos);
+}
+int LL_PROC_PROTO(proc_at_history)
+{
+        return ll_proc_dointvec(table, write, filp, buffer, lenp, ppos);
+}
+
 static cfs_sysctl_table_t obd_table[] = {
         {
                 .ctl_name = OBD_FAIL_LOC,
@@ -354,7 +381,7 @@ static cfs_sysctl_table_t obd_table[] = {
                 .mode     = 0644,
                 .proc_handler = &proc_set_timeout
         },
-#ifdef RANDOM_FAIL_LOC
+#ifdef RANDOM_FAIL_ALLOC
         {
                 .ctl_name = OBD_ALLOC_FAIL_RATE,
                 .procname = "alloc_fail_rate",
@@ -372,6 +399,46 @@ static cfs_sysctl_table_t obd_table[] = {
                 .mode     = 0644,
                 .proc_handler = &proc_max_dirty_pages_in_mb
         },
+        {
+                .ctl_name = OBD_AT_MIN,
+                .procname = "at_min",
+                .data     = &at_min,
+                .maxlen   = sizeof(int),
+                .mode     = 0644,
+                .proc_handler = &proc_at_min
+        },
+        {
+                .ctl_name = OBD_AT_MAX,
+                .procname = "at_max",
+                .data     = &at_max,
+                .maxlen   = sizeof(int),
+                .mode     = 0644,
+                .proc_handler = &proc_at_max
+        },
+        {
+                .ctl_name = OBD_AT_EXTRA,
+                .procname = "at_extra",
+                .data     = &at_extra,
+                .maxlen   = sizeof(int),
+                .mode     = 0644,
+                .proc_handler = &proc_at_extra
+        },
+        {
+                .ctl_name = OBD_AT_EARLY_MARGIN,
+                .procname = "at_early_margin",
+                .data     = &at_early_margin,
+                .maxlen   = sizeof(int),
+                .mode     = 0644,
+                .proc_handler = &proc_at_early_margin
+        },
+        {
+                .ctl_name = OBD_AT_HISTORY,
+                .procname = "at_history",
+                .data     = &at_history,
+                .maxlen   = sizeof(int),
+                .mode     = 0644,
+                .proc_handler = &proc_at_history
+        },
         { 0 }
 };