- tmpname=g_strdup(client->exportname);
- }
- DEBUG( "Opening %s\n", tmpname );
- fi.fhandle = open(tmpname, mode);
- if(fi.fhandle == -1 && mode == O_RDWR) {
- /* Try again because maybe media was read-only */
- fi.fhandle = open(tmpname, O_RDONLY);
- if(fi.fhandle != -1) {
- /* Opening the base file in copyonwrite mode is
- * okay */
- if(!(client->server->flags & F_COPYONWRITE)) {
- client->server->flags |= F_AUTOREADONLY;
- client->server->flags |= F_READONLY;
+ if(multifile) {
+ tmpname=g_strdup_printf("%s.%d", client->exportname, i);
+ } else {
+ tmpname=g_strdup(client->exportname);
+ }
+ DEBUG( "Opening %s\n", tmpname );
+ fi.fhandle = open(tmpname, mode, 0x600);
+ if(fi.fhandle == -1 && mode == O_RDWR) {
+ /* Try again because maybe media was read-only */
+ fi.fhandle = open(tmpname, O_RDONLY);
+ if(fi.fhandle != -1) {
+ /* Opening the base file in copyonwrite mode is
+ * okay */
+ if(!(client->server->flags & F_COPYONWRITE)) {
+ client->server->flags |= F_AUTOREADONLY;
+ client->server->flags |= F_READONLY;
+ }