lkml.org 
[lkml]   [2021]   [Mar]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [RFC PATCH v1 1/6] badblocks: add more helper structure and routines in badblocks.h
    From
    Date
    On 3/2/21 5:02 AM, Coly Li wrote:
    > This patch adds the following helper structure and routines into
    > badblocks.h,
    > - struct bad_context
    > This structure is used in improved badblocks code for bad table
    > iteration.
    > - BB_END()
    > The macro to culculate end LBA of a bad range record from bad
    > table.
    > - badblocks_full() and badblocks_empty()
    > The inline routines to check whether bad table is full or empty.
    > - set_changed() and clear_changed()
    > The inline routines to set and clear 'changed' tag from struct
    > badblocks.
    >
    > These new helper structure and routines can help to make the code more
    > clear, they will be used in the improved badblocks code in following
    > patches.
    >
    > Signed-off-by: Coly Li <colyli@suse.de>
    > ---
    > include/linux/badblocks.h | 32 ++++++++++++++++++++++++++++++++
    > 1 file changed, 32 insertions(+)
    >
    > diff --git a/include/linux/badblocks.h b/include/linux/badblocks.h
    > index 2426276b9bd3..166161842d1f 100644
    > --- a/include/linux/badblocks.h
    > +++ b/include/linux/badblocks.h
    > @@ -15,6 +15,7 @@
    > #define BB_OFFSET(x) (((x) & BB_OFFSET_MASK) >> 9)
    > #define BB_LEN(x) (((x) & BB_LEN_MASK) + 1)
    > #define BB_ACK(x) (!!((x) & BB_ACK_MASK))
    > +#define BB_END(x) (BB_OFFSET(x) + BB_LEN(x))
    > #define BB_MAKE(a, l, ack) (((a)<<9) | ((l)-1) | ((u64)(!!(ack)) << 63))
    >
    > /* Bad block numbers are stored sorted in a single page.
    > @@ -41,6 +42,14 @@ struct badblocks {
    > sector_t size; /* in sectors */
    > };
    >
    > +struct bad_context {
    > + sector_t start;
    > + sector_t len;
    > + int ack;
    > + sector_t orig_start;
    > + sector_t orig_len;
    > +};
    > +
    Maybe rename it to 'badblocks_context'.
    It's not the context which is bad ...

    Cheers,

    Hannes
    --
    Dr. Hannes Reinecke Kernel Storage Architect
    hare@suse.de +49 911 74053 688
    SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nürnberg
    HRB 36809 (AG Nürnberg), GF: Felix Imendörffer

    \
     
     \ /
      Last update: 2021-03-03 15:41    [W:4.423 / U:0.044 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site