}
/* send mount request, and wait for mon, mds, and osd maps */
- while (!have_all_maps(client)) {
+ while (!have_all_maps(client) && !client->mount_err) {
err = -EIO;
if (timeout && time_after_eq(jiffies, started + timeout))
goto out;
err = wait_event_interruptible_timeout(client->mount_wq,
client->mount_err || have_all_maps(client),
request_interval);
- if (err == -EINTR)
+ if (err == -EINTR || err == -ERESTARTSYS)
goto out;
if (client->mount_err) {
err = client->mount_err;