<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/mm/backing-dev.c, branch v2.6.34</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v2.6.34</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v2.6.34'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2010-04-25T06:54:42Z</updated>
<entry>
<title>Catch filesystems lacking s_bdi</title>
<updated>2010-04-25T06:54:42Z</updated>
<author>
<name>Jörn Engel</name>
<email>joern@logfs.org</email>
</author>
<published>2010-04-25T06:54:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=5129a469a91a91427334c40e29e64c6d0ab68caf'/>
<id>urn:sha1:5129a469a91a91427334c40e29e64c6d0ab68caf</id>
<content type='text'>
noop_backing_dev_info is used only as a flag to mark filesystems that
don't have any backing store, like tmpfs, procfs, spufs, etc.

Signed-off-by: Joern Engel &lt;joern@logfs.org&gt;

Changed the BUG_ON() to a WARN_ON(). Note that adding dirty inodes
to the noop_backing_dev_info is not legal and will not result in
them being flushed, but we already catch this condition in
__mark_inode_dirty() when checking for a registered bdi.

Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>bdi: add helper function for doing init and register of a bdi for a file system</title>
<updated>2010-04-22T09:39:36Z</updated>
<author>
<name>Jens Axboe</name>
<email>jens.axboe@oracle.com</email>
</author>
<published>2010-04-22T09:37:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c3c532061e46156e8aab1268f38d66cfb63aeb2d'/>
<id>urn:sha1:c3c532061e46156e8aab1268f38d66cfb63aeb2d</id>
<content type='text'>
Pretty trivial helper, just sets up the bdi and registers it. An atomic
sequence count is used to ensure that the registered sysfs names are
unique.

Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>backing-dev: Handle class_create() failure</title>
<updated>2010-04-02T07:46:55Z</updated>
<author>
<name>Anton Blanchard</name>
<email>anton@samba.org</email>
</author>
<published>2010-04-02T07:46:55Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=144214537370b4f133a735446ebe86e90cfb2501'/>
<id>urn:sha1:144214537370b4f133a735446ebe86e90cfb2501</id>
<content type='text'>
I hit this when we had a bug in IDR for a few days. Basically sysfs would
fail to create new inodes since it uses an IDR and therefore class_create would
fail.

While we are unlikely to see this fail we may as well handle it instead of
oopsing.

Signed-off-by: Anton Blanchard &lt;anton@samba.org&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>flusher: Fix PF_FROZEN race</title>
<updated>2009-12-03T12:49:43Z</updated>
<author>
<name>OGAWA Hirofumi</name>
<email>hirofumi@mail.parknet.co.jp</email>
</author>
<published>2009-12-03T12:49:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=bf7ec5bb6114b2f086e536e24486fdacd1c0d339'/>
<id>urn:sha1:bf7ec5bb6114b2f086e536e24486fdacd1c0d339</id>
<content type='text'>
To touch task-&gt;flags directly is racy. thaw_process() still has race
(changing non_current-&gt;flags, but this is another issue) though, I think
it's much better off.

So, use thaw_process() instead.

Signed-off-by: OGAWA Hirofumi &lt;hirofumi@mail.parknet.co.jp&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>Thaw refrigerated bdi flusher threads before invoking kthread_stop on them</title>
<updated>2009-11-12T12:08:11Z</updated>
<author>
<name>Romit Dasgupta</name>
<email>romit@ti.com</email>
</author>
<published>2009-11-12T12:08:11Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c62b17a58ab5e97534ff6487241addd5fcc606de'/>
<id>urn:sha1:c62b17a58ab5e97534ff6487241addd5fcc606de</id>
<content type='text'>
Unfreezes the bdi flusher task when the said task needs to exit.

Steps to reproduce this.
1) Mount a file system from MMC/SD card.
2) Unmount the file system. This creates a flusher task.
3) Attempt suspend to RAM. System is unresponsive.

This is because the bdi flusher thread is already in the refrigerator and will
remain so until it is thawed. The MMC driver suspend routine call stack will
ultimately issue a 'kthread_stop' on the bdi flusher thread and will block
until the flusher thread is exited. Since the bdi flusher thread is in the
refrigerator it never cleans up until thawed.

Signed-off-by: Romit Dasgupta &lt;romit@ti.com&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>backing-dev: bdi sb prune should be in the unregister path, not destroy</title>
<updated>2009-11-03T19:18:44Z</updated>
<author>
<name>Jens Axboe</name>
<email>jens.axboe@oracle.com</email>
</author>
<published>2009-11-03T19:18:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=8c4db3355b0fcc9ad77431f15b955efa0645b5d0'/>
<id>urn:sha1:8c4db3355b0fcc9ad77431f15b955efa0645b5d0</id>
<content type='text'>
Commit 592b09a42fc3ae6737a0f3ecf4fee42ecd0296f8 was different from
the tested path, in that it moved the bdi super_block prune from
unregister to destroy context. This doesn't fully fix the sync hang
bug on unexpected device removal, as need to prune the bdi cache
pointer before killing flusher thread.

Tested-by: Artur Skawina &lt;art.08.09@gmail.com&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>backing-dev: ensure that a removed bdi no longer has super_block referencing it</title>
<updated>2009-10-29T10:46:12Z</updated>
<author>
<name>Jens Axboe</name>
<email>jens.axboe@oracle.com</email>
</author>
<published>2009-10-29T10:46:12Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=592b09a42fc3ae6737a0f3ecf4fee42ecd0296f8'/>
<id>urn:sha1:592b09a42fc3ae6737a0f3ecf4fee42ecd0296f8</id>
<content type='text'>
When the bdi is being removed, we have to ensure that no super_blocks
currently have that cached in sb-&gt;s_bdi. Normally this is ensured by
the sb having a longer life span than the bdi, but if the device is
suddenly yanked, we have to kill this reference. sb-&gt;s_bdi is pointed
to freed memory at that point.

This fixes a problem with sync(1) hanging when a USB stick is pulled
without cleanly umounting it first.

Reported-by: Pavel Machek &lt;pavel@ucw.cz&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>writeback: kill space in debugfs item name</title>
<updated>2009-10-09T11:01:27Z</updated>
<author>
<name>Wu Fengguang</name>
<email>fengguang.wu@intel.com</email>
</author>
<published>2009-10-09T11:01:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=961515f613f26b7958c56c5c71061a8231e02be7'/>
<id>urn:sha1:961515f613f26b7958c56c5c71061a8231e02be7</id>
<content type='text'>
The space is not script friendly, kill it.

Signed-off-by: Wu Fengguang &lt;fengguang.wu@intel.com&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>writeback: splice dirty inode entries to default bdi on bdi_destroy()</title>
<updated>2009-09-16T13:18:52Z</updated>
<author>
<name>Jens Axboe</name>
<email>jens.axboe@oracle.com</email>
</author>
<published>2009-09-14T10:57:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=ce5f8e7795195edb6f84f74aa9d72e739df38486'/>
<id>urn:sha1:ce5f8e7795195edb6f84f74aa9d72e739df38486</id>
<content type='text'>
We cannot safely ensure that the inodes are all gone at this point
in time, and we must not destroy this bdi with inodes having off it.
So just splice our entries to the default bdi since that one will
always persist.

Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>writeback: use RCU to protect bdi_list</title>
<updated>2009-09-16T13:18:51Z</updated>
<author>
<name>Jens Axboe</name>
<email>jens.axboe@oracle.com</email>
</author>
<published>2009-09-14T11:12:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=cfc4ba5365449cb6b5c9f68d755a142f17da1e47'/>
<id>urn:sha1:cfc4ba5365449cb6b5c9f68d755a142f17da1e47</id>
<content type='text'>
Now that bdi_writeback_all() no longer handles integrity writeback,
it doesn't have to block anymore. This means that we can switch
bdi_list reader side protection to RCU.

Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
</feed>
