Also changed to take fs_file instead of fs parameter.
void fs_set_error(struct fs *fs, const char *fmt, ...) ATTR_FORMAT(2, 3);
-void fs_set_error_async(struct fs *fs);
+void fs_file_set_error_async(struct fs_file *file);
ssize_t fs_read_via_stream(struct fs_file *file, void *buf, size_t size);
int fs_write_via_stream(struct fs_file *file, const void *data, size_t size);
ret = i_stream_read_bytes(file->pending_read_input, &data,
&data_size, size);
if (ret == 0) {
- fs_set_error_async(file->fs);
+ fs_file_set_error_async(file);
return -1;
}
if (ret < 0 && file->pending_read_input->stream_errno != 0) {
ret = fs_write_stream_finish_async(file);
}
if (ret == 0) {
- fs_set_error_async(file->fs);
+ fs_file_set_error_async(file);
file->write_pending = TRUE;
return -1;
}
break;
case OSTREAM_SEND_ISTREAM_RESULT_WAIT_INPUT:
case OSTREAM_SEND_ISTREAM_RESULT_WAIT_OUTPUT:
- fs_set_error_async(dest->fs);
+ fs_file_set_error_async(dest);
return -1;
case OSTREAM_SEND_ISTREAM_RESULT_ERROR_INPUT:
fs_write_stream_abort_error(dest, &dest->copy_output,
va_end(args);
}
-void fs_set_error_async(struct fs *fs)
+void fs_file_set_error_async(struct fs_file *file)
{
- fs_set_error(fs, "Asynchronous operation in progress");
+ fs_set_error(file->fs, "Asynchronous operation in progress");
errno = EAGAIN;
}
struct test_fs_file *file = (struct test_fs_file *)_file;
if (file->wait_async) {
- fs_set_error_async(_file->fs);
+ fs_file_set_error_async(_file);
return -1;
}
if (file->io_failure) {
o_stream_destroy(&_file->output);
if (file->wait_async) {
- fs_set_error_async(_file->fs);
+ fs_file_set_error_async(_file);
return 0;
}
if (file->io_failure)
struct test_fs_file *file = (struct test_fs_file *)_file;
if (file->wait_async) {
- fs_set_error_async(_file->fs);
+ fs_file_set_error_async(_file);
return -1;
}
if (file->io_failure) {
struct test_fs_file *file = (struct test_fs_file *)_file;
if (file->wait_async) {
- fs_set_error_async(_file->fs);
+ fs_file_set_error_async(_file);
return -1;
}
if (file->io_failure) {
dest->copy_src = test_fs_file_get(_src->fs, fs_file_path(_src));
src = dest->copy_src;
if (dest->wait_async) {
- fs_set_error_async(_dest->fs);
+ fs_file_set_error_async(_dest);
return -1;
}
dest->copy_src = NULL;
struct test_fs_file *dest = (struct test_fs_file *)_dest;
if (src->wait_async || dest->wait_async) {
- fs_set_error_async(_dest->fs);
+ fs_file_set_error_async(_dest);
return -1;
}
struct test_fs_file *file = (struct test_fs_file *)_file;
if (file->wait_async) {
- fs_set_error_async(_file->fs);
+ fs_file_set_error_async(_file);
return -1;
}