lkml.org 
[lkml]   [2017]   [Jun]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.11 100/150] fix ufs_isblockset()
    Date
    4.11-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Al Viro <viro@zeniv.linux.org.uk>

    commit 414cf7186dbec29bd946c138d6b5c09da5955a08 upstream.

    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    fs/ufs/util.h | 10 +++++++---
    1 file changed, 7 insertions(+), 3 deletions(-)

    --- a/fs/ufs/util.h
    +++ b/fs/ufs/util.h
    @@ -473,15 +473,19 @@ static inline unsigned _ubh_find_last_ze
    static inline int _ubh_isblockset_(struct ufs_sb_private_info * uspi,
    struct ufs_buffer_head * ubh, unsigned begin, unsigned block)
    {
    + u8 mask;
    switch (uspi->s_fpb) {
    case 8:
    return (*ubh_get_addr (ubh, begin + block) == 0xff);
    case 4:
    - return (*ubh_get_addr (ubh, begin + (block >> 1)) == (0x0f << ((block & 0x01) << 2)));
    + mask = 0x0f << ((block & 0x01) << 2);
    + return (*ubh_get_addr (ubh, begin + (block >> 1)) & mask) == mask;
    case 2:
    - return (*ubh_get_addr (ubh, begin + (block >> 2)) == (0x03 << ((block & 0x03) << 1)));
    + mask = 0x03 << ((block & 0x03) << 1);
    + return (*ubh_get_addr (ubh, begin + (block >> 2)) & mask) == mask;
    case 1:
    - return (*ubh_get_addr (ubh, begin + (block >> 3)) == (0x01 << (block & 0x07)));
    + mask = 0x01 << (block & 0x07);
    + return (*ubh_get_addr (ubh, begin + (block >> 3)) & mask) == mask;
    }
    return 0;
    }

    \
     
     \ /
      Last update: 2017-06-12 20:56    [W:4.121 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site