Hi, I realize this isn't a btrfs specific problem but syncfs() returns no error even on complete fs failure. The problem is (I think) that the return value of sb->s_op->sync_fs is being ignored in fs/sync.c. I kind of assumed it would return an error if it fails to write the file system changes to disk.
For btrfs there is a work-around of using BTRFS_IOC_SYNC (which I am going to use now) but that is obviously less user friendly than syncfs(). Regards, Martin Raiber