• Junxiao Bi's avatar
    ocfs2: fix value of OCFS2_INVALID_SLOT · 9277f833
    Junxiao Bi authored
    In the ocfs2 disk layout, slot number is 16 bits, but in ocfs2
    implementation, slot number is 32 bits.  Usually this will not cause any
    issue, because slot number is converted from u16 to u32, but
    OCFS2_INVALID_SLOT was defined as -1, when an invalid slot number from
    disk was obtained, its value was (u16)-1, and it was converted to u32.
    Then the following checking in get_local_system_inode will be always
    skipped:
    
     static struct inode **get_local_system_inode(struct ocfs2_super *osb,
                                                   int type,
                                                   u32 slot)
     {
     	BUG_ON(slot == OCFS2_INVALID_SLOT);
    	...
     }
    
    Link: http://lkml.kernel.org/r/20200616183829.87211-5-junxiao.bi@oracle.com
    
    Signed-off-by: default avatarJunxiao Bi <junxiao.bi@oracle.com>
    Reviewed-by: default avatarJoseph Qi <joseph.qi@linux.alibaba.com>
    Cc: Mark Fasheh <mark@fasheh.com>
    Cc: Joel Becker <jlbec@evilplan.org>
    Cc: Changwei Ge <gechangwei@live.cn>
    Cc: Gang He <ghe@suse.com>
    Cc: Jun Piao <...
    9277f833
ocfs2_fs.h 49.6 KB