In 6.8.6 (the oldest version I have lying around) a brand-new empty shard is ~8 files totalling less than 1kB in size:
$ ls -al $(find elasticsearch-6.8.6/data-0/nodes/0/indices/Rpo6dMXwQ9a6XIsc5mdnkg/0 -type f)
-rw-r--r-- 1 davidturner staff 72 7 Dec 17:07 elasticsearch-6.8.6/data-0/nodes/0/indices/Rpo6dMXwQ9a6XIsc5mdnkg/0/_state/retention-leases-0.st
-rw-r--r-- 1 davidturner staff 125 7 Dec 17:07 elasticsearch-6.8.6/data-0/nodes/0/indices/Rpo6dMXwQ9a6XIsc5mdnkg/0/_state/state-0.st
-rw-r--r-- 1 davidturner staff 230 7 Dec 17:07 elasticsearch-6.8.6/data-0/nodes/0/indices/Rpo6dMXwQ9a6XIsc5mdnkg/0/index/segments_2
-rw-r--r-- 1 davidturner staff 0 7 Dec 17:07 elasticsearch-6.8.6/data-0/nodes/0/indices/Rpo6dMXwQ9a6XIsc5mdnkg/0/index/write.lock
-rw-r--r-- 1 davidturner staff 88 7 Dec 17:07 elasticsearch-6.8.6/data-0/nodes/0/indices/Rpo6dMXwQ9a6XIsc5mdnkg/0/translog/translog-1.ckp
-rw-r--r-- 1 davidturner staff 55 7 Dec 17:07 elasticsearch-6.8.6/data-0/nodes/0/indices/Rpo6dMXwQ9a6XIsc5mdnkg/0/translog/translog-1.tlog
-rw-r--r-- 1 davidturner staff 55 7 Dec 17:07 elasticsearch-6.8.6/data-0/nodes/0/indices/Rpo6dMXwQ9a6XIsc5mdnkg/0/translog/translog-2.tlog
-rw-r--r-- 1 davidturner staff 88 7 Dec 17:07 elasticsearch-6.8.6/data-0/nodes/0/indices/Rpo6dMXwQ9a6XIsc5mdnkg/0/translog/translog.ckp
There's something very very wrong if your storage takes days to put these on disk. It really doesn't make sense to break down the creation of these files and report on progress towards creating them.