Temporary table is full
When an InnoDB table is full, it has nothing to do with the OS Diskspace.
InnoDB views a table as being full in terms of the storage engine itself.
There are two circumstances under which this can happen
innodb_file_per_table off
I once had a client that had 2TB ibdata1/ibdata2. The client was unable to write any more transactions although ibdata file had 106GB of fragmentation. The solution was to give it more space.
innodb_file_per_table on
When InnoDB tables are stored .ibd files, the table can become full when the undo log gets full
See my old posts going back 10 years on this topic

Feb 22, 2018 : The table is full - MariaDB
Jun 16, 2014 : MySQL Index creation failing on table is full
Mar 31, 2014 : mysql directory grow to 246G after one query, which failed due to table is full
May 31, 2013 : `ERROR 1114 (HY000) the table ... is full` with innodb_file_per_table set to autoextend
Nov 26, 2011 : ERROR 1114 (HY000) at line 6308 in file &amp; The table user_analysis is full

IMHO this should fully explain a full InnoDB table