Re: [PATCH] nbd: show nbd client pid in sysfs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi!

> This simple patch allows nbd to expose the nbd-client 
> daemon's PID in /sys/block/nbd<x>/pid. This is helpful 
> for tracking connection status of a device and for 
> determining which nbd devices are currently in use.

Actually is it needed at all? Perhaps nbd clients should be modified
to put nbdX in their process nam?

> 
> Tested against 2.6.19.
> 
> Thanks,
> Paul

> --- ./drivers/block/nbd.c	Wed Nov 29 16:57:37 2006
> +++ ./drivers/block/nbd.c	Tue Nov 28 16:09:31 2006
> @@ -355,14 +389,30 @@ harderror:
>  	return NULL;
>  }
>  
> +static ssize_t pid_show(struct gendisk *disk, char *page)
> +{
> +	return sprintf(page, "%ld\n",
> +		(long) ((struct nbd_device *)disk->private_data)->pid);
> +}
> +
> +static struct disk_attribute pid_attr = {
> +	.attr = { .name = "pid", .mode = S_IRUGO },
> +	.show = pid_show,
> +};
> +	
>  static void nbd_do_it(struct nbd_device *lo)
>  {
>  	struct request *req;
>  
>  	BUG_ON(lo->magic != LO_MAGIC);
>  
> +	lo->pid = current->pid;
> +	sysfs_create_file(&lo->disk->kobj, &pid_attr.attr);
> +
>  	while ((req = nbd_read_stat(lo)) != NULL)
>  		nbd_end_request(req);
> +
> +	sysfs_remove_file(&lo->disk->kobj, &pid_attr.attr);
>  	return;
>  }
>  
> --- ./include/linux/nbd.h	Wed Nov 29 16:57:37 2006
> +++ ./include/linux/nbd.h	Mon Dec  4 23:28:30 2006
> @@ -64,6 +64,7 @@ struct nbd_device {
>  	struct gendisk *disk;
>  	int blksize;
>  	u64 bytesize;
> +	pid_t pid; /* pid of nbd-client, if attached */
>  };
>  
>  #endif


-- 
Thanks for all the (sleeping) penguins.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux