Linux network filesystem support library
 help / color / mirror / Atom feed
From: Nicolas Baranger <nicolas.baranger@3xo.fr>
To: hch@lst.de, Christoph Hellwig <hch@infradead.org>,
	David Howells <dhowells@redhat.com>,
	netfs@lists.linux.dev, linux-cifs@vger.kernel.org,
	linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Steve French <smfrench@gmail.com>,
	Jeff Layton <jlayton@kernel.org>,
	Christian Brauner <brauner@kernel.org>
Subject: [netfs/cifs - Linux 6.14] loop on file cat + file copy when files are on CIFS share
Date: Thu, 27 Mar 2025 12:15:07 +0100	[thread overview]
Message-ID: <35940e6c0ed86fd94468e175061faeac@3xo.fr> (raw)
In-Reply-To: <10bec2430ed4df68bde10ed95295d093@3xo.fr>

Dear maintener

I get no answer from linux-cifs and netfs list so I'm sending this new 
mail
Today I've just download and build mainline kernel: Linux 6.14.0 (no 
-rc)

I still constat the bug describe in my previous mail.
What can I do to be able to use CIFS share ?

Thanks for help,

Kind regard
Nicolas Baranger

Le 2025-03-24 11:40, Nicolas Baranger a écrit :

> Hi Christoph, David
> 
> Sorry my last mail didn't arrive at the top of the list so I resend it 
> with a new title
> 
> I don't know if it had already been reported but after building Linux 
> 6.14-rc1 I constat the following behaviour:
> 
> 'cat' command is going on a loop when I cat a file which reside on cifs 
> share
> 
> And so 'cp' command does the same: it copy the content of a file on 
> cifs share and loop writing it to the destination
> I did test with a file named 'toto' and containing only ascii string 
> 'toto'.
> 
> When I started copying it from cifs share to local filesystem, I had to 
> CTRL+C the copy of this 5 bytes file after some time because the 
> destination file was using all the filesystem free space and containing 
> billions of 'toto' lines
> 
> Here is an example with cat:
> 
> CIFS SHARE is mounted as /mnt/fbx/FBX-24T
> 
> CIFS mount options:
> grep cifs /proc/mounts
> //10.0.10.100/FBX24T /mnt/fbx/FBX-24T cifs 
> rw,nosuid,nodev,noexec,relatime,vers=3.1.1,cache=none,upcall_target=app,username=fbx,domain=HOMELAN,uid=0,noforceuid,gid=0,noforcegid,addr=10.0.10.100,file_mode=0666,dir_mode=0755,iocharset=utf8,soft,nounix,serverino,mapposix,mfsymlinks,reparse=nfs,nativesocket,symlink=mfsymlinks,rsize=65536,wsize=65536,bsize=16777216,retrans=1,echo_interval=60,actimeo=1,closetimeo=1 
> 0 0
> 
> KERNEL: uname -a
> Linux 14RV-SERVER.14rv.lan 6.14.0.1-ast-rc2-amd64 #0 SMP 
> PREEMPT_DYNAMIC Wed Feb 12 18:23:00 CET 2025 x86_64 GNU/Linux
> 
> To be reproduced:
> echo toto >/mnt/fbx/FBX-24T/toto
> 
> ls -l /mnt/fbx/FBX-24T/toto
> -rw-rw-rw- 1 root root 5 20 mars  09:20 /mnt/fbx/FBX-24T/toto
> 
> cat /mnt/fbx/FBX-24T/toto
> toto
> toto
> toto
> toto
> toto
> toto
> toto
> ^C
> 
> strace cat /mnt/fbx/FBX-24T/toto
> execve("/usr/bin/cat", ["cat", "/mnt/fbx/FBX-24T/toto"], 0x7ffc39b41848 
> /* 19 vars */) = 0
> brk(NULL)                               = 0x55755b1c1000
> mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 
> 0) = 0x7f55f95d6000
> access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (Aucun fichier ou 
> dossier de ce type)
> openat(AT_FDCWD, "glibc-hwcaps/x86-64-v3/libc.so.6", 
> O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
> openat(AT_FDCWD, "glibc-hwcaps/x86-64-v2/libc.so.6", 
> O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
> openat(AT_FDCWD, "tls/haswell/x86_64/libc.so.6", O_RDONLY|O_CLOEXEC) = 
> -1 ENOENT (Aucun fichier ou dossier de ce type)
> openat(AT_FDCWD, "tls/haswell/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 
> ENOENT (Aucun fichier ou dossier de ce type)
> openat(AT_FDCWD, "tls/x86_64/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 
> ENOENT (Aucun fichier ou dossier de ce type)
> openat(AT_FDCWD, "tls/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT 
> (Aucun fichier ou dossier de ce type)
> openat(AT_FDCWD, "haswell/x86_64/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 
> ENOENT (Aucun fichier ou dossier de ce type)
> openat(AT_FDCWD, "haswell/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT 
> (Aucun fichier ou dossier de ce type)
> openat(AT_FDCWD, "x86_64/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT 
> (Aucun fichier ou dossier de ce type)
> openat(AT_FDCWD, "libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun 
> fichier ou dossier de ce type)
> openat(AT_FDCWD, 
> "/usr/local/cuda-12.6/lib64/glibc-hwcaps/x86-64-v3/libc.so.6", 
> O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
> newfstatat(AT_FDCWD, 
> "/usr/local/cuda-12.6/lib64/glibc-hwcaps/x86-64-v3", 0x7fff25937800, 0) 
> = -1 ENOENT (Aucun fichier ou dossier de ce type)
> openat(AT_FDCWD, 
> "/usr/local/cuda-12.6/lib64/glibc-hwcaps/x86-64-v2/libc.so.6", 
> O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
> newfstatat(AT_FDCWD, 
> "/usr/local/cuda-12.6/lib64/glibc-hwcaps/x86-64-v2", 0x7fff25937800, 0) 
> = -1 ENOENT (Aucun fichier ou dossier de ce type)
> openat(AT_FDCWD, 
> "/usr/local/cuda-12.6/lib64/tls/haswell/x86_64/libc.so.6", 
> O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
> newfstatat(AT_FDCWD, "/usr/local/cuda-12.6/lib64/tls/haswell/x86_64", 
> 0x7fff25937800, 0) = -1 ENOENT (Aucun fichier ou dossier de ce type)
> openat(AT_FDCWD, "/usr/local/cuda-12.6/lib64/tls/haswell/libc.so.6", 
> O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
> newfstatat(AT_FDCWD, "/usr/local/cuda-12.6/lib64/tls/haswell", 
> 0x7fff25937800, 0) = -1 ENOENT (Aucun fichier ou dossier de ce type)
> openat(AT_FDCWD, "/usr/local/cuda-12.6/lib64/tls/x86_64/libc.so.6", 
> O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
> newfstatat(AT_FDCWD, "/usr/local/cuda-12.6/lib64/tls/x86_64", 
> 0x7fff25937800, 0) = -1 ENOENT (Aucun fichier ou dossier de ce type)
> openat(AT_FDCWD, "/usr/local/cuda-12.6/lib64/tls/libc.so.6", 
> O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
> newfstatat(AT_FDCWD, "/usr/local/cuda-12.6/lib64/tls", 0x7fff25937800, 
> 0) = -1 ENOENT (Aucun fichier ou dossier de ce type)
> openat(AT_FDCWD, "/usr/local/cuda-12.6/lib64/haswell/x86_64/libc.so.6", 
> O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
> newfstatat(AT_FDCWD, "/usr/local/cuda-12.6/lib64/haswell/x86_64", 
> 0x7fff25937800, 0) = -1 ENOENT (Aucun fichier ou dossier de ce type)
> openat(AT_FDCWD, "/usr/local/cuda-12.6/lib64/haswell/libc.so.6", 
> O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
> newfstatat(AT_FDCWD, "/usr/local/cuda-12.6/lib64/haswell", 
> 0x7fff25937800, 0) = -1 ENOENT (Aucun fichier ou dossier de ce type)
> openat(AT_FDCWD, "/usr/local/cuda-12.6/lib64/x86_64/libc.so.6", 
> O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
> newfstatat(AT_FDCWD, "/usr/local/cuda-12.6/lib64/x86_64", 
> 0x7fff25937800, 0) = -1 ENOENT (Aucun fichier ou dossier de ce type)
> openat(AT_FDCWD, "/usr/local/cuda-12.6/lib64/libc.so.6", 
> O_RDONLY|O_CLOEXEC) = -1 ENOENT (Aucun fichier ou dossier de ce type)
> newfstatat(AT_FDCWD, "/usr/local/cuda-12.6/lib64", 
> {st_mode=S_IFDIR|S_ISGID|0755, st_size=4570, ...}, 0) = 0
> openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
> newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=148466, ...}, 
> AT_EMPTY_PATH) = 0
> mmap(NULL, 148466, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f55f95b1000
> close(3)                                = 0
> openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) 
> = 3
> read(3, 
> "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20t\2\0\0\0\0\0"..., 
> 832) = 832
> pread64(3, 
> "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 
> 784, 64) = 784
> newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=1922136, ...}, 
> AT_EMPTY_PATH) = 0
> pread64(3, 
> "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 
> 784, 64) = 784
> mmap(NULL, 1970000, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
> 0x7f55f93d0000
> mmap(0x7f55f93f6000, 1396736, PROT_READ|PROT_EXEC, 
> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x26000) = 0x7f55f93f6000
> mmap(0x7f55f954b000, 339968, PROT_READ, 
> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17b000) = 0x7f55f954b000
> mmap(0x7f55f959e000, 24576, PROT_READ|PROT_WRITE, 
> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1ce000) = 0x7f55f959e000
> mmap(0x7f55f95a4000, 53072, PROT_READ|PROT_WRITE, 
> MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f55f95a4000
> close(3)                                = 0
> mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 
> 0) = 0x7f55f93cd000
> arch_prctl(ARCH_SET_FS, 0x7f55f93cd740) = 0
> set_tid_address(0x7f55f93cda10)         = 38427
> set_robust_list(0x7f55f93cda20, 24)     = 0
> rseq(0x7f55f93ce060, 0x20, 0, 0x53053053) = 0
> mprotect(0x7f55f959e000, 16384, PROT_READ) = 0
> mprotect(0x55754475e000, 4096, PROT_READ) = 0
> mprotect(0x7f55f960e000, 8192, PROT_READ) = 0
> prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, 
> rlim_max=RLIM64_INFINITY}) = 0
> munmap(0x7f55f95b1000, 148466)          = 0
> getrandom("\x19\x6b\x9e\x55\x7e\x09\x74\x5f", 8, GRND_NONBLOCK) = 8
> brk(NULL)                               = 0x55755b1c1000
> brk(0x55755b1e2000)                     = 0x55755b1e2000
> openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) 
> = 3
> newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=3048928, ...}, 
> AT_EMPTY_PATH) = 0
> mmap(NULL, 3048928, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f55f9000000
> close(3)                                = 0
> newfstatat(1, "", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0), 
> ...}, AT_EMPTY_PATH) = 0
> openat(AT_FDCWD, "/mnt/fbx/FBX-24T/toto", O_RDONLY) = 3
> newfstatat(3, "", {st_mode=S_IFREG|0666, st_size=5, ...}, 
> AT_EMPTY_PATH) = 0
> fadvise64(3, 0, 0, POSIX_FADV_SEQUENTIAL) = 0
> mmap(NULL, 16785408, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 
> -1, 0) = 0x7f55f7ffe000
> read(3, 
> "toto\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 
> 16777216) = 16711680
> write(1, 
> "toto\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 
> 16711680toto
> ) = 16711680
> read(3, 
> "toto\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 
> 16777216) = 16711680
> write(1, 
> "toto\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 
> 16711680toto
> ) = 16711680
> read(3, 
> "toto\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 
> 16777216) = 16711680
> write(1, 
> "toto\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 
> 16711680toto
> ) = 16711680
> read(3, 
> "toto\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 
> 16777216) = 16711680
> write(1, 
> "toto\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 
> 16711680toto
> ) = 16711680
> read(3, 
> "toto\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 
> 16777216) = 16711680
> write(1, 
> "toto\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 
> 16711680toto
> ) = 16711680
> read(3, 
> "toto\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 
> 16777216) = 16711680
> write(1, 
> "toto\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 
> 16711680toto
> ) = 16711680
> read(3, 
> "toto\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 
> 16777216) = 16711680
> write(1, 
> "toto\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 
> 16711680toto
> ^Cstrace: Process 38427 detached
> <detached ...>
> 
> Please let me know if it had already been fixed or reported and if 
> you're able to reproduce this issue.
> 
> Thanks for help
> 
> Kind regards
> Nicolas Baranger

  reply	other threads:[~2025-03-27 11:15 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-24 10:40 [netfs/cifs - Linux 6.14] loop on file cat + file copy when files are on CIFS share Nicolas Baranger
2025-03-27 11:15 ` Nicolas Baranger [this message]
2025-03-28 10:45   ` Christoph Hellwig
2025-04-04  8:50     ` Nicolas Baranger
2025-04-04 13:54       ` Paulo Alcantara
2025-04-10  8:43         ` Nicolas Baranger
2025-04-15 18:28           ` Paulo Alcantara
2025-04-17 10:10             ` Nicolas Baranger
2025-04-21 23:45               ` Paulo Alcantara
2025-04-23 16:28                 ` Nicolas Baranger
2025-04-24  7:40                   ` Nicolas Baranger
2025-04-24  8:39                     ` Nicolas Baranger
2025-04-24 14:25                       ` Paulo Alcantara
2025-05-06 22:53                         ` Paulo Alcantara
2025-05-07 15:58                           ` Nicolas Baranger
2025-04-24 13:58                     ` Steve French

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=35940e6c0ed86fd94468e175061faeac@3xo.fr \
    --to=nicolas.baranger@3xo.fr \
    --cc=brauner@kernel.org \
    --cc=dhowells@redhat.com \
    --cc=hch@infradead.org \
    --cc=hch@lst.de \
    --cc=jlayton@kernel.org \
    --cc=linux-cifs@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netfs@lists.linux.dev \
    --cc=smfrench@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox