[D][SRU][PATCH 0/1] ovl: do not generate duplicate fsnotify events for "fake" path
Po-Hsu Lin
po-hsu.lin at canonical.com
Mon Jun 17 11:04:24 UTC 2019
== SRU Justification ==
fanotify06 test from ubuntu_ltp_syscalls reported that test #1 for
overlayfs has received more than one expected event:
<<<test_start>>>
tag=fanotify06 stime=1560747299
cmdline="fanotify06"
contacts=""
analysis=exit
<<<test_output>>>
incrementing stop
tst_device.c:231: INFO: Using test device LTP_DEV='/dev/loop2'
tst_mkfs.c:90: INFO: Formatting /dev/loop2 with ext2 opts='' extra opts=''
mke2fs 1.44.6 (5-Mar-2019)
tst_test.c:1112: INFO: Timeout per run is 0h 05m 00s
fanotify06.c:169: INFO: Test #0: Fanotify merge mount mark
fanotify06.c:147: PASS: group 0 got event: mask 2 pid=1136 fd=15
....
fanotify06.c:230: PASS: group 8 got no event
fanotify06.c:169: INFO: Test #1: Fanotify merge overlayfs mount mark
fanotify06.c:208: FAIL: group 0 got more than one event (48 > 24)
fanotify06.c:208: FAIL: group 1 got more than one event (48 > 24)
fanotify06.c:208: FAIL: group 2 got more than one event (48 > 24)
fanotify06.c:220: FAIL: group 3 got event
fanotify06.c:220: FAIL: group 4 got event
fanotify06.c:220: FAIL: group 5 got event
fanotify06.c:220: FAIL: group 6 got event
fanotify06.c:220: FAIL: group 7 got event
fanotify06.c:220: FAIL: group 8 got event
Summary:
passed 9
failed 9
skipped 0
warnings 0
This duplicated event was generated with operations on files with
"fake" path.
== Fix ==
* d9899030 (ovl: do not generate duplicate fsnotify events for "fake" path)
This patch can be cherry-picked into Disco.
Older kernels are not affected by this issue (without commit d1d04ef8)
== Test ==
Test kernel could be found here:
https://people.canonical.com/~phlin/kernel/lp-1833028-fanotify06-ovl/
Verified on a KVM node, the fanotify06 test will pass with this patched
disco kernel:
fanotify06.c:169: INFO: Test #1: Fanotify merge overlayfs mount mark
fanotify06.c:147: PASS: group 0 got event: mask 2 pid=5997 fd=30
fanotify06.c:147: PASS: group 1 got event: mask 2 pid=5997 fd=30
fanotify06.c:147: PASS: group 2 got event: mask 2 pid=5997 fd=30
fanotify06.c:230: PASS: group 3 got no event
fanotify06.c:230: PASS: group 4 got no event
fanotify06.c:230: PASS: group 5 got no event
fanotify06.c:230: PASS: group 6 got no event
fanotify06.c:230: PASS: group 7 got no event
fanotify06.c:230: PASS: group 8 got no event
== Regression Potential ==
Low, fix limited to the overlayfs and just corrects the flag behaviour
with "fake" path.
Amir Goldstein (1):
ovl: do not generate duplicate fsnotify events for "fake" path
fs/overlayfs/file.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
--
2.7.4
More information about the kernel-team
mailing list