+static int lprocfs_qsd_rd_timeout(char *page, char **start, off_t off,
+ int count, int *eof, void *data)
+{
+ struct qsd_instance *qsd = (struct qsd_instance *)data;
+ LASSERT(qsd != NULL);
+
+ return snprintf(page, count, "%d\n", qsd_wait_timeout(qsd));
+}
+
+static int lprocfs_qsd_wr_timeout(struct file *file, const char *buffer,
+ unsigned long count, void *data)
+{
+ struct qsd_instance *qsd = (struct qsd_instance *)data;
+ int timeout, rc;
+ LASSERT(qsd != NULL);
+
+ rc = lprocfs_write_helper(buffer, count, &timeout);
+ if (rc)
+ return rc;
+ if (timeout < 0)
+ return -EINVAL;
+
+ qsd->qsd_timeout = timeout;
+ return count;
+}
+