Re: [PATCH] staging: lustre: mdc: use __FMODE_EXEC macro

Juston
2014-11-18T00:23:13Z

On Tue, 2014-11-18 at 01:46 +0300, Dan Carpenter wrote:
> On Mon, Nov 17, 2014 at 02:23:48PM -0800, Juston Li wrote:
> > FMODE_EXEC is type fmode_t but is used in operations
> > with integers which leads to sparse warnings:
> > drivers/staging/lustre/lustre/mdc/mdc_lib.c:198:21: warning: restricted fmode_t degrades to integer
> > drivers/staging/lustre/lustre/mdc/mdc_locks.c:300:49: warning: restricted fmode_t degrades to integer
> >
> > Fix by using __FMODE_EXEC macro defined in fs.h.
> >
> > Note the same warnings occurs with other fmode flags
> > here but they don't have a corresponding int macro.
> >
>
> When are FMODE_EXEC and __FMODE_EXEC not defined? I think they're
> always defined. I don't understand the point of these ifdefs. I guess
> maybe they are for compatability with obsolete kernels?
>
> regards,
> dan carpenter
>
Seems to be the case. Looked at some old commits (2.6.17) and found
FMODE_EXEC was mainlined to allow lustre to be installed on a vanilla
kernel.
Since you pointed it out, if we are dealing with compatability with
obselete kernels, __FMODE_EXEC was added later in 2.6.38. Wondering
if I should address the case where FMODE_EXEC is defined but
__FMODE_EXEC isn't since I currently only check __FMODE_EXEC.

Regards,
Juston Li