[DCP] Call os.sync if os.fsync does not work for fsspec (#119287)
Some fsspec storage may not support fileno(). In such a case, we fall back to os.sync()
If may not be necessary to call `os.sync()` as in such a case, the storage may be a remote storage that requires a special sync API call.
Differential Revision: [D53433425](https://our.internmc.facebook.com/intern/diff/D53433425/)
Pull Request resolved: https://github.com/pytorch/pytorch/pull/119287
Approved by: https://github.com/wz337, https://github.com/LucasLLC
ghstack dependencies: #118888