lkml.org 
[lkml]   [2012]   [Dec]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH] brd: enable diskstats
    From
    Date
    Signed-off-by: Ryo Onodera <ryoqun@gmail.com>
    ---
    drivers/block/brd.c | 7 +++++++
    1 file changed, 7 insertions(+)

    diff --git a/drivers/block/brd.c b/drivers/block/brd.c
    index 531ceb3..181b2d7 100644
    --- a/drivers/block/brd.c
    +++ b/drivers/block/brd.c
    @@ -332,6 +332,7 @@ static void brd_make_request(struct request_queue *q, struct bio *bio)
    sector_t sector;
    int i;
    int err = -EIO;
    + int cpu;

    sector = bio->bi_sector;
    if (sector + (bio->bi_size >> SECTOR_SHIFT) >
    @@ -348,6 +349,12 @@ static void brd_make_request(struct request_queue *q, struct bio *bio)
    if (rw == READA)
    rw = READ;

    + cpu = part_stat_lock();
    + part_stat_inc(cpu, &brd->brd_disk->part0, ios[rw]);
    + part_stat_add(cpu, &brd->brd_disk->part0, sectors[rw],
    + bio_sectors(bio));
    + part_stat_unlock();
    +
    bio_for_each_segment(bvec, bio, i) {
    unsigned int len = bvec->bv_len;
    err = brd_do_bvec(brd, bvec->bv_page, len,
    --
    1.7.9.5
    On Mon, 2012-11-19 at 16:26 +0900, Ryo Onodera wrote:
    > Hi,
    >
    > I'm Ryo Onodera. I created this very tiny patch to enable /proc/diskstats for
    > /dev/ramX.
    >
    > I'm contacting Nick Piggin as the maintainer of ramdisk ram block.
    >
    > This is my first patch to the Linux kernel. Sorry if this is not the expected
    > way of submitting patches.
    >
    > Regards
    >
    > Ryo Onodera
    >
    > On Mon, Nov 19, 2012 at 4:16 PM, Ryo Onodera <ryoqun@gmail.com> wrote:
    > > Signed-off-by: Ryo Onodera <ryoqun@gmail.com>
    > > ---
    > > drivers/block/brd.c | 7 +++++++
    > > 1 file changed, 7 insertions(+)
    > >
    > > diff --git a/drivers/block/brd.c b/drivers/block/brd.c
    > > index 531ceb3..181b2d7 100644
    > > --- a/drivers/block/brd.c
    > > +++ b/drivers/block/brd.c
    > > @@ -332,6 +332,7 @@ static void brd_make_request(struct request_queue *q, struct bio *bio)
    > > sector_t sector;
    > > int i;
    > > int err = -EIO;
    > > + int cpu;
    > >
    > > sector = bio->bi_sector;
    > > if (sector + (bio->bi_size >> SECTOR_SHIFT) >
    > > @@ -348,6 +349,12 @@ static void brd_make_request(struct request_queue *q, struct bio *bio)
    > > if (rw == READA)
    > > rw = READ;
    > >
    > > + cpu = part_stat_lock();
    > > + part_stat_inc(cpu, &brd->brd_disk->part0, ios[rw]);
    > > + part_stat_add(cpu, &brd->brd_disk->part0, sectors[rw],
    > > + bio_sectors(bio));
    > > + part_stat_unlock();
    > > +
    > > bio_for_each_segment(bvec, bio, i) {
    > > unsigned int len = bvec->bv_len;
    > > err = brd_do_bvec(brd, bvec->bv_page, len,
    > > --
    > > 1.7.9.5
    > >
    > >
    > >




    \
     
     \ /
      Last update: 2012-12-23 23:21    [W:17.720 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site