Patch "afs: Flush outstanding writes when an fd is closed" has been added to the 4.9-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
afs: Flush outstanding writes when an fd is closed
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
afs-flush-outstanding-writes-when-an-fd-is-closed.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Mon Dec 18 14:12:34 CET 2017
From: David Howells <[email protected]>
Date: Thu, 16 Mar 2017 16:27:45 +0000
Subject: afs: Flush outstanding writes when an fd is closed
From: David Howells <[email protected]>
[ Upstream commit 58fed94dfb17e89556b5705f20f90e5b2971b6a1 ]
Flush outstanding writes in afs when an fd is closed. This is what NFS and CIFS do.
--- fs/afs/file.c | 1 + fs/afs/internal.h | 1 + fs/afs/write.c | 14 ++++++++++++++ 3 files changed, 16 insertions(+)
fs/afs/file.c +1 -0
@@ -29,6 +29,7 @@ static int afs_readpages(struct file *ficonst struct file_operations afs_file_operations = { .open = afs_open, + .flush = afs_flush, .release = afs_release, .llseek = generic_file_llseek, .read_iter = generic_file_read_iter,
fs/afs/internal.h +1 -0
@@ -752,6 +752,7 @@ extern int afs_writepages(struct addressextern void afs_pages_written_back (struct afs_vnode *,struct afs_call *);extern ssize_t afs_file_write (struct kiocb *,struct iov_iter *);extern int afs_writeback_all (struct afs_vnode *); +extern int afs_flush (struct file *,fl_owner_t );extern int afs_fsync (struct file *,loff_t ,loff_t ,int );
fs/afs/write.c +14 -0
@@ -736,6 +736,20 @@ out: }/* +* Flush out all outstanding writes on a file opened for writing when it is +* closed. +*/ +int afs_flush (struct file *file,fl_owner_t id) +{ +_enter ("" ); + +if ((file->f_mode &FMODE_WRITE ) ==0 ) +return 0 ; + +return vfs_fsync (file,0 ); +} + +/* * notification that a previously read-only page is about to become writable * - if it returns an error, the caller will deliver a bus error signal */
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/afs-flush-outstanding-writes-when-an-fd-is-closed.patch queue-4.9/afs-fix-the-maths-in-afs_fs_store_data.patch queue-4.9/afs-populate-group-id-from-vnode-status.patch queue-4.9/afs-prevent-callback-expiry-timer-overflow.patch queue-4.9/crypto-rsa-fix-buffer-overread-when-stripping-leading-zeroes.patch queue-4.9/afs-adjust-mode-bits-processing.patch queue-4.9/rxrpc-wake-up-the-transmitter-if-rx-window-size-increases-on-the-peer.patch queue-4.9/afs-invalid-op-id-should-abort-with-rxgen_opcode.patch queue-4.9/afs-fix-page-leak-in-afs_write_begin.patch queue-4.9/afs-better-abort-and-net-error-handling.patch queue-4.9/afs-fix-missing-put_page.patch queue-4.9/afs-migrate-vlocation-fields-to-64-bit.patch queue-4.9/rxrpc-ignore-busy-packets-on-old-calls.patch queue-4.9/afs-populate-and-use-client-modification-time.patch queue-4.9/afs-fix-afs_kill_pages.patch queue-4.9/afs-fix-abort-on-signal-while-waiting-for-call-completion.patch