- snprintf(lock_name, MAX_STRING_SIZE, "%s/resource_count",
- ldlm_ns_name(ns));
- lock_vars[0].data = ns;
- lock_vars[0].read_fptr = lprocfs_rd_ns_resources;
- lprocfs_add_vars(ldlm_ns_proc_dir, lock_vars, 0);
-
- snprintf(lock_name, MAX_STRING_SIZE, "%s/lock_count",
- ldlm_ns_name(ns));
- lock_vars[0].data = ns;
- lock_vars[0].read_fptr = lprocfs_rd_ns_locks;
- lprocfs_add_vars(ldlm_ns_proc_dir, lock_vars, 0);
-
- if (ns_is_client(ns)) {
- snprintf(lock_name, MAX_STRING_SIZE, "%s/lock_unused_count",
- ldlm_ns_name(ns));
- lock_vars[0].data = &ns->ns_nr_unused;
- lock_vars[0].read_fptr = lprocfs_rd_uint;
- lprocfs_add_vars(ldlm_ns_proc_dir, lock_vars, 0);
-
- snprintf(lock_name, MAX_STRING_SIZE, "%s/lru_size",
- ldlm_ns_name(ns));
- lock_vars[0].data = ns;
- lock_vars[0].read_fptr = lprocfs_rd_lru_size;
- lock_vars[0].write_fptr = lprocfs_wr_lru_size;
- lprocfs_add_vars(ldlm_ns_proc_dir, lock_vars, 0);
-
- snprintf(lock_name, MAX_STRING_SIZE, "%s/lru_max_age",
- ldlm_ns_name(ns));
- lock_vars[0].data = &ns->ns_max_age;
- lock_vars[0].read_fptr = lprocfs_rd_uint;
- lock_vars[0].write_fptr = lprocfs_wr_uint;
- lprocfs_add_vars(ldlm_ns_proc_dir, lock_vars, 0);
- } else {
- snprintf(lock_name, MAX_STRING_SIZE, "%s/ctime_age_limit",
- ldlm_ns_name(ns));
- lock_vars[0].data = &ns->ns_ctime_age_limit;
- lock_vars[0].read_fptr = lprocfs_rd_uint;
- lock_vars[0].write_fptr = lprocfs_wr_uint;
- lprocfs_add_vars(ldlm_ns_proc_dir, lock_vars, 0);
-
- snprintf(lock_name, MAX_STRING_SIZE, "%s/lock_timeouts",
- ldlm_ns_name(ns));
- lock_vars[0].data = &ns->ns_timeouts;
- lock_vars[0].read_fptr = lprocfs_rd_uint;
- lprocfs_add_vars(ldlm_ns_proc_dir, lock_vars, 0);
-
- snprintf(lock_name, MAX_STRING_SIZE, "%s/max_nolock_bytes",
- ldlm_ns_name(ns));
- lock_vars[0].data = &ns->ns_max_nolock_size;
- lock_vars[0].read_fptr = lprocfs_rd_uint;
- lock_vars[0].write_fptr = lprocfs_wr_uint;
- lprocfs_add_vars(ldlm_ns_proc_dir, lock_vars, 0);
-
- snprintf(lock_name, MAX_STRING_SIZE, "%s/contention_seconds",
- ldlm_ns_name(ns));
- lock_vars[0].data = &ns->ns_contention_time;
- lock_vars[0].read_fptr = lprocfs_rd_uint;
- lock_vars[0].write_fptr = lprocfs_wr_uint;
- lprocfs_add_vars(ldlm_ns_proc_dir, lock_vars, 0);
-
- snprintf(lock_name, MAX_STRING_SIZE, "%s/contended_locks",
- ldlm_ns_name(ns));
- lock_vars[0].data = &ns->ns_contended_locks;
- lock_vars[0].read_fptr = lprocfs_rd_uint;
- lock_vars[0].write_fptr = lprocfs_wr_uint;
- lprocfs_add_vars(ldlm_ns_proc_dir, lock_vars, 0);
-
- snprintf(lock_name, MAX_STRING_SIZE, "%s/max_parallel_ast",
- ldlm_ns_name(ns));
- lock_vars[0].data = &ns->ns_max_parallel_ast;
- lock_vars[0].read_fptr = lprocfs_rd_uint;
- lock_vars[0].write_fptr = lprocfs_wr_uint;
- lprocfs_add_vars(ldlm_ns_proc_dir, lock_vars, 0);
- }
- return 0;
+ ldlm_add_var(&lock_vars[0], ns_pde, "resource_count", ns,
+ &lprocfs_ns_resources_fops);
+ ldlm_add_var(&lock_vars[0], ns_pde, "lock_count", ns,
+ &lprocfs_ns_locks_fops);
+
+ if (ns_is_client(ns)) {
+ ldlm_add_var(&lock_vars[0], ns_pde, "lock_unused_count",
+ &ns->ns_nr_unused, &ldlm_uint_fops);
+ ldlm_add_var(&lock_vars[0], ns_pde, "lru_size", ns,
+ &lprocfs_lru_size_fops);
+ ldlm_add_var(&lock_vars[0], ns_pde, "lru_max_age",
+ &ns->ns_max_age, &ldlm_rw_uint_fops);
+ ldlm_add_var(&lock_vars[0], ns_pde, "early_lock_cancel",
+ ns, &lprocfs_elc_fops);
+ } else {
+ ldlm_add_var(&lock_vars[0], ns_pde, "ctime_age_limit",
+ &ns->ns_ctime_age_limit, &ldlm_rw_uint_fops);
+ ldlm_add_var(&lock_vars[0], ns_pde, "lock_timeouts",
+ &ns->ns_timeouts, &ldlm_uint_fops);
+ ldlm_add_var(&lock_vars[0], ns_pde, "max_nolock_bytes",
+ &ns->ns_max_nolock_size, &ldlm_rw_uint_fops);
+ ldlm_add_var(&lock_vars[0], ns_pde, "contention_seconds",
+ &ns->ns_contention_time, &ldlm_rw_uint_fops);
+ ldlm_add_var(&lock_vars[0], ns_pde, "contended_locks",
+ &ns->ns_contended_locks, &ldlm_rw_uint_fops);
+ ldlm_add_var(&lock_vars[0], ns_pde, "max_parallel_ast",
+ &ns->ns_max_parallel_ast, &ldlm_rw_uint_fops);
+ }
+ return 0;