Block numbers are unsigned 32 bit values. So the largest s3backer "file" size is whatever s3backer block size you chose multiplied by 2^32.
The s3backer block size can be whatever fits in a u_int, which is usually 32 bits. So in theory that means the s3backer "file" itself should be able to go up to 2^64 bytes.
Of course a 4GB block size would probably be kind-of unwieldy... Practically speaking, an s3backer blocksize of
4MB (instead of 4GB) is feasible. That would result in a limit of 2^54
bytes = 16PB.
But you also need to check the limit of how large the "upper" filesystem can be. That depends on your filesystem choice of course.
-Archie