create with umask == 0 is incorrect, it should be umask == 0777.