<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/fs/ceph/cache.c, branch v3.12.29</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>ceph: hung on ceph fscache invalidate in some cases</title>
<updated>2014-01-09T20:25:06+00:00</updated>
<author>
<name>Milosz Tanski</name>
<email>milosz@adfin.com</email>
</author>
<published>2013-09-25T15:18:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c6c0d18bc2c1ad19333b61e5d116fa57d9cdaf4f'/>
<id>c6c0d18bc2c1ad19333b61e5d116fa57d9cdaf4f</id>
<content type='text'>
commit ffc79664d15841025d90afdd902c4112ffe168d6 upstream.

In some cases I'm on my ceph client cluster I'm seeing hunk kernel tasks in
the invalidate page code path. This is due to the fact that we don't check if
the page is marked as cache before calling fscache_wait_on_page_write().

This is the log from the hang

INFO: task XXXXXX:12034 blocked for more than 120 seconds.
"echo 0 &gt; /proc/sys/kernel/hung_task_timeout_secs" disables this message.
 ...
Call Trace:
[&lt;ffffffff81568d09&gt;] schedule+0x29/0x70
[&lt;ffffffffa01d4cbd&gt;] __fscache_wait_on_page_write+0x6d/0xb0 [fscache]
[&lt;ffffffff81083520&gt;] ? add_wait_queue+0x60/0x60
[&lt;ffffffffa029a3e9&gt;] ceph_invalidate_fscache_page+0x29/0x50 [ceph]
[&lt;ffffffffa027df00&gt;] ceph_invalidatepage+0x70/0x190 [ceph]
[&lt;ffffffff8112656f&gt;] ? delete_from_page_cache+0x5f/0x70
[&lt;ffffffff81133cab&gt;] truncate_inode_page+0x8b/0x90
[&lt;ffffffff81133ded&gt;] truncate_inode_pages_range.part.12+0x13d/0x620
[&lt;ffffffff8113431d&gt;] truncate_inode_pages_range+0x4d/0x60
[&lt;ffffffff811343b5&gt;] truncate_inode_pages+0x15/0x20
[&lt;ffffffff8119bbf6&gt;] evict+0x1a6/0x1b0
[&lt;ffffffff8119c3f3&gt;] iput+0x103/0x190
 ...

Signed-off-by: Milosz Tanski &lt;milosz@adfin.com&gt;
Reviewed-by: Sage Weil &lt;sage@inktank.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit ffc79664d15841025d90afdd902c4112ffe168d6 upstream.

In some cases I'm on my ceph client cluster I'm seeing hunk kernel tasks in
the invalidate page code path. This is due to the fact that we don't check if
the page is marked as cache before calling fscache_wait_on_page_write().

This is the log from the hang

INFO: task XXXXXX:12034 blocked for more than 120 seconds.
"echo 0 &gt; /proc/sys/kernel/hung_task_timeout_secs" disables this message.
 ...
Call Trace:
[&lt;ffffffff81568d09&gt;] schedule+0x29/0x70
[&lt;ffffffffa01d4cbd&gt;] __fscache_wait_on_page_write+0x6d/0xb0 [fscache]
[&lt;ffffffff81083520&gt;] ? add_wait_queue+0x60/0x60
[&lt;ffffffffa029a3e9&gt;] ceph_invalidate_fscache_page+0x29/0x50 [ceph]
[&lt;ffffffffa027df00&gt;] ceph_invalidatepage+0x70/0x190 [ceph]
[&lt;ffffffff8112656f&gt;] ? delete_from_page_cache+0x5f/0x70
[&lt;ffffffff81133cab&gt;] truncate_inode_page+0x8b/0x90
[&lt;ffffffff81133ded&gt;] truncate_inode_pages_range.part.12+0x13d/0x620
[&lt;ffffffff8113431d&gt;] truncate_inode_pages_range+0x4d/0x60
[&lt;ffffffff811343b5&gt;] truncate_inode_pages+0x15/0x20
[&lt;ffffffff8119bbf6&gt;] evict+0x1a6/0x1b0
[&lt;ffffffff8119c3f3&gt;] iput+0x103/0x190
 ...

Signed-off-by: Milosz Tanski &lt;milosz@adfin.com&gt;
Reviewed-by: Sage Weil &lt;sage@inktank.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>ceph: trivial buildbot warnings fix</title>
<updated>2013-09-06T16:50:12+00:00</updated>
<author>
<name>Milosz Tanski</name>
<email>milosz@adfin.com</email>
</author>
<published>2013-09-06T15:13:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=971f0bdeaabac4fcc335dace2f98e79157db4302'/>
<id>971f0bdeaabac4fcc335dace2f98e79157db4302</id>
<content type='text'>
The linux-next build bot found a three of warnings, this addresses all of them.

 * non-ANSI function declaration of function 'ceph_fscache_register' and
   'ceph_fscache_unregister'
 * symbol 'ceph_cache_netfs' was not declared, now it's extern in the header.
 * warning: "pr_fmt" redefined

Signed-off-by: Milosz Tanski &lt;milosz@adfin.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The linux-next build bot found a three of warnings, this addresses all of them.

 * non-ANSI function declaration of function 'ceph_fscache_register' and
   'ceph_fscache_unregister'
 * symbol 'ceph_cache_netfs' was not declared, now it's extern in the header.
 * warning: "pr_fmt" redefined

Signed-off-by: Milosz Tanski &lt;milosz@adfin.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ceph: Do not do invalidate if the filesystem is mounted nofsc</title>
<updated>2013-09-06T16:50:12+00:00</updated>
<author>
<name>Milosz Tanski</name>
<email>milosz@adfin.com</email>
</author>
<published>2013-09-05T18:29:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e81568eb1819af1391ac27ab28ac851410315a9f'/>
<id>e81568eb1819af1391ac27ab28ac851410315a9f</id>
<content type='text'>
Previously we would always try to enqueue work even if the filesystem is not
mounted with fscache enabled (or the file has no cookie). In the case of the
filesystem mouned nofsc (but with fscache compiled in) this would lead to a
crash.

Signed-off-by: Milosz Tanski &lt;milosz@adfin.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously we would always try to enqueue work even if the filesystem is not
mounted with fscache enabled (or the file has no cookie). In the case of the
filesystem mouned nofsc (but with fscache compiled in) this would lead to a
crash.

Signed-off-by: Milosz Tanski &lt;milosz@adfin.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ceph: ceph_readpage_to_fscache didn't check if marked</title>
<updated>2013-09-06T16:50:12+00:00</updated>
<author>
<name>Milosz Tanski</name>
<email>milosz@adfin.com</email>
</author>
<published>2013-09-03T23:11:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9b8dd1e8a55a12b67240b6b28160ac8c1dec0172'/>
<id>9b8dd1e8a55a12b67240b6b28160ac8c1dec0172</id>
<content type='text'>
Previously ceph_readpage_to_fscache did not call if page was marked as cached
before calling fscache_write_page resulting in a BUG inside of fscache.

FS-Cache: Assertion failed
------------[ cut here ]------------
kernel BUG at fs/fscache/page.c:874!
invalid opcode: 0000 [#1] SMP
Call Trace:
 [&lt;ffffffffa02e6566&gt;] __ceph_readpage_to_fscache+0x66/0x80 [ceph]
 [&lt;ffffffffa02caf84&gt;] readpage_nounlock+0x124/0x210 [ceph]
 [&lt;ffffffffa02cb08d&gt;] ceph_readpage+0x1d/0x40 [ceph]
 [&lt;ffffffff81126db6&gt;] generic_file_aio_read+0x1f6/0x700
 [&lt;ffffffffa02c6fcc&gt;] ceph_aio_read+0x5fc/0xab0 [ceph]

Signed-off-by: Milosz Tanski &lt;milosz@adfin.com&gt;
Signed-off-by: Sage Weil &lt;sage@inktank.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously ceph_readpage_to_fscache did not call if page was marked as cached
before calling fscache_write_page resulting in a BUG inside of fscache.

FS-Cache: Assertion failed
------------[ cut here ]------------
kernel BUG at fs/fscache/page.c:874!
invalid opcode: 0000 [#1] SMP
Call Trace:
 [&lt;ffffffffa02e6566&gt;] __ceph_readpage_to_fscache+0x66/0x80 [ceph]
 [&lt;ffffffffa02caf84&gt;] readpage_nounlock+0x124/0x210 [ceph]
 [&lt;ffffffffa02cb08d&gt;] ceph_readpage+0x1d/0x40 [ceph]
 [&lt;ffffffff81126db6&gt;] generic_file_aio_read+0x1f6/0x700
 [&lt;ffffffffa02c6fcc&gt;] ceph_aio_read+0x5fc/0xab0 [ceph]

Signed-off-by: Milosz Tanski &lt;milosz@adfin.com&gt;
Signed-off-by: Sage Weil &lt;sage@inktank.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ceph: use fscache as a local presisent cache</title>
<updated>2013-09-06T16:50:11+00:00</updated>
<author>
<name>Milosz Tanski</name>
<email>milosz@adfin.com</email>
</author>
<published>2013-08-21T21:29:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=99ccbd229cf7453206bc858e795ec1f0345ff258'/>
<id>99ccbd229cf7453206bc858e795ec1f0345ff258</id>
<content type='text'>
Adding support for fscache to the Ceph filesystem. This would bring it to on
par with some of the other network filesystems in Linux (like NFS, AFS, etc...)

In order to mount the filesystem with fscache the 'fsc' mount option must be
passed.

Signed-off-by: Milosz Tanski &lt;milosz@adfin.com&gt;
Signed-off-by: Sage Weil &lt;sage@inktank.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adding support for fscache to the Ceph filesystem. This would bring it to on
par with some of the other network filesystems in Linux (like NFS, AFS, etc...)

In order to mount the filesystem with fscache the 'fsc' mount option must be
passed.

Signed-off-by: Milosz Tanski &lt;milosz@adfin.com&gt;
Signed-off-by: Sage Weil &lt;sage@inktank.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
