commit - ca83f38a8f43554d8ad171144bc8bcc0ac22a3ac
commit + fa47663f7915ef6db546dc4223093aa1e48b902c
blob - fd334547694a1d879535173214ad641849337dbc
blob + a3a80bc2534eca7e88f084768b08d501d56b315c
--- unreliablefs_ops.c
+++ unreliablefs_ops.c
return ret;
}
- ret = pread(fi->fh, buf, size, offset);
+ int fd;
+
+ if (fi == NULL) {
+ fd = open(path, O_RDONLY);
+ } else {
+ fd = fi->fh;
+ }
+
+ if (fd == -1) {
+ return -errno;
+ }
+
+ ret = pread(fd, buf, size, offset);
if (ret == -1) {
ret = -errno;
+ }
+
+ if (fi == NULL) {
+ close(fd);
}
return ret;