1
linux/fs/jfs
Dave Kleikamp 73aaa22d5f jfs: fix a couple races
This patch fixes races uncovered by xfstests testcase 068.

One race is the result of jfs_sync() trying to write a sync point to the
journal after it has been frozen (or possibly in the process). Since
freezing sync's the journal, there is no need to write a sync point so
we simply want to return.

The second involves jfs_write_inode() being called on a deleted inode.
It calls jfs_flush_journal which is held up by the jfs_commit thread
doing the final iput on the same deleted inode, which itself is
waiting for the I_SYNC flag to be cleared. jfs_write_inode need not
do anything when i_nlink is zero, which is the easy fix.

Reported-by: Michael L. Semon <mlsemon35@gmail.com>
Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
2013-05-01 11:16:59 -05:00
..
acl.c userns: Pass a userns parameter into posix_acl_to_xattr and posix_acl_from_xattr 2012-09-18 01:01:35 -07:00
endian24.h
file.c jfs: drop vmtruncate 2012-12-20 18:40:52 -05:00
inode.c jfs: fix a couple races 2013-05-01 11:16:59 -05:00
ioctl.c fs/jfs: TRIM support for JFS Filesystem 2012-09-17 11:58:19 -05:00
jfs_acl.h fs: take the ACL checks to common code 2011-07-25 14:30:23 -04:00
jfs_btree.h
jfs_debug.c
jfs_debug.h
jfs_dinode.h
jfs_discard.c jfs: Fix FITRIM argument handling 2012-10-17 09:18:38 -05:00
jfs_discard.h fs/jfs: TRIM support for JFS Filesystem 2012-09-17 11:58:19 -05:00
jfs_dmap.c jfs: Fix do_div precision in commit b40c2e66 2012-09-18 11:27:22 -05:00
jfs_dmap.h fs/jfs: TRIM support for JFS Filesystem 2012-09-17 11:58:19 -05:00
jfs_dtree.c
jfs_dtree.h
jfs_extent.c
jfs_extent.h
jfs_filsys.h fs/jfs: TRIM support for JFS Filesystem 2012-09-17 11:58:19 -05:00
jfs_imap.c jfs: avoid undefined behavior from left-shifting by 32 bits 2013-01-07 08:21:36 -06:00
jfs_imap.h
jfs_incore.h JFS TRIM support and some minor fixes 2012-10-03 08:48:21 -07:00
jfs_inode.c filesystems: add missing nlink wrappers 2011-11-02 12:53:43 +01:00
jfs_inode.h fs: push i_mutex and filemap_write_and_wait down into ->fsync() handlers 2011-07-20 20:47:59 -04:00
jfs_lock.h
jfs_logmgr.c jfs: fix a couple races 2013-05-01 11:16:59 -05:00
jfs_logmgr.h
jfs_metapage.c
jfs_metapage.h
jfs_mount.c
jfs_superblock.h
jfs_txnmgr.c JFS: use list_move instead of list_del/list_add 2012-09-17 12:00:17 -05:00
jfs_txnmgr.h
jfs_types.h
jfs_umount.c jfs: flush journal completely before releasing metadata inodes 2011-08-01 12:41:00 -05:00
jfs_unicode.c
jfs_unicode.h
jfs_uniupr.c
jfs_xattr.h
jfs_xtree.c
jfs_xtree.h
Kconfig
Makefile fs/jfs: TRIM support for JFS Filesystem 2012-09-17 11:58:19 -05:00
namei.c don't expose I_NEW inodes via dentry->d_inode 2012-07-23 00:00:58 +04:00
resize.c jfs: old_agsize should be 64 bits in jfs_extendfs 2011-06-20 10:30:04 -05:00
super.c JFS TRIM support and some minor fixes 2012-10-03 08:48:21 -07:00
symlink.c
xattr.c userns: Pass a userns parameter into posix_acl_to_xattr and posix_acl_from_xattr 2012-09-18 01:01:35 -07:00