lkml.org 
[lkml]   [2006]   [Dec]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [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.

    Should get a line or two in Documentation/ ?
    Pavel

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

    \
     
     \ /
      Last update: 2006-12-10 14:19    [W:0.023 / U:121.572 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site