• Carlos Maiolino's avatar
    ext4: ensure Inode flags consistency are checked at build time · 9a4c8019
    Carlos Maiolino authored
    
    Flags being used by atomic operations in inode flags (e.g.
    ext4_test_inode_flag(), should be consistent with that actually stored
    in inodes, i.e.: EXT4_XXX_FL.
    
    It ensures that this consistency is checked at build-time, not at
    run-time.
    
    Currently, the flags consistency are being checked at run-time, but,
    there is no real reason to not do a build-time check instead of a
    run-time check. The code is comparing macro defined values with enum
    type variables, where both are constants, so, there is no problem in
    comparing constants at build-time.
    
    enum variables are treated as constants by the C compiler, according
    to the C99 specs (see www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf 
    sec. 6.2.5, item 16), so, there is no real problem in comparing an
    enumeration type at build time
    Signed-off-by: default avatarCarlos Maiolino <cmaiolino@redhat.com>
    Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
    9a4c8019
ext4.h 91.3 KB