-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Files over 128k not of size (N * 128k) create a "file too large for filesystem" error when using rdma #595
Comments
Did some digging but I'm now in over my head: Error -EINVAL originates here:
Logging is my addition. Is where it errors, seems |
Thanks for your report! I will try to reproduce it. |
I tried to understand it a bit and this seems to work. I'm not completely sure it is correct but transfering a large sum of files with many different small filesizes seems to work now, it looks like the read descriptor being set to 128k is the issue: (update to match pr)
Tested with (all seems to do fine):
Result master branch: Result fix I made later (better place to do it): |
@consp Hm.. I can not reproduce it with windows 10 workstation. In my case, multichannel -> RDMA is changed in the middle of copying while a lot of data is being copied. It seems that Windows cannot transfer such small files with RDMA. How did you get RDMA to transfer even for small files? |
@consp I have added the patch for this issue? Can you review and verify it(namjaejeon@e255ebe) ? git clone https://github.com/namjaejeon/ksmbd --branch=rdma |
@consp ping ? |
Hi, I have the same issue. I can't clone your branch though, it says it doesn't exist. Did you delete it, or did you merge the fix into the master branch? |
I don't know if it's related but
I'm using Windows 10 and Linux 6.6.0 ksmbd module over RDMA (ConnectX-3) |
I've tried with the |
@nitroxis Can you check the below branch if problem is still happening ? git clone https://github.com/consp/ksmbd --branch=reduce-descriptor-length |
@nitroxis ping? |
Hi, sorry for the late response. I'm unable to compile that branch against kernel 6.6.0 due to various errors:
|
Nevermind, I merged with |
@nitroxis Can you give me wireshark dump(or tcpdump) on problem situation ? Acutally I didn't reproduce it with windows client before. Once, want to check packets that you will give on your reproduction environment. |
@nitroxis please give also me debug prints after enabling RDMA log(sudo ksmbd.control -d rdma). |
It has been a while since I used rdma since I switched to windows 11, trying to get it working again.
Issue
See title, files with offsets other than blocks of 128k will not transfer properly.
Setup
Version of kmod: git master
Version of tools: git master
kernel: 6.4.7-xanmod with patch for mellanox adapter to be recognised as rdma device
Changes from default: 8 rdma connection instead of 2
Adapter: mellanox ConnectX-4 EN 100gbit, winof2 on windows, inbox on linux
Client OS: Windows 11 for workstations
Server OS: Debian bookworm
Expected behaviour
Files copy normally
To reproduce
copy files from ksmbd location (linux, zfs) to local storage (windows, ntfs)
Result
Also tried from ext4 partition: same problem to avoid zfs being the issue.
Afterwards I created a 256k file since my testfile of 8gb copied fine:
Which worked. (not included in logs)
It look like there is some issue with non 128k sized files (offset issue?). The part which stands out:
Attached are the logs (
ksmbd.control -d all
), somewhat sanitizedAdditional notes:
Sometimes windows acts like it is transfering the file twice.
result.log
Note: verified it's actually RDMA, RSS works fine.
The text was updated successfully, but these errors were encountered: