Liu Bo
49d4a33472
Btrfs: fix regression in lock_delalloc_pages
...
The bug is a regression after commit
(da2c7009f6 "btrfs: teach __process_pages_contig about PAGE_LOCK operation")
and commit
(76c0021db8 "Btrfs: use helper to simplify lock/unlock pages").
So if the dirty pages which are under writeback got truncated partially
before we lock the dirty pages, we couldn't find all pages mapping to the
delalloc range, and the bug didn't return an error so it kept going on and
found that the delalloc range got truncated and got to unlock the dirty
pages, and then the ASSERT could caught the error, and showed
-----------------------------------------------------------------------------
assertion failed: page_ops & PAGE_LOCK, file: fs/btrfs/extent_io.c, line: 1716
-----------------------------------------------------------------------------
This fixes the bug by returning the proper -EAGAIN.
Cc: David Sterba <dsterba@suse.com>
Reported-by: Dave Jones <davej@codemonkey.org.uk>
Signed-off-by: Liu Bo <bo.li.liu@oracle.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2017-03-17 13:47:09 -07:00
..
9p
adfs
affs
afs
autofs4
befs
bfs
btrfs
Btrfs: fix regression in lock_delalloc_pages
2017-03-17 13:47:09 -07:00
cachefiles
ceph
ceph: fix bad endianness handling in parse_reply_info_extra
2017-01-18 17:58:45 +01:00
cifs
cifs: initialize file_info_lock
2017-01-14 14:58:29 -06:00
coda
configfs
cramfs
crypto
fscrypt: fix renaming and linking special files
2016-12-31 00:47:05 -05:00
debugfs
devpts
dlm
ktime: Get rid of ktime_equal()
2016-12-25 17:21:23 +01:00
ecryptfs
efivarfs
efs
exofs
exportfs
ext2
dax: fix build warnings with FS_DAX and !FS_IOMAP
2017-01-24 16:26:14 -08:00
ext4
dax: fix build warnings with FS_DAX and !FS_IOMAP
2017-01-24 16:26:14 -08:00
f2fs
block: Rename blk_queue_zone_size and bdev_zone_size
2017-01-12 07:58:32 -07:00
fat
freevxfs
fscache
fscache: Fix dead object requeue
2017-01-31 13:23:09 -05:00
fuse
fuse: fix time_to_jiffies nsec sanity check
2017-01-13 17:20:47 +01:00
gfs2
ktime: Cleanup ktime_set() usage
2016-12-25 17:21:22 +01:00
hfs
hfsplus
hostfs
hpfs
hugetlbfs
isofs
jbd2
jffs2
jfs
kernfs
lockd
minix
ncpfs
nfs
pNFS: Fix a reference leak in _pnfs_return_layout
2017-01-26 15:50:41 -05:00
nfs_common
nfsd
nfsd: Revert "nfsd: special case truncates some more"
2017-02-09 20:49:20 -05:00
nilfs2
nls
notify
Merge branch 'stable-4.10' of git://git.infradead.org/users/pcmoore/audit
2017-01-05 23:06:06 -08:00
ntfs
ocfs2
ocfs2: fix crash caused by stale lvb with fsdlm plugin
2017-01-10 18:31:54 -08:00
omfs
openpromfs
orangefs
overlayfs
ovl: fix possible use after free on redirect dir lookup
2017-01-18 15:19:54 +01:00
proc
mm: fix KPF_SWAPCACHE in /proc/kpageflags
2017-02-07 12:08:32 -08:00
pstore
pstore: don't OOPS when there are no ftrace zones
2017-02-09 11:49:49 -08:00
qnx4
qnx6
quota
ramfs
reiserfs
romfs
romfs: use different way to generate fsid for BLOCK or MTD
2017-01-24 16:26:14 -08:00
squashfs
sysfs
sysv
tracefs
ubifs
ubifs: Fix journal replay wrt. xattr nodes
2017-01-17 14:35:58 +01:00
udf
ufs
xfs
xfs: prevent quotacheck from overloading inode lru
2017-01-27 09:32:30 -08:00
aio.c
aio: fix lock dep warning
2017-01-14 19:31:40 -05:00
anon_inodes.c
attr.c
bad_inode.c
binfmt_aout.c
binfmt_elf.c
coredump: Ensure proper size of sparse core files
2017-01-14 19:32:40 -05:00
binfmt_elf_fdpic.c
binfmt_em86.c
binfmt_flat.c
binfmt_misc.c
binfmt_script.c
block_dev.c
block: fix use after free in __blkdev_direct_IO
2017-01-24 07:55:53 -07:00
buffer.c
clean_bdev_aliases: Prevent cleaning blocks that are not in block range
2017-01-02 09:35:14 -07:00
char_dev.c
compat.c
compat_binfmt_elf.c
compat_ioctl.c
coredump.c
coredump: Ensure proper size of sparse core files
2017-01-14 19:32:40 -05:00
dax.c
fs: break out of iomap_file_buffered_write on fatal signals
2017-02-03 14:13:19 -08:00
dcache.c
mnt: Protect the mountpoint hashtable with mount_lock
2017-01-10 13:34:43 +13:00
dcookies.c
direct-io.c
do_direct_IO: Use inode->i_blkbits to compute block count to be cleaned
2017-01-10 13:29:54 -07:00
drop_caches.c
eventfd.c
eventpoll.c
exec.c
fcntl.c
fhandle.c
file.c
file_table.c
filesystems.c
fs-writeback.c
fs_pin.c
fs_struct.c
inode.c
internal.h
ioctl.c
iomap.c
fs: break out of iomap_file_buffered_write on fatal signals
2017-02-03 14:13:19 -08:00
Kconfig
dax: fix build warnings with FS_DAX and !FS_IOMAP
2017-01-24 16:26:14 -08:00
Kconfig.binfmt
libfs.c
libfs: Modify mount_pseudo_xattr to be clear it is not a userspace mount
2017-01-10 13:34:55 +13:00
locks.c
Makefile
mbcache.c
mount.h
mpage.c
namei.c
namespace.c
mnt: Protect the mountpoint hashtable with mount_lock
2017-01-10 13:34:43 +13:00
no-block.c
nsfs.c
open.c
pipe.c
pnode.c
pnode.h
posix_acl.c
tmpfs: clear S_ISGID when setting posix ACLs
2017-01-10 01:29:48 -05:00
proc_namespace.c
read_write.c
readdir.c
select.c
seq_file.c
signalfd.c
splice.c
stack.c
stat.c
statfs.c
super.c
sync.c
timerfd.c
ktime: Cleanup ktime_set() usage
2016-12-25 17:21:22 +01:00
userfaultfd.c
userfaultfd: fix SIGBUS resulting from false rwsem wakeups
2017-01-24 16:26:14 -08:00
utimes.c
xattr.c