Re: [PATCH v3 08/20] fanotify: break up fanotify_alloc_event()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Amir,

I love your patch! Perhaps something to improve:

[auto build test WARNING on ext3/fsnotify]
[also build test WARNING on nfsd/nfsd-next driver-core/driver-core-testing linus/master v5.8-rc4 next-20200707]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use  as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Amir-Goldstein/fsnotify-Rearrange-fast-path-to-minimise-overhead-when-there-is-no-watcher/20200708-191525
base:   https://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs.git fsnotify
config: i386-randconfig-r015-20200708 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
reproduce (this is a W=1 build):
        # save the attached .config to linux build tree
        make W=1 ARCH=i386 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

>> fs/notify/fanotify/fanotify.c:347:24: warning: no previous prototype for 'fanotify_alloc_path_event' [-Wmissing-prototypes]
     347 | struct fanotify_event *fanotify_alloc_path_event(const struct path *path,
         |                        ^~~~~~~~~~~~~~~~~~~~~~~~~
>> fs/notify/fanotify/fanotify.c:363:24: warning: no previous prototype for 'fanotify_alloc_perm_event' [-Wmissing-prototypes]
     363 | struct fanotify_event *fanotify_alloc_perm_event(const struct path *path,
         |                        ^~~~~~~~~~~~~~~~~~~~~~~~~
>> fs/notify/fanotify/fanotify.c:381:24: warning: no previous prototype for 'fanotify_alloc_fid_event' [-Wmissing-prototypes]
     381 | struct fanotify_event *fanotify_alloc_fid_event(struct inode *id,
         |                        ^~~~~~~~~~~~~~~~~~~~~~~~
>> fs/notify/fanotify/fanotify.c:398:24: warning: no previous prototype for 'fanotify_alloc_name_event' [-Wmissing-prototypes]
     398 | struct fanotify_event *fanotify_alloc_name_event(struct inode *id,
         |                        ^~~~~~~~~~~~~~~~~~~~~~~~~

vim +/fanotify_alloc_path_event +347 fs/notify/fanotify/fanotify.c

   346	
 > 347	struct fanotify_event *fanotify_alloc_path_event(const struct path *path,
   348							 gfp_t gfp)
   349	{
   350		struct fanotify_path_event *pevent;
   351	
   352		pevent = kmem_cache_alloc(fanotify_path_event_cachep, gfp);
   353		if (!pevent)
   354			return NULL;
   355	
   356		pevent->fae.type = FANOTIFY_EVENT_TYPE_PATH;
   357		pevent->path = *path;
   358		path_get(path);
   359	
   360		return &pevent->fae;
   361	}
   362	
 > 363	struct fanotify_event *fanotify_alloc_perm_event(const struct path *path,
   364							 gfp_t gfp)
   365	{
   366		struct fanotify_perm_event *pevent;
   367	
   368		pevent = kmem_cache_alloc(fanotify_perm_event_cachep, gfp);
   369		if (!pevent)
   370			return NULL;
   371	
   372		pevent->fae.type = FANOTIFY_EVENT_TYPE_PATH_PERM;
   373		pevent->response = 0;
   374		pevent->state = FAN_EVENT_INIT;
   375		pevent->path = *path;
   376		path_get(path);
   377	
   378		return &pevent->fae;
   379	}
   380	
 > 381	struct fanotify_event *fanotify_alloc_fid_event(struct inode *id,
   382							__kernel_fsid_t *fsid,
   383							gfp_t gfp)
   384	{
   385		struct fanotify_fid_event *ffe;
   386	
   387		ffe = kmem_cache_alloc(fanotify_fid_event_cachep, gfp);
   388		if (!ffe)
   389			return NULL;
   390	
   391		ffe->fae.type = FANOTIFY_EVENT_TYPE_FID;
   392		ffe->fsid = *fsid;
   393		fanotify_encode_fh(&ffe->object_fh, id, gfp);
   394	
   395		return &ffe->fae;
   396	}
   397	
 > 398	struct fanotify_event *fanotify_alloc_name_event(struct inode *id,
   399							 __kernel_fsid_t *fsid,
   400							 const struct qstr *file_name,
   401							 gfp_t gfp)
   402	{
   403		struct fanotify_name_event *fne;
   404	
   405		fne = kmalloc(sizeof(*fne) + file_name->len + 1, gfp);
   406		if (!fne)
   407			return NULL;
   408	
   409		fne->fae.type = FANOTIFY_EVENT_TYPE_FID_NAME;
   410		fne->fsid = *fsid;
   411		fanotify_encode_fh(&fne->dir_fh, id, gfp);
   412		fne->name_len = file_name->len;
   413		strcpy(fne->name, file_name->name);
   414	
   415		return &fne->fae;
   416	}
   417	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux