aboutsummaryrefslogtreecommitdiff
path: root/fs/ocfs2/ocfs2_trace.h
AgeCommit message (Collapse)Author
2013-09-11ocfs2: lighten up allocate transactionYounger Liu
The issue scenario is as following: When fallocating a very large disk space for a small file, __ocfs2_extend_allocation attempts to get a very large transaction. For some journal sizes, there may be not enough room for this transaction, and the fallocate will fail. The patch below extends & restarts the transaction as necessary while allocating space, and should work with even the smallest journal. This patch refers ext4 resize. Test: # mkfs.ocfs2 -b 4K -C 32K -T datafiles /dev/sdc ...(jounral size is 32M) # mount.ocfs2 /dev/sdc /mnt/ocfs2/ # touch /mnt/ocfs2/1.log # fallocate -o 0 -l 400G /mnt/ocfs2/1.log fallocate: /mnt/ocfs2/1.log: fallocate failed: Cannot allocate memory # tail -f /var/log/messages [ 7372.278591] JBD: fallocate wants too many credits (2051 > 2048) [ 7372.278597] (fallocate,6438,0):__ocfs2_extend_allocation:709 ERROR: status = -12 [ 7372.278603] (fallocate,6438,0):ocfs2_allocate_unwritten_extents:1504 ERROR: status = -12 [ 7372.278607] (fallocate,6438,0):__ocfs2_change_file_space:1955 ERROR: status = -12 ^C With this patch, the test works well. Signed-off-by: Younger Liu <younger.liu@huawei.com> Cc: Jie Liu <jeff.liu@oracle.com> Cc: Joel Becker <jlbec@evilplan.org> Cc: Mark Fasheh <mfasheh@suse.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-05-23ocfs2: Add trace event for trim.Tao Ma
Add the corresponding trace event for trim. Signed-off-by: Tao Ma <boyu.mt@taobao.com> Signed-off-by: Joel Becker <jlbec@evilplan.org>
2011-02-24ocfs2: Remove masklog ML_UPTODATE.Tao Ma
Remove mlog(0,...) and mlog(ML_UPTODATE,...) from fs/ocfs2/uptodate.c and fs/ocfs2/buffer_head_io.c. The masklog UPTODATE is removed finally. Signed-off-by: Tao Ma <boyu.mt@taobao.com>
2011-02-24ocfs2: Remove masklog ML_BH_IO.Tao Ma
Remove mlog(0,...) and mlog(ML_BH_IO,...) from fs/ocfs2/buffer_head_io.c. The masklog BH_IO is removed finally. Signed-off-by: Tao Ma <boyu.mt@taobao.com>
2011-02-24ocfs2: Remove masklog ML_JOURNAL.Tao Ma
Remove mlog(0) from fs/ocfs2/journal.c and the masklog JOURNAL. Signed-off-by: Tao Ma <boyu.mt@taobao.com>
2011-02-24ocfs2: Remove masklog ML_EXPORT.Tao Ma
Remove mlog(0) from fs/ocfs2/export.c and the masklog EXPORT. Signed-off-by: Tao Ma <boyu.mt@taobao.com>
2011-02-23ocfs2: Remove masklog ML_DCACHE.Tao Ma
Remove mlog(0) from fs/ocfs2/dcache.c and the masklog DCACHE. Signed-off-by: Tao Ma <boyu.mt@taobao.com>
2011-02-23ocfs2: Remove masklog ML_NAMEI.Tao Ma
Remove mlog(0) from fs/ocfs2/namei.c and the masklog NAMEI finally. Signed-off-by: Tao Ma <boyu.mt@taobao.com>
2011-02-23ocfs2: Remove mlog(0) from fs/ocfs2/dir.cTao Ma
This is the 2nd step to remove the debug info of NAMEI. Signed-off-by: Tao Ma <boyu.mt@taobao.com>
2011-02-23ocfs2: Remove masklog ML_QUOTA.Tao Ma
Remove mlog(0) from fs/ocfs2/quota_global.c and the masklog QUOTA. Signed-off-by: Tao Ma <boyu.mt@taobao.com>
2011-02-23ocfs2: Remove mlog(0) from quota_local.c.Tao Ma
Remove mlog(0) from fs/ocfs2/quota_local.c. Signed-off-by: Tao Ma <boyu.mt@taobao.com>
2011-02-23ocfs2: Remove masklog ML_RESERVATIONS.Tao Ma
Remove mlog(0) from fs/ocfs2/reservations.c and the masklog RESERVATIONS. Signed-off-by: Tao Ma <boyu.mt@taobao.com>
2011-02-23ocfs2: Remove masklog ML_XATTR.Tao Ma
Remove mlog(0) from fs/ocfs2/xattr.c and the masklog ML_XATTR. Signed-off-by: Tao Ma <boyu.mt@taobao.com>
2011-02-23ocfs2: Remove masklog ML_SUPER.Tao Ma
Remove mlog(0) from fs/ocfs2/super.c and the masklog SUPER. Signed-off-by: Tao Ma <boyu.mt@taobao.com>
2011-02-23ocfs2: Remove mlog(0) from fs/ocfs2/heartbeat.cTao Ma
This is the 2nd step to remove the debug info of SUPER. Signed-off-by: Tao Ma <boyu.mt@taobao.com>
2011-02-22ocfs2: Remove mlog(0) from fs/ocfs2/slot_map.cTao Ma
This is the 1st step to remove the debug info of SUPER. Signed-off-by: Tao Ma <boyu.mt@taobao.com>
2011-02-22ocfs2: Remove masklog ML_EXTENT_MAP.Tao Ma
Remove mlog(0) from fs/ocfs2/extent_map.c and the masklog EXTENT_MAP. Signed-off-by: Tao Ma <boyu.mt@taobao.com>
2011-02-22ocfs2: Remove masklog ML_INODE.Tao Ma
Remove mlog(0) from fs/ocfs2/inode.c and the masklog INODE. Signed-off-by: Tao Ma <boyu.mt@taobao.com>
2011-02-22ocfs2: Remove mlog(0) from fs/ocfs2/file.cTao Ma
This is the 2nd step to remove the debug info of INODE. Signed-off-by: Tao Ma <boyu.mt@taobao.com>
2011-02-22ocfs2: Remove FILE_IO from masklog.Tao Ma
Change all the "mlog(0," in fs/ocfs2/mmap.c to trace events. And finally remove masklog FILE_IO. Signed-off-by: Tao Ma <boyu.mt@taobao.com>
2011-02-22ocfs2: Remove mlog(0) from fs/ocfs2/aops.cTao Ma
Remove all the "mlog(0," in fs/ocfs2/aops.c. Signed-off-by: Tao Ma <boyu.mt@taobao.com>
2011-02-22ocfs2: Remove masklog ML_REFCOUNT.Tao Ma
Change all the "mlog(0," in fs/ocfs2/refcounttree.c to trace events. And finally remove masklog ML_REFCOUNT. Signed-off-by: Tao Ma <boyu.mt@taobao.com>
2011-02-22ocfs2: Remove mlog(0) from fs/ocfs2/suballoc.cTao Ma
This is the 4th step to remove the debug info of DISK_ALLOC. Signed-off-by: Tao Ma <boyu.mt@taobao.com>
2011-02-22ocfs2: Remove mlog(0) from fs/ocfs2/suballoc.cTao Ma
This is the 3rd step to remove the debug info of DISK_ALLOC. Signed-off-by: Tao Ma <boyu.mt@taobao.com>
2011-02-22ocfs2: Remove mlog(0) from fs/ocfs2/localalloc.cTao Ma
This is the 2nd step to remove the debug info of DISK_ALLOC. So this patch removes all mlog(0,...) from localalloc.c and adds the corresponding tracepoints. Different mlogs have different solutions. 1. Some are replaced with trace event directly. 2. Some are replaced while some new parameters are added. 3. Some are combined into one trace events. 4. Some redundant mlogs are removed. Signed-off-by: Tao Ma <boyu.mt@taobao.com>
2011-02-22ocfs2: Remove mlog(0) from fs/ocfs2/alloc.cTao Ma
This is the first try of replacing debug mlog(0,...) to trace events. Wengang has did some work in his original patch http://oss.oracle.com/pipermail/ocfs2-devel/2009-November/005513.html But he didn't finished it. So this patch removes all mlog(0,...) from alloc.c and adds the corresponding trace events. Different mlogs have different solutions. 1. Some are replaced with trace event directly. 2. Some are replaced and some new parameters are added since I think we need to know the btree owner in that case. 3. Some are combined into one trace events. 4. Some redundant mlogs are removed. What's more, it defines some event classes so that we can use them later. Cc: Wengang Wang <wen.gang.wang@oracle.com> Signed-off-by: Tao Ma <boyu.mt@taobao.com>
2011-02-21ocfs2: Add ocfs2_trace.h.Wengang Wang
About one year ago, Wengang Wang tried some first steps to add tracepoints to ocfs2. Hiss original patch is here: http://oss.oracle.com/pipermail/ocfs2-devel/2009-November/005512.html But as Steven Rostedt indicated in his article http://lwn.net/Articles/383362/, we'd better have our trace files resides in fs/ocfs2, so I rewrited the patch using the method Steven mentioned in that article. Signed-off-by: Wengang Wang <wen.gang.wang@oracle.com> Signed-off-by: Tao Ma <boyu.mt@taobao.com>