OpenVZ Forum


Home » Mailing lists » Devel » [PATCH 0/15] Make common helpers for seq_files that work with list_head-s (v2)
Re: [PATCH 12/15] Make NFS client use seq_list_xxx helpers [message #13085 is a reply to message #13060] Fri, 18 May 2007 17:42 Go to previous messageGo to previous message
Trond Myklebust is currently offline  Trond Myklebust
Messages: 24
Registered: July 2006
Junior Member
On Fri, 2007-05-18 at 14:04 +0400, Pavel Emelianov wrote:
> 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: Pavel Emelianov <xemul@openvz.org>

Acked-by: Trond Myklebust <Trond.Myklebust@netapp.com>


>
> ---
>
> diff --git a/fs/nfs/client.c b/fs/nfs/client.c
> index 50c6821..10355ec 100644
> --- a/fs/nfs/client.c
> +++ b/fs/nfs/client.c
> @@ -1232,23 +1232,9 @@ static int nfs_server_list_open(struct i
> */
> 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);
> }
>
> /*
> @@ -1256,14 +1242,7 @@ static void *nfs_server_list_start(struc
> */
> 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);
> }
>
> /*
> @@ -1282,7 +1261,7 @@ static int nfs_server_list_show(struct s
> 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;
> }
> @@ -1323,23 +1302,9 @@ static int nfs_volume_list_open(struct i
> */
> 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);
> }
>
> /*
> @@ -1347,14 +1312,7 @@ static void *nfs_volume_list_start(struc
> */
> 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);
> }
>
> /*
> @@ -1375,7 +1333,7 @@ static int nfs_volume_list_show(struct s
> 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;
> }
>
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: [PATCH] Make common helpers for seq_files that work with list_head-s
Next Topic: LTP syscall failures
Goto Forum:
  


Current Time: Sat Sep 06 21:33:51 GMT 2025

Total time taken to generate the page: 0.08610 seconds