OpenCloudOS-Kernel/fs/afs
David Howells 7286a35e89 afs: Fix afs_kill_pages()
Fix afs_kill_pages() in two ways:

 (1) If a writeback has been partially flushed, then if we try and kill the
     pages it contains, some of them may no longer be undergoing writeback
     and end_page_writeback() will assert.

     Fix this by checking to see whether the page in question is actually
     undergoing writeback before ending that writeback.

 (2) The loop that scans for pages to kill doesn't increase the first page
     index, and so the loop may not terminate, but it will try to process
     the same pages over and over again.

     Fix this by increasing the first page index to one after the last page
     we processed.

Signed-off-by: David Howells <dhowells@redhat.com>
2017-03-16 16:29:30 +00:00
..
Kconfig fs/afs: remove depends on CONFIG_EXPERIMENTAL 2013-01-21 14:39:04 -08:00
Makefile FS-Cache: Make kAFS use FS-Cache 2009-04-03 16:42:41 +01:00
afs.h afs: Support interacting with multiple user namespaces 2013-02-13 06:00:51 -08:00
afs_cm.h afs: support the CB.ProbeUuid RPC op 2008-04-29 08:06:26 -07:00
afs_fs.h AFS: implement file locking 2007-07-16 09:05:43 -07:00
afs_vl.h AFS: Fix silly characters in a comment 2011-07-20 20:48:03 -04:00
cache.c Fix common misspellings 2011-03-31 11:26:23 -03:00
callback.c afs: Migrate vlocation fields to 64-bit 2017-03-16 16:27:46 +00:00
cell.c FS-Cache: Provide the ability to enable/disable cookies 2013-09-27 18:40:25 +01:00
cmservice.c afs: Deal with an empty callback array 2017-03-16 16:27:44 +00:00
dir.c lib/vsprintf.c: remove %Z support 2017-02-27 18:43:47 -08:00
file.c afs: Don't set PG_error on local EINTR or ENOMEM when filling a page 2017-03-16 16:27:48 +00:00
flock.c fs/afs/flock: Remove deprecated create_singlethread_workqueue 2016-09-04 21:41:39 +01:00
fsclient.c afs: Populate and use client modification time 2017-03-16 16:27:47 +00:00
inode.c afs: Populate and use client modification time 2017-03-16 16:27:47 +00:00
internal.h afs: Make struct afs_read::remain 64-bit 2017-03-16 16:27:46 +00:00
main.c afs: Use core kernel UUID generation 2017-02-10 16:34:17 +00:00
misc.c afs: Invalid op ID should abort with RXGEN_OPCODE 2017-03-16 16:27:47 +00:00
mntpt.c afs: Distinguish mountpoints from symlinks by file mode alone 2017-03-16 16:27:45 +00:00
netdevices.c afs: Use core kernel UUID generation 2017-02-10 16:34:17 +00:00
proc.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
rxrpc.c afs: Better abort and net error handling 2017-03-16 16:27:47 +00:00
security.c afs: security: Replace rcu_assign_pointer() with RCU_INIT_POINTER() 2017-03-16 16:27:45 +00:00
server.c afs: Migrate vlocation fields to 64-bit 2017-03-16 16:27:46 +00:00
super.c mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros 2016-04-04 10:41:08 -07:00
vlclient.c afs: Kill afs_wait_mode 2017-01-09 11:10:02 +00:00
vlocation.c afs: Migrate vlocation fields to 64-bit 2017-03-16 16:27:46 +00:00
vnode.c afs: Kill afs_wait_mode 2017-01-09 11:10:02 +00:00
volume.c afs: Make afs_readpages() fetch data in bulk 2017-01-06 16:54:41 +00:00
write.c afs: Fix afs_kill_pages() 2017-03-16 16:29:30 +00:00