getting CIFS timeout issue while reading bigFile > 100GB
Posted: 01 Feb 2015 14:29
Hi,
We have FUSE based FS on my Linux server and we will be accessing it from a Windows CIFS mount. When FUSE gets a read request from CIFS, the actual files needs to be retrieved from a cloud based storage service. Since the files are typically very large (>1GB), it will take lot of time to retrieve the file from the cloud service.
Looks like this is causing time-outs on the CIFS side when the FUSE layer takes more than 5 Minutes (approx). While I am able to retrieve it successfully from local Linux server.
This is what I found from the SAMBA logs:
------------------------
[2015/02/01 17:57:17.872286, 5] lib/util_sock.c:319(read_fd_with_timeout)
read_fd_with_timeout: blocking read. EOF from client.
[2015/02/01 17:57:17.872341, 5] smbd/process.c:457(receive_smb_talloc)
receive_smb_raw_talloc failed for client 160.110.235.46 read error = NT_STATUS_END_OF_FILE.
[2015/02/01 17:57:17.872403, 1] smbd/process.c:2671(smbd_echo_reader)
echo_handler[8823]: receive_smb_raw_talloc failed: NT_STATUS_END_OF_FILE
-----------------------
[2015/02/01 17:56:47.444702, 3] smbd/error.c:81(error_packet_set)
error packet at smbd/error.c(161) cmd=162 (SMBntcreateX) NT_STATUS_ACCESS_DENIED
[2015/02/01 17:56:47.470568, 3] smbd/error.c:81(error_packet_set)
error packet at smbd/reply.c(339) cmd=50 (SMBtrans2) NT_STATUS_INVALID_HANDLE
[2015/02/01 17:56:48.079173, 3] smbd/error.c:81(error_packet_set)
error packet at smbd/error.c(161) cmd=162 (SMBntcreateX) NT_STATUS_OBJECT_NAME_NOT_FOUND
[2015/02/01 17:56:48.496309, 3] smbd/error.c:81(error_packet_set)
error packet at smbd/error.c(161) cmd=162 (SMBntcreateX) NT_STATUS_OBJECT_NAME_NOT_FOUND
getpeername failed. Error was Transport endpoint is not connected
pid[8822] Error writing 32831 bytes to client 0.0.0.0. -1. (Connection reset by peer)
getpeername failed. Error was Transport endpoint is not connected
pid[8822] Error writing 53 bytes to client 0.0.0.0. -1. (Broken pipe)
receive_smb_raw_talloc failed for client 160.110.235.46 read error = NT_STATUS_END_OF_FILE.
getpeername failed. Error was Transport endpoint is not connected
pid[8822] Error writing 75 bytes to client 0.0.0.0. -1. (Broken pipe)
receive_smb_raw_talloc failed for client 160.110.235.46 read error = NT_STATUS_END_OF_FILE.
This is very critical for us as we can potentially have files that can go up to 100 GB. Please let us know how we can increase the CIFS idle time or increase the timeout or avoid it completely.
Thanks!
./Deepak Dikshit
We have FUSE based FS on my Linux server and we will be accessing it from a Windows CIFS mount. When FUSE gets a read request from CIFS, the actual files needs to be retrieved from a cloud based storage service. Since the files are typically very large (>1GB), it will take lot of time to retrieve the file from the cloud service.
Looks like this is causing time-outs on the CIFS side when the FUSE layer takes more than 5 Minutes (approx). While I am able to retrieve it successfully from local Linux server.
This is what I found from the SAMBA logs:
------------------------
[2015/02/01 17:57:17.872286, 5] lib/util_sock.c:319(read_fd_with_timeout)
read_fd_with_timeout: blocking read. EOF from client.
[2015/02/01 17:57:17.872341, 5] smbd/process.c:457(receive_smb_talloc)
receive_smb_raw_talloc failed for client 160.110.235.46 read error = NT_STATUS_END_OF_FILE.
[2015/02/01 17:57:17.872403, 1] smbd/process.c:2671(smbd_echo_reader)
echo_handler[8823]: receive_smb_raw_talloc failed: NT_STATUS_END_OF_FILE
-----------------------
[2015/02/01 17:56:47.444702, 3] smbd/error.c:81(error_packet_set)
error packet at smbd/error.c(161) cmd=162 (SMBntcreateX) NT_STATUS_ACCESS_DENIED
[2015/02/01 17:56:47.470568, 3] smbd/error.c:81(error_packet_set)
error packet at smbd/reply.c(339) cmd=50 (SMBtrans2) NT_STATUS_INVALID_HANDLE
[2015/02/01 17:56:48.079173, 3] smbd/error.c:81(error_packet_set)
error packet at smbd/error.c(161) cmd=162 (SMBntcreateX) NT_STATUS_OBJECT_NAME_NOT_FOUND
[2015/02/01 17:56:48.496309, 3] smbd/error.c:81(error_packet_set)
error packet at smbd/error.c(161) cmd=162 (SMBntcreateX) NT_STATUS_OBJECT_NAME_NOT_FOUND
getpeername failed. Error was Transport endpoint is not connected
pid[8822] Error writing 32831 bytes to client 0.0.0.0. -1. (Connection reset by peer)
getpeername failed. Error was Transport endpoint is not connected
pid[8822] Error writing 53 bytes to client 0.0.0.0. -1. (Broken pipe)
receive_smb_raw_talloc failed for client 160.110.235.46 read error = NT_STATUS_END_OF_FILE.
getpeername failed. Error was Transport endpoint is not connected
pid[8822] Error writing 75 bytes to client 0.0.0.0. -1. (Broken pipe)
receive_smb_raw_talloc failed for client 160.110.235.46 read error = NT_STATUS_END_OF_FILE.
This is very critical for us as we can potentially have files that can go up to 100 GB. Please let us know how we can increase the CIFS idle time or increase the timeout or avoid it completely.
Thanks!
./Deepak Dikshit