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