Re: [PATCH 1/5] jbd2: Pass extra bool parameter in journal routines to specify if its ok to fail the journal transaction allocation.
From: Jan Kara <jack@suse.cz>
Date: 2011-05-16 15:52:01
Hello, On Thu 12-05-11 23:37:05, Manish Katiyar wrote:
On Wed, May 11, 2011 at 8:54 AM, Jan Kara [off-list ref] wrote:quoted
Hi, sorry I got to your patches with a delay. One general note - please do not attach patches. It is enough to have them in the email... On Sun 24-04-11 17:10:41, Manish Katiyar wrote:quoted
Pass extra bool parameter in journal routines to specify if its ok to fail the journal transaction allocation. If 'true' is passed transaction allocation is done through GFP_KERNEL and ENOMEM is returned else GFP_NOFS is used.Please, do not mix error handling with gfp masks. Instead just rename jbd2__journal_start() to jbd2_journal_start() and change gfp_mask parameter to "bool errok".ok.quoted
Use GFP_NOFS gfp mask for start_this_handle().I think I didn't completely understand this line. You meant passing GFP_KERNEL or GFP_NOFS based on errok right ?
No, I meant passing GFP_NOFS always. Currently, GFP_NOFS is used in all the cases (noone uses GFP_KERNEL variant) and GFP_KERNEL can really be used only when we do not hold other filesystem locks (as GFP_KERNEL allocation can recurse back into filesystem to reclaim memory). So using GFP_KERNEL would need more auditting and is a separate issue anyway.
quoted
Also your patch series should be bisectable - that means it must compile and run after any of the patches. So you cannot really change jbd2_journal_start() prototype without changing all the filesystems using it. In this case, just include in this patch a simple change for ext4 and ocfs2 to pass 'false' in the additional argument.ok.. Will submit the first patch as everyone passing false as the errok argument.
Thanks. Honza -- Jan Kara [off-list ref] SUSE Labs, CR -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html