deadlock balance_dirty_pages() to be expected?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

while I'm working on the page cached mode in FhGFS (*) I noticed a deadlock in balance_dirty_pages().

sysrq-w showed that it never started background write-out due to

if (bdi_nr_reclaimable > bdi_thresh) {
	pages_written += writeback_inodes_wb(&bdi->wb,
					    (write_chunk);


and therefore also did not leave that loop with

	if (pages_written >= write_chunk)
 				break;	/* We've done our duty */


So my process stay in uninterruptible D-state forever.

Once I added basic inode->i_data.backing_dev_info bdi support to our file system, the deadlock did not happen anymore.

So my question is simply if we should expect this deadlock, if the file system does not set up backing device information and if so, shouldn't this be documented?


Thanks,
Bernd


PS: While FhGFS has a proprietary license right now, we will soon at least provide the client kernel modules under the GPL.
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux