Re: [PATCH 13/25] Unionfs: add un/likely conditionals on dir ops

Erez Zadok
2007-09-27T14:28:32Z

In message <46FAD1D2.8030306@tiscali.nl>, roel writes:
> Erez Zadok wrote:
>
> > @@ -194,7 +194,7 @@ int check_empty(struct dentry *dentry, struct unionfs_dir_state **namelist)
> >
> > BUG_ON(!S_ISDIR(dentry->d_inode->i_mode));
> >
> > - if ((err = unionfs_partial_lookup(dentry)))
> > + if (unlikely((err = unionfs_partial_lookup(dentry))))
> > goto out;
> >
> > bstart = dbstart(dentry);
>
> Is it bad to leave this assignment within the unlikely()?

I don't know. Anyone? Will un/likely "break" in the above form?

Actually, it looks like assignments within conditionals are just prohibited
(even if you use double parentheses to shut gcc up :-). It's not mentioned
in the CodingStyle, but it is in scripts/checkpatch.pl. So I'll have to
take out all those assignments out of the conditionals anyway. Good. It
makes code more readable (and besides, most modern compilers will optimize
it just the same).

Cheers,
Erez.