Displaying 4 results from an estimated 4 matches for "unix_io".
Did you mean:
nix_io
2015 Nov 07
3
Re: mkfs.ext2 succeeds despite nbd write errors?
...~#
I did manage to find two calls to fsync in the e2fsprogs source which
are not return-value-checked:
https://github.com/tytso/e2fsprogs/blob/956b0f18a5ddb6815a9dff4f10a1e3125cdca9ba/misc/filefrag.c#L303
https://github.com/tytso/e2fsprogs/blob/956b0f18a5ddb6815a9dff4f10a1e3125cdca9ba/lib/ext2fs/unix_io.c#L915
I'll see about submitting a patch there.
I'm not sure where to start with hunting down why mkfs's pwrite()
calls aren't failing. I'd look to the kernel source for that?
-jason
2015 Nov 07
0
Re: mkfs.ext2 succeeds despite nbd write errors?
...find two calls to fsync in the e2fsprogs source which
> are not return-value-checked:
>
> https://github.com/tytso/e2fsprogs/blob/956b0f18a5ddb6815a9dff4f10a1e3125cdca9ba/misc/filefrag.c#L303
> https://github.com/tytso/e2fsprogs/blob/956b0f18a5ddb6815a9dff4f10a1e3125cdca9ba/lib/ext2fs/unix_io.c#L915
That second one looks very suspicious to me. I don't think that it's
ever right for mke2fs to ignore the return value from an fsync call,
so assuming mke2fs calls that function it's surely a bug.
> I'll see about submitting a patch there.
>
> I'm not sure whe...
2015 Nov 07
2
mkfs.ext2 succeeds despite nbd write errors?
Hi,
So I've been hacking together an nbdkit plugin (similar to the "file"
plugin, but it splits the file up into chunks):
https://github.com/pepaslabs/nbdkit-chunks-plugin
I got it to the point of being a working prototype. Then I threw it
onto a raspberry pi, which it turns out only has a 50/50 shot of
fallocate() working correctly.
I'm checking the return code of
2020 Feb 12
4
[nbdkit PATCH 0/3] Make ext2 a filter
...EXT2_FLAG_64BITS;
#endif
+ r = next_ops->get_size (nxdata);
+ if (r == -1)
+ return -1;
+ r = next_ops->can_write (nxdata);
+ if (r == -1)
+ return -1;
+ if (r == 0)
+ readonly = 1;
+
if (!readonly)
fs_flags |= EXT2_FLAG_RW;
- err = ext2fs_open (disk, fs_flags, 0, 0, unix_io_manager, &h->fs);
+ h->next.next_ops = next_ops;
+ h->next.nxdata = nxdata;
+ name = nbdkit_io_encode (&h->next);
+ if (!name) {
+ nbdkit_error ("nbdkit_io_encode: %m");
+ return -1;
+ }
+
+ err = ext2fs_open (name, fs_flags, 0, 0, nbdkit_io_manager, &h...