- if((fhandle = open(tmpname, (client->server->flags & F_READONLY) ? O_RDONLY : O_RDWR)) == -1) {
- /* Read WRITE ACCESS was requested by media is only read only */
- client->server->flags |= F_AUTOREADONLY;
- client->server->flags |= F_READONLY;
- if((fhandle = open(tmpname, O_RDONLY)) == -1)
- err("Could not open exported file: %m");
+ fhandle = open(tmpname, mode);
+ if(fhandle == -1 && mode == O_RDWR) {
+ /* Try again because maybe media was read-only */
+ fhandle = open(tmpname, O_RDONLY);
+ if(fhandle != -1) {
+ client->server->flags |= F_AUTOREADONLY;
+ client->server->flags |= F_READONLY;
+ }