From: kernel test robot <lkp@intel.com> To: Amir Goldstein <amir73il@gmail.com>, Jan Kara <jack@suse.cz> Cc: kbuild-all@lists.01.org, linux-fsdevel@vger.kernel.org Subject: Re: [PATCH v3 08/20] fanotify: break up fanotify_alloc_event() Date: Thu, 9 Jul 2020 00:40:05 +0800 [thread overview] Message-ID: <202007090013.7dqQz7rS%lkp@intel.com> (raw) In-Reply-To: <20200708111156.24659-8-amir73il@gmail.com> [-- Attachment #1: Type: text/plain, Size: 4331 bytes --] 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@intel.com> 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@lists.01.org [-- Attachment #2: .config.gz --] [-- Type: application/gzip, Size: 29399 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com> To: kbuild-all@lists.01.org Subject: Re: [PATCH v3 08/20] fanotify: break up fanotify_alloc_event() Date: Thu, 09 Jul 2020 00:40:05 +0800 [thread overview] Message-ID: <202007090013.7dqQz7rS%lkp@intel.com> (raw) In-Reply-To: <20200708111156.24659-8-amir73il@gmail.com> [-- Attachment #1: Type: text/plain, Size: 4447 bytes --] 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@intel.com> 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(a)lists.01.org [-- Attachment #2: config.gz --] [-- Type: application/gzip, Size: 29399 bytes --]
next prev parent reply other threads:[~2020-07-08 16:40 UTC|newest] Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-07-08 11:11 [PATCH v3 01/20] fsnotify: Rearrange fast path to minimise overhead when there is no watcher Amir Goldstein 2020-07-08 11:11 ` [PATCH v3 02/20] fsnotify: fold fsnotify() call into fsnotify_parent() Amir Goldstein 2020-07-08 11:11 ` [PATCH v3 03/20] fsnotify: return non const from fsnotify_data_inode() Amir Goldstein 2020-07-08 11:11 ` [PATCH v3 04/20] nfsd: use fsnotify_data_inode() to get the unlinked inode Amir Goldstein 2020-07-08 11:11 ` [PATCH v3 05/20] kernfs: do not call fsnotify() with name without a parent Amir Goldstein 2020-07-08 11:11 ` [PATCH v3 06/20] inotify: do not use objectid when comparing events Amir Goldstein 2020-07-08 11:11 ` [PATCH v3 07/20] fanotify: create overflow event type Amir Goldstein 2020-07-08 11:11 ` [PATCH v3 08/20] fanotify: break up fanotify_alloc_event() Amir Goldstein 2020-07-08 16:40 ` kernel test robot [this message] 2020-07-08 16:40 ` kernel test robot 2020-07-09 7:32 ` kernel test robot 2020-07-09 9:03 ` Amir Goldstein 2020-07-08 11:11 ` [PATCH v3 09/20] fsnotify: pass dir argument to handle_event() callback Amir Goldstein 2020-07-08 11:11 ` [PATCH v3 10/20] fanotify: generalize the handling of extra event flags Amir Goldstein 2020-07-08 11:11 ` [PATCH v3 11/20] fanotify: generalize merge logic of events on dir Amir Goldstein 2020-07-08 11:11 ` [PATCH v3 12/20] fanotify: distinguish between fid encode error and null fid Amir Goldstein 2020-07-08 11:11 ` [PATCH v3 13/20] fanotify: generalize test for FAN_REPORT_FID Amir Goldstein 2020-07-08 11:11 ` [PATCH v3 14/20] fanotify: mask out special event flags from ignored mask Amir Goldstein 2020-07-08 11:11 ` [PATCH v3 15/20] fanotify: prepare for implicit event flags in mark mask Amir Goldstein 2020-07-08 11:11 ` [PATCH v3 16/20] fanotify: use FAN_EVENT_ON_CHILD as implicit flag on sb/mount/non-dir marks Amir Goldstein 2020-07-08 11:11 ` [PATCH v3 17/20] fanotify: remove event FAN_DIR_MODIFY Amir Goldstein 2020-07-08 11:11 ` [PATCH v3 18/20] fsnotify: add object type "child" to object type iterator Amir Goldstein 2020-07-08 11:11 ` [PATCH v3 19/20] fanotify: use struct fanotify_info to parcel the variable size buffer Amir Goldstein 2020-07-08 11:11 ` [PATCH v3 20/20] fanotify: no external fh buffer in fanotify_name_event Amir Goldstein 2020-07-15 15:34 ` Jan Kara 2020-07-15 16:05 ` Amir Goldstein 2020-07-15 16:22 ` Amir Goldstein 2020-07-15 16:24 ` Jan Kara 2020-07-15 17:44 ` Amir Goldstein 2020-07-08 11:11 ` [PATCH v3 00/20] Prep work for fanotify events with name info Amir Goldstein
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=202007090013.7dqQz7rS%lkp@intel.com \ --to=lkp@intel.com \ --cc=amir73il@gmail.com \ --cc=jack@suse.cz \ --cc=kbuild-all@lists.01.org \ --cc=linux-fsdevel@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.