The warning -Wflex-array-member-not-at-end was introduced in GCC-14, and
we are getting ready to enable it, globally.
Fix the following warning:
  fs/btrfs/send.c:181:24: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end]
and move the declaration of send_ctx::cur_inode_path to the end.
Notice that struct fs_path contains a flexible array member inline_buf,
but also a padding array and a limit calculated for the usable space of
inline_buf (FS_PATH_INLINE_SIZE). It is not the pattern where flexible
array is in the middle of a structure and could potentially overwrite
other members.
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
        u64 cur_inode_rdev;
        u64 cur_inode_last_extent;
        u64 cur_inode_next_write_offset;
-       struct fs_path cur_inode_path;
        bool cur_inode_new;
        bool cur_inode_new_gen;
        bool cur_inode_deleted;
 
        struct btrfs_lru_cache dir_created_cache;
        struct btrfs_lru_cache dir_utimes_cache;
+
+       /* Must be last as it ends in a flexible-array member. */
+       struct fs_path cur_inode_path;
 };
 
 struct pending_dir_move {