Hi, I tried to format a partition using mkfs.ext4 (e2fsprogs) but it failed with an error.
$ /usr/sbin/mkfs.ext4 /dev/sde1 mke2fs 1.44.5 (15-Dec-2018) Creating filesystem with 16384 1k blocks and 4096 inodes Filesystem UUID: fb09cfbf-9f2a-4874-82f7-26c7cb853093 Superblock backups stored on blocks: 8193 Allocating group tables: done Writing inode tables: done Creating journal (1024 blocks): done Writing superblocks and filesystem accounting information: mkfs.ext4: Invalid argument while writing out and closing file system $ This also seems to happen with mkfs.minix (linux-utils). $ /sbin/mkfs.minix /dev/sde1 5472 inodes 16384 blocks Firstdatazone=176 (176) Zonesize=1024 Maxsize=268966912 mkfs.minix: write failed: Invalid argument $ I think it's because fsync is not implemented (causes InvalidArgument) for block devices. Why fsync is not implemented for block devices? /* test code */ #include <unistd.h> #include <fcntl.h> #include <errno.h> #include <stdio.h> #include <string.h> int main(int argc, char** argv) { int fd; if (argc != 2) { puts("./program [file]"); return -1; } fd = open(argv[1], O_RDWR); printf("open: %s\n", strerror(errno)); if (errno) return -1; fsync(fd); printf("fsync: %s\n", strerror(errno)); if (errno) return -1; } on Cygwin: $ ./a.exe /dev/sde open: No error fsync: Invalid argument $ ./a.exe /dev/sde1 open: No error fsync: Invalid argument $ uname -a CYGWIN_NT-10.0-22621 DESKTOP-5H6F7L3 3.4.5-1.x86_64 2023-01-19 19:09 UTC x86_64 Cygwin $ expected behaviour (on Arch Linux): $ sudo ./a.out /dev/sda $ sudo ./a.out /dev/sda open: Success fsync: Success $ sudo ./a.out /dev/sda1 open: Success fsync: Success $ uname -a Linux arch 6.0.11-arch1-1 #1 SMP PREEMPT_DYNAMIC Fri, 02 Dec 2022 17:25:31 +0000 x86_64 GNU/Linux $ Thanks, --- Rei Yano <yano...@hotmail.co.jp> -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple