On Wed, May 25, 2011 at 10:13:33AM +0200, Jan Kara wrote: > > > > ok.. I will do it as a separate patch. > Well, patch 2/3 does not really make too much sense without it (errok > parameter isn't used) so there's no reason to do it as a separate patch. > Just add it to this patch please. Agreed; right now this whole patch series is a no-op, since errok isn't getting used for anything. So fixing errok so it's passed to start_this_handle() seems to be more in the category of "fix the patch" more than anything else. One more thing; perhaps we should be passing in a integer so we can pass in a flag word. That way you don't need to have a fail_ok variant. It's a lot more obvious if you have a call: handle = ext4_journal_start(inode, 1, JBD2_FAIL_OK); What we can also do is this: handle = ext4_journal_start(inode, 1, JBD2_FAIL_OK | JBD2_TOPLEVEL); What JBD2_TOPLEVEL means is that caller is from a top-level file system function, such as ext4_symlink() or ext4_chmod(), such that start_this_handle() can use GFP_KERNEL instead of GFP_NOFS. GFP_NOFS is needed for any function that might get called by the direct reclaim path (i.e., the writepage() function). But for the top-level symlink() or chmod() function, it's actually OK to allocate memory using GFP_KERNEL, since there's no potential recursion problem. - Ted -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html