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
ocfs2: use generic posix ACL infrastructure
2014-01-25 23:58:21 -05:00
alloc.c
ocfs2: fix journal commit deadlock in ocfs2_convert_inline_data_to_extents
2015-02-10 14:30:29 -08:00
alloc.h
ocfs2: reflink: fix slow unlink for refcounted file
2014-12-18 19:08:11 -08:00
aops.c
ocfs2: allocate blocks in ocfs2_direct_IO_get_blocks
2015-02-16 17:56:05 -08:00
aops.h
ocfs2: change ip_unaligned_aio to of type mutex from atomit_t
2014-04-03 16:20:53 -07:00
blockcheck.c
blockcheck.h
buffer_head_io.c
ocfs2: do not put bh when buffer_uptodate failed
2014-04-03 16:20:56 -07:00
buffer_head_io.h
dcache.c
assorted conversions to %p[dD]
2014-11-19 13:01:20 -05:00
dcache.h
ocfs2: revert iput deferring code in ocfs2_drop_dentry_lock
2014-04-03 16:20:55 -07:00
dir.c
ocfs2: removes mlog_errno() call twice in ocfs2_find_dir_space_el()
2015-02-10 14:30:29 -08:00
dir.h
[readdir] convert ocfs2
2013-06-29 12:57:02 +04:00
dlmglue.c
ocfs2: prune the dcache before deleting the dentry of directory
2015-02-10 14:30:30 -08:00
dlmglue.h
ocfs2: avoid blocking in ocfs2_mark_lockres_freeing() in downconvert thread
2014-04-03 16:20:55 -07:00
export.c
export.h
extent_map.c
ocfs2: fix the end cluster offset of FIEMAP
2013-09-11 15:56:53 -07:00
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
ocfs2: do not write error flag to user structure we cannot copy from/to
2014-08-29 16:28:16 -07:00
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
ocfs2: free allocated clusters if error occurs after ocfs2_claim_clusters
2014-02-06 13:48:51 -08:00
localalloc.h
ocfs2: free allocated clusters if error occurs after ocfs2_claim_clusters
2014-02-06 13:48:51 -08:00
locks.c
ocfs2: flock: drop cross-node lock when failed locally
2014-04-03 16:20:56 -07:00
locks.h
Makefile
ocfs2: remove versioning information
2014-01-21 16:19:41 -08:00
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
ocfs2: remove bogus NULL check in ocfs2_move_extents()
2014-12-10 17:41:04 -08:00
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.h
ocfs2: make append_dio an incompat feature
2015-03-12 18:46:07 -07:00
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: fix a tiny race when running dirop_fileop_racer
2014-06-23 16:47:45 -07:00
quota.h
ocfs2: Move OLQF_CLEAN flag out of generic quota flags
2015-01-21 19:21:30 +01:00
quota_global.c
ocfs2: Don't use MAXQUOTAS value
2014-09-17 11:59:12 +02:00
quota_local.c
Merge branch 'akpm' (patches from Andrew)
2015-02-10 16:45:56 -08:00
refcounttree.c
ocfs2: remove pointless assignment from ocfs2_calc_refcount_meta_credits()
2015-02-10 14:30:29 -08:00
refcounttree.h
ocfs2: fix NULL pointer dereference in ocfs2_duplicate_clusters_by_page
2013-08-13 17:57:49 -07:00
reservations.c
ocfs2: make resv_lock spinlock static
2015-02-10 14:30:29 -08:00
reservations.h
resize.c
ocfs2: fix incorrect i_size of global bitmap inode after resize
2014-06-04 16:53:54 -07:00
resize.h
slot_map.c
ocfs2: fix an off-by-one BUG_ON() statement
2014-12-10 17:41:03 -08:00
slot_map.h
stack_o2cb.c
ocfs2: pass ocfs2_cluster_connection to ocfs2_this_node
2014-01-21 16:19:41 -08:00
stack_user.c
fs/ocfs2/stack_user.c: fix typo in ocfs2_control_release()
2014-10-09 22:25:46 -04:00
stackglue.c
ocfs2: remove NULL assignments on static
2014-06-04 16:53:53 -07:00
stackglue.h
ocfs2: pass ocfs2_cluster_connection to ocfs2_this_node
2014-01-21 16:19:41 -08:00
suballoc.c
ocfs2: iput inode alloc when failed locally
2014-04-03 16:20:57 -07:00
suballoc.h
ocfs2: rollback alloc_dinode counts when ocfs2_block_group_set_bits() failed
2014-04-03 16:20:56 -07:00
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
ocfs2: avoid system inode ref confusion by adding mutex lock
2014-04-03 16:20:57 -07:00
sysfile.h
uptodate.c
ocfs2: remove NULL assignments on static
2014-06-04 16:53:53 -07:00
uptodate.h
xattr.c
ocfs2: xattr: remove unused function
2015-02-10 14:30:29 -08:00
xattr.h
ocfs2: use generic posix ACL infrastructure
2014-01-25 23:58:21 -05:00