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 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel