|
@@ -1206,23 +1206,9 @@ static int nfs_server_list_open(struct inode *inode, struct file *file)
|
|
|
*/
|
|
|
static void *nfs_server_list_start(struct seq_file *m, loff_t *_pos)
|
|
|
{
|
|
|
- struct list_head *_p;
|
|
|
- loff_t pos = *_pos;
|
|
|
-
|
|
|
/* lock the list against modification */
|
|
|
spin_lock(&nfs_client_lock);
|
|
|
-
|
|
|
- /* allow for the header line */
|
|
|
- if (!pos)
|
|
|
- return SEQ_START_TOKEN;
|
|
|
- pos--;
|
|
|
-
|
|
|
- /* find the n'th element in the list */
|
|
|
- list_for_each(_p, &nfs_client_list)
|
|
|
- if (!pos--)
|
|
|
- break;
|
|
|
-
|
|
|
- return _p != &nfs_client_list ? _p : NULL;
|
|
|
+ return seq_list_start_head(&nfs_client_list, *_pos);
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -1230,14 +1216,7 @@ static void *nfs_server_list_start(struct seq_file *m, loff_t *_pos)
|
|
|
*/
|
|
|
static void *nfs_server_list_next(struct seq_file *p, void *v, loff_t *pos)
|
|
|
{
|
|
|
- struct list_head *_p;
|
|
|
-
|
|
|
- (*pos)++;
|
|
|
-
|
|
|
- _p = v;
|
|
|
- _p = (v == SEQ_START_TOKEN) ? nfs_client_list.next : _p->next;
|
|
|
-
|
|
|
- return _p != &nfs_client_list ? _p : NULL;
|
|
|
+ return seq_list_next(v, &nfs_client_list, pos);
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -1256,7 +1235,7 @@ static int nfs_server_list_show(struct seq_file *m, void *v)
|
|
|
struct nfs_client *clp;
|
|
|
|
|
|
/* display header on line 1 */
|
|
|
- if (v == SEQ_START_TOKEN) {
|
|
|
+ if (v == &nfs_client_list) {
|
|
|
seq_puts(m, "NV SERVER PORT USE HOSTNAME\n");
|
|
|
return 0;
|
|
|
}
|
|
@@ -1297,23 +1276,9 @@ static int nfs_volume_list_open(struct inode *inode, struct file *file)
|
|
|
*/
|
|
|
static void *nfs_volume_list_start(struct seq_file *m, loff_t *_pos)
|
|
|
{
|
|
|
- struct list_head *_p;
|
|
|
- loff_t pos = *_pos;
|
|
|
-
|
|
|
/* lock the list against modification */
|
|
|
spin_lock(&nfs_client_lock);
|
|
|
-
|
|
|
- /* allow for the header line */
|
|
|
- if (!pos)
|
|
|
- return SEQ_START_TOKEN;
|
|
|
- pos--;
|
|
|
-
|
|
|
- /* find the n'th element in the list */
|
|
|
- list_for_each(_p, &nfs_volume_list)
|
|
|
- if (!pos--)
|
|
|
- break;
|
|
|
-
|
|
|
- return _p != &nfs_volume_list ? _p : NULL;
|
|
|
+ return seq_list_start_head(&nfs_volume_list, *_pos);
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -1321,14 +1286,7 @@ static void *nfs_volume_list_start(struct seq_file *m, loff_t *_pos)
|
|
|
*/
|
|
|
static void *nfs_volume_list_next(struct seq_file *p, void *v, loff_t *pos)
|
|
|
{
|
|
|
- struct list_head *_p;
|
|
|
-
|
|
|
- (*pos)++;
|
|
|
-
|
|
|
- _p = v;
|
|
|
- _p = (v == SEQ_START_TOKEN) ? nfs_volume_list.next : _p->next;
|
|
|
-
|
|
|
- return _p != &nfs_volume_list ? _p : NULL;
|
|
|
+ return seq_list_next(v, &nfs_volume_list, pos);
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -1349,7 +1307,7 @@ static int nfs_volume_list_show(struct seq_file *m, void *v)
|
|
|
char dev[8], fsid[17];
|
|
|
|
|
|
/* display header on line 1 */
|
|
|
- if (v == SEQ_START_TOKEN) {
|
|
|
+ if (v == &nfs_volume_list) {
|
|
|
seq_puts(m, "NV SERVER PORT DEV FSID\n");
|
|
|
return 0;
|
|
|
}
|