--- /tmp/linux-2.6.32.14/fs/cifs/transport.c 2011-04-07 10:50:40.844188400 +0200 +++ linux-2.6.32.14/fs/cifs/transport.c 2011-04-07 10:52:22.092690465 +0200 @@ -277,9 +277,9 @@ n_vec - first_vec, total_len); if ((rc == -ENOSPC) || (rc == -EAGAIN)) { i++; - if (i >= 14) { + if (i >= 119) { cERROR(1, - ("sends on sock %p stuck for 15 seconds", + ("sends on sock %p stuck for 120 seconds", ssocket)); rc = -EAGAIN; break; @@ -553,11 +553,11 @@ goto out; if (long_op == CIFS_STD_OP) - timeout = 15 * HZ; + timeout = 120 * HZ; else if (long_op == CIFS_VLONG_OP) /* e.g. slow writes past EOF */ timeout = 180 * HZ; else if (long_op == CIFS_LONG_OP) - timeout = 45 * HZ; /* should be greater than + timeout = 120 * HZ; /* should be greater than servers oplock break timeout (about 43 seconds) */ else if (long_op == CIFS_ASYNC_OP) goto out; @@ -744,7 +744,7 @@ goto out; if (long_op == CIFS_STD_OP) - timeout = 15 * HZ; + timeout = 120 * HZ; /* wait for 15 seconds or until woken up due to response arriving or due to last connection to this server being unmounted */ else if (long_op == CIFS_ASYNC_OP) @@ -752,7 +752,7 @@ else if (long_op == CIFS_VLONG_OP) /* writes past EOF can be slow */ timeout = 180 * HZ; else if (long_op == CIFS_LONG_OP) - timeout = 45 * HZ; /* should be greater than + timeout = 120 * HZ; /* should be greater than servers oplock break timeout (about 43 seconds) */ else if (long_op == CIFS_BLOCKING_OP) timeout = 0x7FFFFFFF; /* large but no so large as to wrap */