linux_dsm_epyc7002/include/trace/events
Chao Yu 28bc106b23 f2fs: support revoking atomic written pages
f2fs support atomic write with following semantics:
1. open db file
2. ioctl start atomic write
3. (write db file) * n
4. ioctl commit atomic write
5. close db file

With this flow we can avoid file becoming corrupted when abnormal power
cut, because we hold data of transaction in referenced pages linked in
inmem_pages list of inode, but without setting them dirty, so these data
won't be persisted unless we commit them in step 4.

But we should still hold journal db file in memory by using volatile
write, because our semantics of 'atomic write support' is incomplete, in
step 4, we could fail to submit all dirty data of transaction, once
partial dirty data was committed in storage, then after a checkpoint &
abnormal power-cut, db file will be corrupted forever.

So this patch tries to improve atomic write flow by adding a revoking flow,
once inner error occurs in committing, this gives another chance to try to
revoke these partial submitted data of current transaction, it makes
committing operation more like aotmical one.

If we're not lucky, once revoking operation was failed, EAGAIN will be
reported to user for suggesting doing the recovery with held journal file,
or retrying current transaction again.

Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2016-02-22 16:07:23 -08:00
..
9p.h net/9p/tracing: Export enums in tracepoints to userspace 2015-04-08 09:39:59 -04:00
asoc.h ASoC: dapm: Consolidate path trace events 2015-08-13 12:40:16 +01:00
bcache.h bcache: fix crash in bcache_btree_node_alloc_fail tracepoint 2014-08-04 15:23:03 -07:00
block.h blktrace: fix accounting of partially completed requests 2014-03-05 16:11:21 -07:00
btrfs.h Merge branch 'freespace-tree' into for-linus-4.5 2015-12-18 11:11:10 -08:00
clk.h clk: Add tracepoints for hardware operations 2015-03-12 12:18:51 -07:00
cma.h mm: cma: add trace events for CMA allocations and freeings 2015-04-15 16:35:19 -07:00
compaction.h mm, compaction: distinguish contended status in tracepoints 2015-11-05 19:34:48 -08:00
context_tracking.h context_tracking: User/kernel broundary cross trace events 2013-08-14 17:14:48 +02:00
ext4.h ext4: implement allocation of pre-zeroed blocks 2015-12-07 15:10:26 -05:00
f2fs.h f2fs: support revoking atomic written pages 2016-02-22 16:07:23 -08:00
fence.h tracing/dma-buf/fence: Fix timeline str value on fence_annotate_wait_on 2016-01-25 11:03:17 -05:00
fib6.h net: IPv6 fib lookup tracepoint 2015-11-22 11:54:10 -05:00
fib.h net: Make table id type u32 2015-09-01 14:32:44 -07:00
filelock.h locks: sprinkle some tracepoints around the file locking code 2016-01-08 11:38:13 -05:00
filemap.h tracing, mm: Record pfn instead of pointer to struct page 2015-04-13 11:44:52 -03:00
gfpflags.h mm, page_alloc: distinguish between being unable to sleep, unwilling to sleep and avoiding waking kswapd 2015-11-06 17:50:42 -08:00
gpio.h tracing: gpio: Add Kconfig option for enabling/disabling trace events 2015-10-20 21:56:10 -04:00
host1x.h gpu: host1x: Use struct host1x_bo pointers in traces 2014-11-13 16:11:32 +01:00
hswadsp.h Merge remote-tracking branches 'asoc/topic/ml26124', 'asoc/topic/of', 'asoc/topic/omap', 'asoc/topic/pxa' and 'asoc/topic/rcar' into asoc-next 2014-03-12 23:04:35 +00:00
huge_memory.h mm: fix kernel crash in khugepaged thread 2016-01-21 17:20:51 -08:00
i2c.h i2c: Add message transfer tracepoints for SMBUS [ver #2] 2014-03-13 22:15:07 +01:00
intel-sst.h tracing: Add TRACE_SYSTEM_VAR to intel-sst 2015-04-07 12:31:12 -04:00
iommu.h iommu: Change trace unmap api to report unmapped size 2015-01-19 15:19:31 +01:00
ipi.h tracepoint: add generic tracepoint definitions for IPI tracing 2014-08-07 20:40:40 -04:00
irq.h irq_poll: make blk-iopoll available outside the block layer 2015-12-11 11:52:24 -08:00
jbd2.h
kmem.h tracing/mm: don't trace mm_page_pcpu_drain on offline cpus 2015-05-28 18:25:18 -07:00
kvm.h kvm: move new trace event outside #ifdef CONFIG_KVM_ASYNC_PF 2015-09-08 11:16:40 +02:00
libata.h libata: Add tracepoints 2015-03-27 11:59:22 -04:00
lock.h
mce.h
migrate.h mm: tracing: Export enums in tracepoints to user space 2015-04-08 09:40:01 -04:00
module.h tracing: %pF is only for function pointers 2015-03-25 08:57:22 -04:00
napi.h
net.h net: rename vlan_tx_* helpers since "tx" is misleading there 2015-01-13 17:51:08 -05:00
nilfs2.h nilfs2: add tracepoints for analyzing reading and writing metadata files 2015-11-06 17:50:42 -08:00
nmi.h x86: Add NMI duration tracepoints 2013-06-23 11:52:58 +02:00
oom.h
page_isolation.h mm/page_isolation.c: add new tracepoint, test_pages_isolated 2016-01-14 16:00:49 -08:00
pagemap.h mm: pagemap: avoid unnecessary overhead when tracepoints are deactivated 2014-08-06 18:01:20 -07:00
power_cpu_migrate.h ARM: bL_switcher/trace: Add trace trigger for trace bootstrapping 2013-09-23 18:47:30 -04:00
power.h This patch series contains several clean ups and even a new trace clock 2015-06-26 14:02:43 -07:00
printk.h
random.h tracing: %pF is only for function pointers 2015-03-25 08:57:22 -04:00
rcu.h rcu: Apply rcu_seq operations to _rcu_barrier() 2015-07-17 14:58:57 -07:00
regulator.h
rpm.h
sched.h sched/core: Fix trace_sched_switch() 2015-10-06 17:08:15 +02:00
scsi.h scsi: rename SERVICE_ACTION_IN to SERVICE_ACTION_IN_16 2014-11-24 20:01:40 +01:00
signal.h
skb.h
sock.h
spi.h spi: Provide common spi_message processing loop 2013-10-11 20:09:50 +01:00
spmi.h spmi: add command tracepoints for SPMI 2015-08-05 12:27:09 -07:00
sunrpc.h net: sunrpc: fix tracepoint Warning: unknown op '->' 2015-08-31 16:32:15 -04:00
swiotlb.h tracing/events: Add bounce tracing to swiotbl 2013-10-02 12:53:26 -04:00
syscalls.h tracepoint: Fix sparse warnings in tracepoint.c 2014-04-09 10:12:11 -04:00
target.h target: Minimize SCSI header #include directives 2015-06-02 08:03:25 -07:00
task.h tracing: Don't make assumptions about length of string on task rename 2015-08-31 10:47:14 -04:00
thermal_power_allocator.h thermal: consistently use int for temperatures 2015-08-03 23:15:50 +08:00
thermal.h devfreq_cooling: add trace information 2015-10-30 10:41:38 -07:00
thp.h powerpc/thp: Add tracepoints to track hugepage invalidate 2014-08-13 18:20:42 +10:00
timer.h timer: Replace timer base by a cpu index 2015-06-19 15:18:27 +02:00
tlb.h x86, mm: trace when an IPI is about to be sent 2015-09-04 16:54:41 -07:00
udp.h
v4l2.h [media] media: videobuf2: Move timestamp to vb2_buffer 2015-12-18 13:53:31 -02:00
vb2.h [media] media: videobuf2: Move timestamp to vb2_buffer 2015-12-18 13:53:31 -02:00
vmscan.h mm: change mm_vmscan_lru_shrink_inactive() proto types 2016-01-14 16:00:49 -08:00
workqueue.h
writeback.h writeback: update writeback tracepoints to report cgroup 2015-08-18 15:49:15 -07:00
xen.h x86: expose number of page table levels on Kconfig level 2015-04-14 16:49:02 -07:00