summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/bin/stackcollapse-record
diff options
context:
space:
mode:
authorMaxim Patlasov <MPatlasov@parallels.com>2013-10-02 21:38:32 +0400
committerMiklos Szeredi <mszeredi@suse.cz>2013-11-05 10:11:27 +0100
commit6eaf4782eb09e28dbd13d23b9ce0fb7646daf37e (patch)
tree10416e984f694f35454238a2b7f1b8f72a214bdb /tools/perf/scripts/python/bin/stackcollapse-record
parentf6011081f5e290756bd90fe96f1e86d3eac76f77 (diff)
downloadkernel-6eaf4782eb09e28dbd13d23b9ce0fb7646daf37e.tar.gz
fuse: writepages: crop secondary requests
If writeback happens while fuse is in FUSE_NOWRITE condition, the request will be queued but not processed immediately (see fuse_flush_writepages()). Until FUSE_NOWRITE becomes relaxed, more writebacks can happen. They will be queued as "secondary" requests to that first ("primary") request. Existing implementation crops only primary request. This is not correct because a subsequent extending write(2) may increase i_size and then secondary requests won't be cropped properly. The result would be stale data written to the server to a file offset where zeros must be. Similar problem may happen if secondary requests are attached to an in-flight request that was already cropped. The patch solves the issue by cropping all secondary requests in fuse_writepage_end(). Thanks to Miklos for idea. Signed-off-by: Maxim Patlasov <MPatlasov@parallels.com> Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Diffstat (limited to 'tools/perf/scripts/python/bin/stackcollapse-record')
0 files changed, 0 insertions, 0 deletions
td>Christoph Hellwig 2020-06-02fs: convert mpage_readpages to mpage_readaheadMatthew Wilcox (Oracle) 2020-01-03dax: Pass dax_dev instead of bdev to dax_writeback_mapping_range()Vivek Goyal 2019-11-30Merge tag 'for_v5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jac...Linus Torvalds 2019-11-05ext2: check err when partial != NULLChengguang Xu 2019-10-21iomap: use a srcmap for a read-modify-write I/OGoldwyn Rodrigues 2019-06-19ext2: Always brelse bh on failure in ext2_iget()Jan Kara 2019-06-19ext2: add missing brelse() in ext2_iget()Chengguang Xu 2019-06-12ext2: Fix a typo in ext2_getattr argumentFumiya Shigemitsu 2019-03-26ext2: Adjust the comment of function ext2_alloc_branchShuning Zhang 2019-02-18ext2: support statx syscallyangerkun 2019-01-29ext2: Fix a typo in commentLiu Xiang 2019-01-28ext2: Annotate implicit fall through in __ext2_truncate_blocksMathieu Malaterre 2018-09-19ext2, dax: set ext2_dax_aops for dax filesToshi Kani 22-04-28 13:08:15 -0700'>2022-04-28net: SO_RCVMARK socket option for SO_MARK with recvmsg()Erin MacNeil 2022-04-12net: remove noblock parameter from recvmsg() entitiesOliver Hartkopp 2022-04-06net: remove noblock parameter from skb_recv_datagram()Oliver Hartkopp 2022-01-27Merge tag 'net-5.17-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/net...Linus Torvalds 2022-01-27ipv4: raw: lock the socket in raw_bind()Eric Dumazet 2022-01-22proc: remove PDE_DATA() completelyMuchun Song 2021-11-17ipv4/raw: support binding to nonlocal addressesRiccardo Paolo Bestetti 2021-11-16net: drop nopreempt requirement on sock_prot_inuse_add()Eric Dumazet