Messages in this thread |  | | Date | Thu, 13 Sep 2012 14:03:51 +0800 | From | Fengguang Wu <> | Subject | Re: [PATCH] Fix queueing work if !bdi_cap_writeback_dirty() |
| |
On Thu, Sep 13, 2012 at 02:41:31PM +0900, OGAWA Hirofumi wrote: > Fengguang Wu <fengguang.wu@intel.com> writes: > > >> If used custom bdi with BDI_CAP_NO_WRITEBACK, wait_for_completion() > >> (e.g. sync_inodes_sb()) will be blocked forever. > > > > The sync(2) block cannot be fixed by this patch? > > This patch fixes block problem too.
Ah OK, my sight was somehow limited by the screen size and only saw the first chunk...
> >> I tested by custom bdi with BDI_CAP_NO_WRITEBACK - sync(2) blocked > >> forever by this reason. > > > > What's your test script? How do you create/use that custom bdi? > > Ah, I wrote my kernel module to test. I guess there is no users in > current kernel for now, because it doesn't work.
OK. Got it. So I'd suggest to change the first chunk to a VM_BUG_ON(), which should be enough to catch new bad callers. The other two chunks look fine.
Thanks, Fengguang
|  |