<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/fs/ocfs2/alloc.c, branch v3.0.71</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/fs/ocfs2/alloc.c?h=v3.0.71</id>
<link rel='self' href='https://git.amat.us/linux/atom/fs/ocfs2/alloc.c?h=v3.0.71'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-04-27T16:51:17Z</updated>
<entry>
<title>ocfs2: -&gt;l_next_free_req breakage on big-endian</title>
<updated>2012-04-27T16:51:17Z</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2012-04-13T16:22:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ee88fc68d677bef4de3195293dcafa77978631a7'/>
<id>urn:sha1:ee88fc68d677bef4de3195293dcafa77978631a7</id>
<content type='text'>
commit 3a251f04fe97c3d335b745c98e4b377e3c3899f2 upstream.

It's le16, not le32...

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Cc: Mark Fasheh &lt;mfasheh@suse.com&gt;
Cc: Joel Becker &lt;jlbec@evilplan.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ocfs2: Add trace event for trim.</title>
<updated>2011-05-24T06:37:20Z</updated>
<author>
<name>Tao Ma</name>
<email>boyu.mt@taobao.com</email>
</author>
<published>2011-05-23T02:36:45Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=10fca35ff12ad2a7017bce6567cffe9da443d7a2'/>
<id>urn:sha1:10fca35ff12ad2a7017bce6567cffe9da443d7a2</id>
<content type='text'>
Add the corresponding trace event for trim.

Signed-off-by: Tao Ma &lt;boyu.mt@taobao.com&gt;
Signed-off-by: Joel Becker &lt;jlbec@evilplan.org&gt;
</content>
</entry>
<entry>
<title>ocfs2: Add ocfs2_trim_fs for SSD trim support.</title>
<updated>2011-05-24T06:37:18Z</updated>
<author>
<name>Tao Ma</name>
<email>boyu.mt@taobao.com</email>
</author>
<published>2011-05-23T02:36:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e80de36d8dbff216a384e9204e54d59deeadf344'/>
<id>urn:sha1:e80de36d8dbff216a384e9204e54d59deeadf344</id>
<content type='text'>
Add ocfs2_trim_fs to support trimming freed clusters in the
volume. A range will be given and all the freed clusters greater
than minlen will be discarded to the block layer.

Signed-off-by: Tao Ma &lt;boyu.mt@taobao.com&gt;
Signed-off-by: Joel Becker &lt;jlbec@evilplan.org&gt;
</content>
</entry>
<entry>
<title>Fix common misspellings</title>
<updated>2011-03-31T14:26:23Z</updated>
<author>
<name>Lucas De Marchi</name>
<email>lucas.demarchi@profusion.mobi</email>
</author>
<published>2011-03-31T01:57:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=25985edcedea6396277003854657b5f3cb31a628'/>
<id>urn:sha1:25985edcedea6396277003854657b5f3cb31a628</id>
<content type='text'>
Fixes generated by 'codespell' and manually reviewed.

Signed-off-by: Lucas De Marchi &lt;lucas.demarchi@profusion.mobi&gt;
</content>
</entry>
<entry>
<title>ocfs2: Remove DISK_ALLOC from masklog.</title>
<updated>2011-02-22T00:01:27Z</updated>
<author>
<name>Tao Ma</name>
<email>boyu.mt@taobao.com</email>
</author>
<published>2011-02-22T00:01:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=81bad69749623062fae2f94e2d98dd43d95a36f4'/>
<id>urn:sha1:81bad69749623062fae2f94e2d98dd43d95a36f4</id>
<content type='text'>
Since all 4 files, localalloc.c, suballoc.c, alloc.c and
resize.c, which use DISK_ALLOC are changed to trace events,
Remove masklog DISK_ALLOC totally.

Signed-off-by: Tao Ma &lt;boyu.mt@taobao.com&gt;
</content>
</entry>
<entry>
<title>ocfs2: Remove mlog(0) from fs/ocfs2/alloc.c</title>
<updated>2011-02-22T00:21:10Z</updated>
<author>
<name>Tao Ma</name>
<email>boyu.mt@taobao.com</email>
</author>
<published>2011-02-22T00:21:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a09d09b8f8d7c8acd46d96e3e9899bd1461fc036'/>
<id>urn:sha1:a09d09b8f8d7c8acd46d96e3e9899bd1461fc036</id>
<content type='text'>
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 &lt;wen.gang.wang@oracle.com&gt;
Signed-off-by: Tao Ma &lt;boyu.mt@taobao.com&gt;
</content>
</entry>
<entry>
<title>ocfs2: Remove EXIT from masklog.</title>
<updated>2011-03-07T08:43:21Z</updated>
<author>
<name>Tao Ma</name>
<email>boyu.mt@taobao.com</email>
</author>
<published>2011-03-07T08:43:21Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c1e8d35ef5ffb393b94a192034b5e3541e005d75'/>
<id>urn:sha1:c1e8d35ef5ffb393b94a192034b5e3541e005d75</id>
<content type='text'>
mlog_exit is used to record the exit status of a function.
But because it is added in so many functions, if we enable it,
the system logs get filled up quickly and cause too much I/O.
So actually no one can open it for a production system or even
for a test.

This patch just try to remove it or change it. So:
1. if all the error paths already use mlog_errno, it is just removed.
   Otherwise, it will be replaced by mlog_errno.
2. if it is used to print some return value, it is replaced with
   mlog(0,...).
mlog_exit_ptr is changed to mlog(0.
All those mlog(0,...) will be replaced with trace events later.

Signed-off-by: Tao Ma &lt;boyu.mt@taobao.com&gt;
</content>
</entry>
<entry>
<title>ocfs2: Remove ENTRY from masklog.</title>
<updated>2011-02-21T03:10:44Z</updated>
<author>
<name>Tao Ma</name>
<email>boyu.mt@taobao.com</email>
</author>
<published>2011-02-21T03:10:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ef6b689b63b9f5227ccee6f16dd9ee3faf58a464'/>
<id>urn:sha1:ef6b689b63b9f5227ccee6f16dd9ee3faf58a464</id>
<content type='text'>
ENTRY is used to record the entry of a function.
But because it is added in so many functions, if we enable it,
the system logs get filled up quickly and cause too much I/O.
So actually no one can open it for a production system or even
for a test.

So for mlog_entry_void, we just remove it.
for mlog_entry(...), we replace it with mlog(0,...), and they
will be replace by trace event later.

Signed-off-by: Tao Ma &lt;boyu.mt@taobao.com&gt;
</content>
</entry>
<entry>
<title>ocfs2: Remove unused truncate function from alloc.c</title>
<updated>2011-01-08T02:03:00Z</updated>
<author>
<name>Tao Ma</name>
<email>tao.ma@oracle.com</email>
</author>
<published>2010-12-23T07:30:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=aecf58661961a553c254cf14536f70349127affb'/>
<id>urn:sha1:aecf58661961a553c254cf14536f70349127affb</id>
<content type='text'>
Tristan Ye has done some refactoring against our truncate
process, so some functions like ocfs2_prepare_truncate and
ocfs2_free_truncate_context are no use and we'd better
remove them.

Signed-off-by: Tao Ma &lt;tao.ma@oracle.com&gt;
Signed-off-by: Joel Becker &lt;joel.becker@oracle.com&gt;
</content>
</entry>
<entry>
<title>ocfs2: Try to free truncate log when meeting ENOSPC in write.</title>
<updated>2010-12-16T08:46:02Z</updated>
<author>
<name>Tao Ma</name>
<email>tao.ma@oracle.com</email>
</author>
<published>2010-11-04T07:14:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=50308d813bf26500fed671882469939fd19403a3'/>
<id>urn:sha1:50308d813bf26500fed671882469939fd19403a3</id>
<content type='text'>
Recently, one of our colleagues meet with a problem that if we
write/delete a 32mb files repeatly, we will get an ENOSPC in
the end. And the corresponding bug is 1288.
http://oss.oracle.com/bugzilla/show_bug.cgi?id=1288

The real problem is that although we have freed the clusters,
they are in truncate log and they will be summed up so that
we can free them once in a whole.

So this patch just try to resolve it. In case we see -ENOSPC
in ocfs2_write_begin_no_lock, we will check whether the truncate
log has enough clusters for our need, if yes, we will try to
flush the truncate log at that point and try again. This method
is inspired by Mark Fasheh &lt;mfasheh@suse.com&gt;. Thanks.

Cc: Mark Fasheh &lt;mfasheh@suse.com&gt;
Signed-off-by: Tao Ma &lt;tao.ma@oracle.com&gt;
Signed-off-by: Joel Becker &lt;joel.becker@oracle.com&gt;
</content>
</entry>
</feed>
