Sok baja van az NTFS-nek, de mondjuk a legegyszerűbb, hogy UTF-16-ban tárolja fájlneveket. Emiatt C szinten két párhuzamos API kell a fájlművetelekhez: egyikben szimpla karakterekkel lehet megadni a fájlneveket, a másikban széles karakterekkel.
Miért, ha ext4-et vagy btrfs-t használsz UTF-8-cal akkor nem a wchar API-t használnod? Az a fájlrendszer magánügye, hogy milyen kódolást használ, ez az API szempontjából teljesen irreleváns. Azért van az fs driver, hogy ezeket a különbségeket elfedje.