lkml.org 
[lkml]   [2012]   [May]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 1/7] [RFC] UBI: Export next_sqnum()
    Date
    The fastmap mechanism needs to read the next sequence nummber
    directly.

    Signed-off-by: Richard Weinberger <richard@nod.at>
    ---
    drivers/mtd/ubi/eba.c | 18 +++++++++---------
    drivers/mtd/ubi/ubi.h | 1 +
    2 files changed, 10 insertions(+), 9 deletions(-)

    diff --git a/drivers/mtd/ubi/eba.c b/drivers/mtd/ubi/eba.c
    index bd5fdbf..d75677d 100644
    --- a/drivers/mtd/ubi/eba.c
    +++ b/drivers/mtd/ubi/eba.c
    @@ -57,7 +57,7 @@
    * global sequence counter value. It also increases the global sequence
    * counter.
    */
    -static unsigned long long next_sqnum(struct ubi_device *ubi)
    +unsigned long long ubi_next_sqnum(struct ubi_device *ubi)
    {
    unsigned long long sqnum;

    @@ -522,7 +522,7 @@ retry:
    goto out_put;
    }

    - vid_hdr->sqnum = cpu_to_be64(next_sqnum(ubi));
    + vid_hdr->sqnum = cpu_to_be64(ubi_next_sqnum(ubi));
    err = ubi_io_write_vid_hdr(ubi, new_pnum, vid_hdr);
    if (err)
    goto write_error;
    @@ -633,7 +633,7 @@ int ubi_eba_write_leb(struct ubi_device *ubi, struct ubi_volume *vol, int lnum,
    }

    vid_hdr->vol_type = UBI_VID_DYNAMIC;
    - vid_hdr->sqnum = cpu_to_be64(next_sqnum(ubi));
    + vid_hdr->sqnum = cpu_to_be64(ubi_next_sqnum(ubi));
    vid_hdr->vol_id = cpu_to_be32(vol_id);
    vid_hdr->lnum = cpu_to_be32(lnum);
    vid_hdr->compat = ubi_get_compat(ubi, vol_id);
    @@ -694,7 +694,7 @@ write_error:
    return err;
    }

    - vid_hdr->sqnum = cpu_to_be64(next_sqnum(ubi));
    + vid_hdr->sqnum = cpu_to_be64(ubi_next_sqnum(ubi));
    ubi_msg("try another PEB");
    goto retry;
    }
    @@ -747,7 +747,7 @@ int ubi_eba_write_leb_st(struct ubi_device *ubi, struct ubi_volume *vol,
    return err;
    }

    - vid_hdr->sqnum = cpu_to_be64(next_sqnum(ubi));
    + vid_hdr->sqnum = cpu_to_be64(ubi_next_sqnum(ubi));
    vid_hdr->vol_id = cpu_to_be32(vol_id);
    vid_hdr->lnum = cpu_to_be32(lnum);
    vid_hdr->compat = ubi_get_compat(ubi, vol_id);
    @@ -812,7 +812,7 @@ write_error:
    return err;
    }

    - vid_hdr->sqnum = cpu_to_be64(next_sqnum(ubi));
    + vid_hdr->sqnum = cpu_to_be64(ubi_next_sqnum(ubi));
    ubi_msg("try another PEB");
    goto retry;
    }
    @@ -864,7 +864,7 @@ int ubi_eba_atomic_leb_change(struct ubi_device *ubi, struct ubi_volume *vol,
    if (err)
    goto out_mutex;

    - vid_hdr->sqnum = cpu_to_be64(next_sqnum(ubi));
    + vid_hdr->sqnum = cpu_to_be64(ubi_next_sqnum(ubi));
    vid_hdr->vol_id = cpu_to_be32(vol_id);
    vid_hdr->lnum = cpu_to_be32(lnum);
    vid_hdr->compat = ubi_get_compat(ubi, vol_id);
    @@ -932,7 +932,7 @@ write_error:
    goto out_leb_unlock;
    }

    - vid_hdr->sqnum = cpu_to_be64(next_sqnum(ubi));
    + vid_hdr->sqnum = cpu_to_be64(ubi_next_sqnum(ubi));
    ubi_msg("try another PEB");
    goto retry;
    }
    @@ -1092,7 +1092,7 @@ int ubi_eba_copy_leb(struct ubi_device *ubi, int from, int to,
    vid_hdr->data_size = cpu_to_be32(data_size);
    vid_hdr->data_crc = cpu_to_be32(crc);
    }
    - vid_hdr->sqnum = cpu_to_be64(next_sqnum(ubi));
    + vid_hdr->sqnum = cpu_to_be64(ubi_next_sqnum(ubi));

    err = ubi_io_write_vid_hdr(ubi, to, vid_hdr);
    if (err) {
    diff --git a/drivers/mtd/ubi/ubi.h b/drivers/mtd/ubi/ubi.h
    index 75b9f1c..00c48f6 100644
    --- a/drivers/mtd/ubi/ubi.h
    +++ b/drivers/mtd/ubi/ubi.h
    @@ -530,6 +530,7 @@ int ubi_eba_atomic_leb_change(struct ubi_device *ubi, struct ubi_volume *vol,
    int ubi_eba_copy_leb(struct ubi_device *ubi, int from, int to,
    struct ubi_vid_hdr *vid_hdr);
    int ubi_eba_init_scan(struct ubi_device *ubi, struct ubi_scan_info *si);
    +unsigned long long ubi_next_sqnum(struct ubi_device *ubi);

    /* wl.c */
    int ubi_wl_get_peb(struct ubi_device *ubi);
    --
    1.7.6.5


    \
     
     \ /
      Last update: 2012-05-15 20:22    [W:0.026 / U:0.996 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site