lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 8 Dec 2006 21:17:23 +0000
From:	Pavel Machek <pavel@....cz>
To:	Paul Clements <paul.clements@...eleye.com>
Cc:	akpm@...l.org, linux-kernel@...r.kernel.org, wouter@...p.be
Subject: Re: [PATCH] nbd: show nbd client pid in sysfs

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 majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ