2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-11-20 08:38:24 +08:00
linux-next/fs/ocfs2
Jan Kara b409d7a0ab ocfs2: Fix possible deadlock when extending quota file
In OCFS2, allocator locks rank above transaction start. Thus we
cannot extend quota file from inside a transaction less we could
deadlock.

We solve the problem by starting transaction not already in
ocfs2_acquire_dquot() but only in ocfs2_local_read_dquot() and
ocfs2_global_read_dquot() and we allocate blocks to quota files before starting
the transaction.  In case we crash, quota files will just have a few blocks
more but that's no problem since we just use them next time we extend the
quota file.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
2009-08-10 12:20:22 -07:00
..
cluster Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 2009-06-16 12:11:57 -07:00
dlm ocfs2: Remove redundant BUG_ON in __dlm_queue_ast() 2009-07-31 13:43:44 -07:00
acl.c
acl.h
alloc.c ocfs2: Use ocfs2_rec_clusters in ocfs2_adjust_adjacent_records. 2009-07-23 10:58:46 -07:00
alloc.h
aops.c ocfs2: Initialize the cluster we're writing to in a non-sparse extend 2009-08-07 13:16:23 -07:00
aops.h
blockcheck.c ocfs2: Add statistics for the checksum and ecc operations. 2009-06-03 19:15:36 -07:00
blockcheck.h ocfs2: Add statistics for the checksum and ecc operations. 2009-06-03 19:15:36 -07:00
buffer_head_io.c
buffer_head_io.h
dcache.c ocfs2: Fix deadlock on umount 2009-07-21 15:47:55 -07:00
dcache.h ocfs2: Fix deadlock on umount 2009-07-21 15:47:55 -07:00
dir.c ocfs2: Correct ordering of ip_alloc_sem and localloc locks for directories 2009-06-03 19:14:30 -07:00
dir.h
dlmglue.c ocfs2: Add lockdep annotations 2009-06-22 14:34:26 -07:00
dlmglue.h ocfs2: Add lockdep annotations 2009-06-22 14:34:26 -07:00
export.c
export.h
extent_map.c
extent_map.h
file.c ocfs2: Initialize count in aio_write before generic_write_checks 2009-07-20 15:47:58 -07:00
file.h
heartbeat.c
heartbeat.h
inode.c ocfs2: Add lockdep annotations 2009-06-22 14:34:26 -07:00
inode.h
ioctl.c
ioctl.h
journal.c ocfs2: Fixup orphan scan cleanup after failed mount 2009-07-08 15:34:02 -07:00
journal.h ocfs2: Fix possible deadlock when extending quota file 2009-08-10 12:20:22 -07:00
Kconfig
localalloc.c
localalloc.h
locks.c
locks.h
Makefile
mmap.c
mmap.h
namei.c ocfs2: Add lockdep annotations 2009-06-22 14:34:26 -07:00
namei.h
ocfs1_fs_compat.h
ocfs2_fs.h
ocfs2_lockid.h ocfs2: timer to queue scan of all orphan slots 2009-06-03 19:14:31 -07:00
ocfs2_lockingver.h
ocfs2.h ocfs2: Fix deadlock on umount 2009-07-21 15:47:55 -07:00
quota_global.c ocfs2: Fix possible deadlock when extending quota file 2009-08-10 12:20:22 -07:00
quota_local.c ocfs2: Define credit counts for quota operations 2009-07-23 10:59:31 -07:00
quota.h ocfs2: Remove syncjiff field from quota info 2009-07-23 10:59:27 -07:00
resize.c
resize.h
slot_map.c
slot_map.h
stack_o2cb.c ocfs2: keep index within status_map[] 2009-08-07 13:16:50 -07:00
stack_user.c ocfs2: Provide the ocfs2_dlm_lvb_valid() stack API. 2009-06-22 14:24:30 -07:00
stackglue.c ocfs2: Provide the ocfs2_dlm_lvb_valid() stack API. 2009-06-22 14:24:30 -07:00
stackglue.h ocfs2: Provide the ocfs2_dlm_lvb_valid() stack API. 2009-06-22 14:24:30 -07:00
suballoc.c ocfs2: Pin journal head before accessing jh->b_committed_data 2009-06-22 14:24:47 -07:00
suballoc.h
super.c ocfs2: Fix initialization of blockcheck stats 2009-07-23 10:59:24 -07:00
super.h
symlink.c ocfs2: Use nd_set_link(). 2009-05-09 10:49:40 -04:00
symlink.h
sysfile.c ocfs2/trivial: Wrap ocfs2_sysfile_cluster_lock_key within define. 2009-06-22 14:34:29 -07:00
sysfile.h
uptodate.c
uptodate.h
ver.c
ver.h
xattr.c ocfs2: Fix compilation warning for fs/ocfs2/xattr.c 2009-07-20 15:52:57 -07:00
xattr.h