Re: [GIT PULL] ocfs2 changes for 2.6.32

Roland Dreier
2009-09-17T18:40:33Z

> int copy_file(const char *src, const char *dst)
> {
> /* Start a file copy */
> int cookie = copyfile(src, dst, 0);
>
> /* Async case? */
> if (cookie > 0) {
> int ret;
>
> while ((ret = copyfile_ctrl(cookie, COPYFILE_WAIT)) > 0)
> /* nothing */;
>
> /* Error handling is shared for async/sync */
> cookie = ret;
> }
> if (cookie < 0) {
> perror("copyfile failed");
> return -1;
> }

I guess one bit of semantics to figure out is what happens if copyfile()
does the async case but then copyfile_ctrl() returns an error halfway
through... is the state of the dest file just undefined?

- R.