linux/fs/ocfs2
Tao Ma 85db90e778 ocfs2/xattr: Merge xattr set transaction.
In current ocfs2/xattr, the whole xattr set is divided into
many steps are many transaction are used, this make the
xattr set process isn't like a real transaction, so this
patch try to merge all the transaction into one. Another
benefit is that acl can use it easily now.

I don't merge the transaction of deleting xattr when we
remove an inode. The reason is that if we have a large number
of xattrs and every xattrs has large values(large enough
for outside storage), the whole transaction will be very
huge and it looks like jbd can't handle it(I meet with a
jbd complain once). And the old inode removal is also divided
into many steps, so I'd like to leave as it is.

Note:
In xattr set, I try to avoid ocfs2_extend_trans since if
the credits aren't enough for the extension, it will commit
all the dirty blocks and create a new transaction which may
lead to inconsistency in metadata. All ocfs2_extend_trans
remained are safe now.

Signed-off-by: Tao Ma <tao.ma@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
2009-01-05 08:34:19 -08:00
..
cluster fs: replace NIPQUAD() 2008-10-31 00:56:28 -07:00
dlm Merge branch 'master' into next 2008-12-04 17:16:36 +11:00
alloc.c ocfs2: Add clusters free in dealloc_ctxt. 2009-01-05 08:34:18 -08:00
alloc.h ocfs2/xattr: Reserve meta/data at the beginning of ocfs2_xattr_set. 2009-01-05 08:34:19 -08:00
aops.c ocfs2: Simplify ocfs2_read_block() 2008-10-14 11:51:57 -07:00
aops.h ocfs2: convert to new aops 2007-10-16 09:42:58 -07:00
buffer_head_io.c ocfs2: fix regression in ocfs2_read_blocks_sync() 2008-12-01 14:46:58 -08:00
buffer_head_io.h ocfs2: Make cached block reads the common case. 2008-10-14 11:58:22 -07:00
dcache.c ocfs2: Remove mount/unmount votes 2008-01-25 14:45:34 -08:00
dcache.h
dir.c ocfs2: Make cached block reads the common case. 2008-10-14 11:58:22 -07:00
dir.h ocfs2: Rename cleanups 2007-10-12 11:54:38 -07:00
dlmglue.c ocfs2: fix wake_up in unlock_ast 2008-12-01 14:46:45 -08:00
dlmglue.h ocfs2: Break out stackglue into modules. 2008-04-18 08:56:05 -07:00
export.c [PATCH] switch all filesystems over to d_obtain_alias 2008-10-23 05:13:01 -04:00
export.h exportfs: make struct export_operations const 2007-10-22 08:13:21 -07:00
extent_map.c ocfs2: Simplify ocfs2_read_block() 2008-10-14 11:51:57 -07:00
extent_map.h ocfs2: Add extent tree operation for xattr value btrees 2008-10-13 16:57:01 -07:00
file.c ocfs2: truncate outstanding block after direct io failure 2008-11-10 09:51:47 -08:00
file.h ocfs2: Make high level btree extend code generic 2008-10-13 13:57:59 -07:00
heartbeat.c ocfs2: Move o2hb functionality into the stack glue. 2008-04-18 08:56:04 -07:00
heartbeat.h ocfs2: Move o2hb functionality into the stack glue. 2008-04-18 08:56:04 -07:00
inode.c ocfs2: Set journal descriptor to NULL after journal shutdown 2008-11-10 09:51:47 -08:00
inode.h ocfs2: Move ocfs2_bread() into dir.c 2008-10-14 11:58:03 -07:00
ioctl.c ocfs2: Don't check for NULL before brelse() 2008-10-13 17:02:44 -07:00
ioctl.h ocfs2: Convert ocfs2 over to unlocked_ioctl 2008-04-18 08:56:11 -07:00
journal.c ocfs2: Set journal descriptor to NULL after journal shutdown 2008-11-10 09:51:47 -08:00
journal.h ocfs2: Switch over to JBD2. 2008-10-13 17:02:43 -07:00
localalloc.c ocfs2: Make cached block reads the common case. 2008-10-14 11:58:22 -07:00
localalloc.h ocfs2: throttle back local alloc when low on disk space 2008-10-13 13:57:57 -07:00
locks.c ocfs2: POSIX file locks support 2008-10-13 13:57:57 -07:00
locks.h ocfs2: POSIX file locks support 2008-10-13 13:57:57 -07:00
Makefile ocfs2: Move trusted and user attribute support into xattr.c 2008-10-13 17:02:44 -07:00
mmap.c ocfs2: return 0 in page_mkwrite to let VFS retry. 2008-11-10 09:51:47 -08:00
mmap.h
namei.c Merge branch 'master' into next 2008-11-14 11:29:12 +11:00
namei.h ocfs2: Move directory manipulation code into dir.c 2007-10-12 11:54:36 -07:00
ocfs1_fs_compat.h fs/: Spelling fixes 2008-02-03 17:33:42 +02:00
ocfs2.h ocfs2: comments typo fix 2008-12-01 14:46:31 -08:00
ocfs2_fs.h ocfs2: Add JBD2 compat feature bit. 2008-12-16 18:26:16 -08:00
ocfs2_jbd_compat.h ocfs2: Switch over to JBD2. 2008-10-13 17:02:43 -07:00
ocfs2_lockid.h ocfs2: Change mlog_bug_on to BUG_ON in ocfs2_lockid.h 2008-04-18 08:56:07 -07:00
ocfs2_lockingver.h ocfs2: Negotiate locking protocol versions. 2008-02-06 16:11:29 -08:00
resize.c ocfs2: Simplify ocfs2_read_block() 2008-10-14 11:51:57 -07:00
resize.h [PATCH 2/2] ocfs2: Implement group add for online resize 2008-01-25 15:04:24 -08:00
slot_map.c ocfs2: Make cached block reads the common case. 2008-10-14 11:58:22 -07:00
slot_map.h ocfs2: De-magic the in-memory slot map. 2008-04-18 08:56:03 -07:00
stack_o2cb.c ocfs2: Remove ->hangup() from stack glue operations. 2008-06-16 10:46:52 -07:00
stack_user.c ocfs2: initialize stack_user lvbptr 2008-12-01 14:46:39 -08:00
stackglue.c ocfs2: Remove pointless !! 2008-10-13 17:02:44 -07:00
stackglue.h ocfs2: POSIX file locks support 2008-10-13 13:57:57 -07:00
suballoc.c ocfs2: Simplify ocfs2_read_block() 2008-10-14 11:51:57 -07:00
suballoc.h ocfs2: Limit inode allocation to 32bits. 2008-10-13 16:57:07 -07:00
super.c ocfs2: Don't check for NULL before brelse() 2008-10-13 17:02:44 -07:00
super.h ocfs2: use s_maxbytes directly in ocfs2_change_file_space() 2007-08-09 17:25:07 -07:00
symlink.c ocfs2: Simplify ocfs2_read_block() 2008-10-14 11:51:57 -07:00
symlink.h
sysfile.c ocfs2: Silence false lockdep warnings 2008-01-25 15:05:44 -08:00
sysfile.h
uptodate.c ocfs2: use smaller counters in ocfs2_remove_xattr_clusters_from_cache 2008-10-13 17:02:44 -07:00
uptodate.h ocfs2: Add helper function in uptodate.c for removing xattr clusters 2008-10-13 13:57:59 -07:00
ver.c ocfs2: bump version number 2008-01-25 15:05:46 -08:00
ver.h
xattr.c ocfs2/xattr: Merge xattr set transaction. 2009-01-05 08:34:19 -08:00
xattr.h ocfs2: fix function declaration and definition in xattr 2008-11-10 09:51:44 -08:00