Commit 259902ea authored by Pavel Emelianov's avatar Pavel Emelianov Committed by Linus Torvalds

Make NFS client use seq_list_xxx helpers

This includes /proc/fs/nfsfs/servers and /proc/fs/nfsfs/volumes entries.

Both need to show the header and use the list_head.
Signed-off-by: default avatarPavel Emelianov <xemul@openvz.org>
Acked-by: default avatarTrond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent b0765fb8
...@@ -1206,23 +1206,9 @@ static int nfs_server_list_open(struct inode *inode, struct file *file) ...@@ -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) 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 */ /* lock the list against modification */
spin_lock(&nfs_client_lock); spin_lock(&nfs_client_lock);
return seq_list_start_head(&nfs_client_list, *_pos);
/* 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;
} }
/* /*
...@@ -1230,14 +1216,7 @@ static void *nfs_server_list_start(struct seq_file *m, loff_t *_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) static void *nfs_server_list_next(struct seq_file *p, void *v, loff_t *pos)
{ {
struct list_head *_p; return seq_list_next(v, &nfs_client_list, pos);
(*pos)++;
_p = v;
_p = (v == SEQ_START_TOKEN) ? nfs_client_list.next : _p->next;
return _p != &nfs_client_list ? _p : NULL;
} }
/* /*
...@@ -1256,7 +1235,7 @@ static int nfs_server_list_show(struct seq_file *m, void *v) ...@@ -1256,7 +1235,7 @@ static int nfs_server_list_show(struct seq_file *m, void *v)
struct nfs_client *clp; struct nfs_client *clp;
/* display header on line 1 */ /* display header on line 1 */
if (v == SEQ_START_TOKEN) { if (v == &nfs_client_list) {
seq_puts(m, "NV SERVER PORT USE HOSTNAME\n"); seq_puts(m, "NV SERVER PORT USE HOSTNAME\n");
return 0; return 0;
} }
...@@ -1297,23 +1276,9 @@ static int nfs_volume_list_open(struct inode *inode, struct file *file) ...@@ -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) 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 */ /* lock the list against modification */
spin_lock(&nfs_client_lock); spin_lock(&nfs_client_lock);
return seq_list_start_head(&nfs_volume_list, *_pos);
/* 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;
} }
/* /*
...@@ -1321,14 +1286,7 @@ static void *nfs_volume_list_start(struct seq_file *m, loff_t *_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) static void *nfs_volume_list_next(struct seq_file *p, void *v, loff_t *pos)
{ {
struct list_head *_p; return seq_list_next(v, &nfs_volume_list, pos);
(*pos)++;
_p = v;
_p = (v == SEQ_START_TOKEN) ? nfs_volume_list.next : _p->next;
return _p != &nfs_volume_list ? _p : NULL;
} }
/* /*
...@@ -1349,7 +1307,7 @@ static int nfs_volume_list_show(struct seq_file *m, void *v) ...@@ -1349,7 +1307,7 @@ static int nfs_volume_list_show(struct seq_file *m, void *v)
char dev[8], fsid[17]; char dev[8], fsid[17];
/* display header on line 1 */ /* display header on line 1 */
if (v == SEQ_START_TOKEN) { if (v == &nfs_volume_list) {
seq_puts(m, "NV SERVER PORT DEV FSID\n"); seq_puts(m, "NV SERVER PORT DEV FSID\n");
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment