lkml.org 
[lkml]   [2011]   [Feb]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH][RFC] dm: Do not open log and cow device read-write for read-only mappings
    > But it doesn't fix the read-only snapshot issue and I guess there will be
    > the same problem with read-only MD code too.
    > (so the 2) issue here https://lkml.org/lkml/2011/2/12/209).
    I am not sure if this is complete fix... note that:
    - what happens during mirror resync and read-only log?
    - for COW, it there situation we need to update header in read-oly mode? (invalidated snap?)
    Milan
    --

    [RFC] Do not open log and cow device read-write for read-only mappings

    Signed-off-by: Milan Broz <mbroz@redhat.com>

    diff --git a/drivers/md/dm-log.c b/drivers/md/dm-log.c
    index 6951536..8e8a868 100644
    --- a/drivers/md/dm-log.c
    +++ b/drivers/md/dm-log.c
    @@ -543,7 +543,7 @@ static int disk_ctr(struct dm_dirty_log *log, struct dm_target *ti,
    return -EINVAL;
    }

    - r = dm_get_device(ti, argv[0], FMODE_READ | FMODE_WRITE, &dev);
    + r = dm_get_device(ti, argv[0], dm_table_get_mode(ti->table), &dev);
    if (r)
    return r;

    diff --git a/drivers/md/dm-snap.c b/drivers/md/dm-snap.c
    index fdde53c..a2d3309 100644
    --- a/drivers/md/dm-snap.c
    +++ b/drivers/md/dm-snap.c
    @@ -1080,7 +1080,7 @@ static int snapshot_ctr(struct dm_target *ti, unsigned int argc, char **argv)
    argv++;
    argc--;

    - r = dm_get_device(ti, cow_path, FMODE_READ | FMODE_WRITE, &s->cow);
    + r = dm_get_device(ti, cow_path, dm_table_get_mode(ti->table), &s->cow);
    if (r) {
    ti->error = "Cannot get COW device";
    goto bad_cow;



    \
     
     \ /
      Last update: 2011-02-14 14:17    [W:3.629 / U:0.536 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site