Hi
Thank you for this useful comments.
I vaguely remember Adrian (CCed) did this on purpose. This is for theYes it needs PF_MEMALLOC to prevent deadlock because there can be a
case when nandsim emulates NAND flash on top of a file. So there are 2
file-systems involved: one sits on top of nandsim (e.g. UBIFS) and the
other owns the file which nandsim uses (e.g., ext3).
And I really cannot remember off the top of my head why he needed
PF_MEMALLOC, but I think Adrian wanted to prevent the direct reclaim
path to re-enter, say UBIFS, and cause deadlock. But I'd thing that all
the allocations in vfs_read()/vfs_write() should be GFP_NOFS, so that
should not be a probelm?
file system on top of nandsim which, in this case, is on top of another
file system.
I do not see how mempools will help here.
Please offer an alternative solution.
I have few questions.
Can you please explain more detail? Another stackable filesystam
(e.g. ecryptfs) don't have such problem. Why nandsim have its issue?
What lock cause deadlock?