On Fri, 2007-08-17 at 11:56 -0400, Josef Sipek wrote: > On Thu, Aug 16, 2007 at 09:45:34AM +0200, Peter Zijlstra wrote: > ) > > @@ -996,12 +997,16 @@ static int ext2_fill_super(struct super_ > > sbi->s_rsv_window_head.rsv_goal_size = 0; > > ext2_rsv_window_add(sb, &sbi->s_rsv_window_head); > > > > - percpu_counter_init(&sbi->s_freeblocks_counter, > > + err = percpu_counter_init(&sbi->s_freeblocks_counter, > > ext2_count_free_blocks(sb)); > > - percpu_counter_init(&sbi->s_freeinodes_counter, > > + err |= percpu_counter_init(&sbi->s_freeinodes_counter, > > ext2_count_free_inodes(sb)); > > - percpu_counter_init(&sbi->s_dirs_counter, > > + err |= percpu_counter_init(&sbi->s_dirs_counter, > > ext2_count_dirs(sb)); > > + if (err) { > > + printk(KERN_ERR "EXT2-fs: insufficient memory\n"); > > + goto failed_mount3; > > + } > > Can percpu_counter_init fail with only one error code? If not, the error > code potentially used in future at failed_mount3 could be nonsensical > because of the bitwise or-ing.
I guess I could have written saner code :-/ will try to come up with something that is both clear and short.
signature.asc
Description: This is a digitally signed message part