Is fclose() or funmount() blocking or non-blocking?

Hello,

I use component File System 6.15.3 to write to a FAT32 eMMC from the microcontroller (STM32H7).

example sequence:


...
f=fopen("test.txt","w");
fwrite("testtesttest",1,12,f);
fflush(f);
fclose(f);
funmount("M0:");
Powerdown();

Is it save to shut down the system directly after fclose (or funmount())? Or can this potentially damage the file system because some data are still not completely written?

If  fclose()  / funmount() is a non-blocking function,  how do I know that all data is really written onto the memory card?

Maybe it is required to check the status from the MCI driver?