This output suggests `28786688` inodes overall before the filesystem on `/dev/sda2` returns `ENOSPC` ("No space left on device") .
On most *nix filesystems, the maximum number of inodes is set at filesystem creation time. Dedicated space is allocated for them. You can run out of inodes before you run out of space for data, or vice versa. For information about inode sizes on ext4, look at the manpage for mkfs.ext4.
On `btrfs`, space is allocated dynamically. "The inode structure is relatively small, and will not contain embedded file data or extended attribute data." (ext3/4 [allocates some space inside inodes for extended attributes](https://unix.stackexchange.com/questions/11622/how-are-extended-attributes-stored-and-preserved)). Of course you can still run out of disk space by creating too much metadata / directory entries, it's just that you can't run out of inodes.