• Qu Wenruo's avatar
    btrfs: change BTRFS_MOUNT_* flags to 64bit type · c3ece6b7
    Qu Wenruo authored
    Currently the BTRFS_MOUNT_* flags are already beyond 32 bits, this is
    going to cause compilation errors for some 32 bit systems, as their
    unsigned long is only 32 bits long, thus flag
    BTRFS_MOUNT_IGNORESUPERFLAGS overflows and can lead to errors.
    
    Fix the problem by:
    
    - Migrate all existing BTRFS_MOUNT_* flags to unsigned long long
    - Migrate all mount option related variables to unsigned long long
      * btrfs_fs_info::mount_opt
      * btrfs_fs_context::mount_opt
      * mount_opt parameter of btrfs_check_options()
      * old_opts parameter of btrfs_remount_begin()
      * old_opts parameter of btrfs_remount_cleanup()
      * mount_opt parameter of btrfs_check_mountopts_zoned()
      * mount_opt and opt parameters of check_ro_option()
    
    Fixes: 32e62165 ("btrfs: introduce new "rescue=ignoresuperflags" mount option")
    Signed-off-by: default avatarQu Wenruo <wqu@suse.com>
    Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
    Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
    c3ece6b7
zoned.h 11.3 KB