android_kernel_xiaomi_sm8350/fs/ocfs2
Mark Fasheh 18d585f0f2 ocfs2: make append_dio an incompat feature
It turns out that making this feature ro_compat isn't quite enough to
prevent accidental corruption on mount from older kernels.  Ocfs2 (like
other file systems) will process orphaned inodes even when the user mounts
in 'ro' mode.  So for the case of a filesystem not knowing the append_dio
feature, mounting the filesystem could result in orphaned-for-dio files
being deleted, which we clearly don't want.

So instead, turn this into an incompat flag.

Btw, this is kind of my fault - initially I asked that we add a flag to
cover the feature and even suggested that we use an ro flag.  It wasn't
until I was looking through our commits for v4.0-rc1 that I realized we
actually want this to be incompat.

Signed-off-by: Mark Fasheh <mfasheh@suse.de>
Cc: Joseph Qi <joseph.qi@huawei.com>
Cc: Joel Becker <jlbec@evilplan.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-03-12 18:46:07 -07:00
..
cluster ocfs2: o2net: silence uninitialized variable warning 2015-02-10 14:30:29 -08:00
dlm o2dlm: fix NULL pointer dereference in o2dlm_blocking_ast_wrapper 2015-02-10 14:30:30 -08:00
dlmfs fs: remove mapping->backing_dev_info 2015-01-20 14:03:05 -07:00
acl.c ocfs2: remove unnecessary else in ocfs2_set_acl() 2015-02-10 14:30:28 -08:00
acl.h
alloc.c ocfs2: fix journal commit deadlock in ocfs2_convert_inline_data_to_extents 2015-02-10 14:30:29 -08:00
alloc.h
aops.c ocfs2: allocate blocks in ocfs2_direct_IO_get_blocks 2015-02-16 17:56:05 -08:00
aops.h
blockcheck.c
blockcheck.h
buffer_head_io.c
buffer_head_io.h
dcache.c
dcache.h
dir.c ocfs2: removes mlog_errno() call twice in ocfs2_find_dir_space_el() 2015-02-10 14:30:29 -08:00
dir.h
dlmglue.c ocfs2: prune the dcache before deleting the dentry of directory 2015-02-10 14:30:30 -08:00
dlmglue.h
export.c
export.h
extent_map.c
extent_map.h
file.c ocfs2: set append dio as a ro compat feature 2015-02-16 17:56:05 -08:00
file.h ocfs2: prepare some interfaces used in append direct io 2015-02-16 17:56:04 -08:00
heartbeat.c
heartbeat.h
inode.c ocfs2: add functions to add and remove inode in orphan dir 2015-02-16 17:56:04 -08:00
inode.h ocfs2: wait for orphan recovery first once append O_DIRECT write crash 2015-02-16 17:56:05 -08:00
ioctl.c
ioctl.h
journal.c ocfs2: wait for orphan recovery first once append O_DIRECT write crash 2015-02-16 17:56:05 -08:00
journal.h ocfs2: add functions to add and remove inode in orphan dir 2015-02-16 17:56:04 -08:00
Kconfig
localalloc.c
localalloc.h
locks.c
locks.h
Makefile
mmap.c mm: drop vm_ops->remap_pages and generic_file_remap_pages() stub 2015-02-10 14:30:30 -08:00
mmap.h
move_extents.c
move_extents.h
namei.c ocfs2: wait for orphan recovery first once append O_DIRECT write crash 2015-02-16 17:56:05 -08:00
namei.h ocfs2: add functions to add and remove inode in orphan dir 2015-02-16 17:56:04 -08:00
ocfs1_fs_compat.h
ocfs2_fs.h ocfs2: make append_dio an incompat feature 2015-03-12 18:46:07 -07:00
ocfs2_ioctl.h
ocfs2_lockid.h
ocfs2_lockingver.h
ocfs2_trace.h
ocfs2.h ocfs2: make append_dio an incompat feature 2015-03-12 18:46:07 -07:00
quota_global.c
quota_local.c Merge branch 'akpm' (patches from Andrew) 2015-02-10 16:45:56 -08:00
quota.h ocfs2: Move OLQF_CLEAN flag out of generic quota flags 2015-01-21 19:21:30 +01:00
refcounttree.c ocfs2: remove pointless assignment from ocfs2_calc_refcount_meta_credits() 2015-02-10 14:30:29 -08:00
refcounttree.h
reservations.c ocfs2: make resv_lock spinlock static 2015-02-10 14:30:29 -08:00
reservations.h
resize.c
resize.h
slot_map.c
slot_map.h
stack_o2cb.c
stack_user.c
stackglue.c
stackglue.h
suballoc.c
suballoc.h
super.c ocfs2: wait for orphan recovery first once append O_DIRECT write crash 2015-02-16 17:56:05 -08:00
super.h
symlink.c
symlink.h
sysfile.c
sysfile.h
uptodate.c
uptodate.h
xattr.c ocfs2: xattr: remove unused function 2015-02-10 14:30:29 -08:00
xattr.h