From: David Howells <dhowells@redhat.com>
To: smfrench@gmail.com
Cc: dhowells@redhat.com, Shyam Prasad N <nspmangalore@gmail.com>,
jlayton@kernel.org, linux-cifs@vger.kernel.org
Subject: cifs fallocate doesn't flush writes?
Date: Thu, 13 Jan 2022 13:18:40 +0000 [thread overview]
Message-ID: <1828480.1642079920@warthog.procyon.org.uk> (raw)
Hi Steve,
Should cifs fallocate be flushing writes before doing the falloc?
If I do the following:
mount //carina/test /xfstest.test -o user=shares,pass=foobar,noperm,vers=3.0,mfsymlinks,actimeo=0
/usr/sbin/xfs_io -f -t \
-c "pwrite -S 0x41 0 4096"
-c "pwrite -S 0x42 4096 4096"
-c "fzero 0 4096" \
-c "pread 0 8192" \
/xfstest.test/008.7067
The packet trace shows:
25 0.289099336 192.168.6.2 -> 192.168.6.1 SMB2 414 Create Request File: ;GetInfo Request FS_INFO/FileFsFullSizeInformation;Close Request
26 0.292164924 192.168.6.1 -> 192.168.6.2 SMB2 510 Create Response File: ;GetInfo Response;Close Response
27 0.292444124 192.168.6.2 -> 192.168.6.1 SMB2 174 GetInfo Request FILE_INFO/SMB2_FILE_ALL_INFO File: 008.7067
28 0.292716736 192.168.6.1 -> 192.168.6.2 SMB2 260 GetInfo Response
29 0.293018017 192.168.6.2 -> 192.168.6.1 SMB2 414 Create Request File: ;GetInfo Request FS_INFO/FileFsFullSizeInformation;Close Request
30 0.295730538 192.168.6.1 -> 192.168.6.2 SMB2 510 Create Response File: ;GetInfo Response;Close Response
31 0.321638749 192.168.6.2 -> 192.168.6.1 SMB2 206 Ioctl Request FSCTL_SET_ZERO_DATA File: 008.7067
32 0.321862497 192.168.6.1 -> 192.168.6.2 SMB2 182 Ioctl Response FSCTL_SET_ZERO_DATA File: 008.7067
33 0.334313914 192.168.6.2 -> 192.168.6.1 SMB2 183 Read Request Len:4096 Off:0 File: 008.7067
34 0.334772295 192.168.6.1 -> 192.168.6.2 SMB2 143 Read Response, Error: STATUS_END_OF_FILE
35 0.357622873 192.168.6.2 -> 192.168.6.1 SMB2 183 Read Request Len:4096 Off:0 File: 008.7067
36 0.358040997 192.168.6.1 -> 192.168.6.2 SMB2 143 Read Response, Error: STATUS_END_OF_FILE
38 0.373614076 192.168.6.2 -> 192.168.6.1 SMB2 1382 Write Request Len:4096 Off:4096 File: 008.7067
40 0.374142468 192.168.6.1 -> 192.168.6.2 SMB2 150 Write Response
41 0.374485805 192.168.6.2 -> 192.168.6.1 SMB2 158 Close Request File: 008.7067
42 0.375222020 192.168.6.1 -> 192.168.6.2 SMB2 194 Close Response
The first page read (which overlaps with the writes and fzero) returns an EOF
error. Shouldn't the FSCTL_SET_ZERO_DATA have extended the file to 4096?
Also, I wonder what happened to the pagecache: the second read shouldn't have
happened because fallocate() shouldn't have touched that page.
Also, the writeback happens last - I wonder if fallocate should flush. Not
that it should be necessary if it's just modifying pages already in the
pagecache.
David
next reply other threads:[~2022-01-13 13:18 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-13 13:18 David Howells [this message]
2022-01-13 15:20 ` Incorrect fallocate behaviour in cifs or samba? David Howells
2022-01-13 17:43 ` Jeremy Allison
2022-01-13 18:16 ` David Disseldorp
2022-01-13 18:22 ` Jeremy Allison
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=1828480.1642079920@warthog.procyon.org.uk \
--to=dhowells@redhat.com \
--cc=jlayton@kernel.org \
--cc=linux-cifs@vger.kernel.org \
--cc=nspmangalore@gmail.com \
--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