Hi, Yafang, On 8/29/24 11:58 AM, Yafang Shao wrote: > On Wed, Aug 28, 2024 at 11:51 PM Joanne Koong <joannelkoong@xxxxxxxxx> wrote: >> >> On Tue, Aug 27, 2024 at 2:52 PM kernel test robot <lkp@xxxxxxxxx> wrote: >>> >>> Hi Joanne, >>> >>> kernel test robot noticed the following build errors: >>> >>> [auto build test ERROR on mszeredi-fuse/for-next] >>> [also build test ERROR on linus/master v6.11-rc5 next-20240827] >>> [If your patch is applied to the wrong git tree, kindly drop us a note. >>> And when submitting patch, we suggest to use '--base' as documented in >>> https://git-scm.com/docs/git-format-patch#_base_tree_information] >>> >>> url: https://github.com/intel-lab-lkp/linux/commits/Joanne-Koong/fuse-add-optional-kernel-enforced-timeout-for-requests/20240827-043354 >>> base: https://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git for-next >>> patch link: https://lore.kernel.org/r/20240826203234.4079338-3-joannelkoong%40gmail.com >>> patch subject: [PATCH v5 2/2] fuse: add default_request_timeout and max_request_timeout sysctls >>> config: arc-randconfig-002-20240827 (https://download.01.org/0day-ci/archive/20240828/202408280419.yuu33o7t-lkp@xxxxxxxxx/config) >>> compiler: arceb-elf-gcc (GCC) 13.2.0 >>> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240828/202408280419.yuu33o7t-lkp@xxxxxxxxx/reproduce) >>> >>> If you fix the issue in a separate patch/commit (i.e. not just a new version of >>> the same patch/commit), kindly add following tags >>> | Reported-by: kernel test robot <lkp@xxxxxxxxx> >>> | Closes: https://lore.kernel.org/oe-kbuild-all/202408280419.yuu33o7t-lkp@xxxxxxxxx/ >>> >>> All errors (new ones prefixed by >>): >>> >>>>> fs/fuse/sysctl.c:30:5: error: redefinition of 'fuse_sysctl_register' >>> 30 | int fuse_sysctl_register(void) >>> | ^~~~~~~~~~~~~~~~~~~~ >>> In file included from fs/fuse/sysctl.c:9: >>> fs/fuse/fuse_i.h:1495:19: note: previous definition of 'fuse_sysctl_register' with type 'int(void)' >>> 1495 | static inline int fuse_sysctl_register(void) { return 0; } >>> | ^~~~~~~~~~~~~~~~~~~~ >>>>> fs/fuse/sysctl.c:38:6: error: redefinition of 'fuse_sysctl_unregister' >>> 38 | void fuse_sysctl_unregister(void) >>> | ^~~~~~~~~~~~~~~~~~~~~~ >>> fs/fuse/fuse_i.h:1496:20: note: previous definition of 'fuse_sysctl_unregister' with type 'void(void)' >>> 1496 | static inline void fuse_sysctl_unregister(void) { return; } >>> | ^~~~~~~~~~~~~~~~~~~~~~ >>> >> >> I see. In the Makefile, the sysctl.o needs to be gated by CONFIG_SYSCTL >> eg >> fuse-$(CONFIG_SYSCTL) += sysctl.o >> >> I'll wait a bit to see if there are more comments on this patchset >> before submitting v6. > > Hello Joanne, > > I noticed a change in behavior between versions v5 and v4 during my > hellofuse test. > > - Setup: > 1. Set fs.fuse.default_request_timeout to 10. > 2. Start the hellofuse daemon, with FUSE mounted on /tmp/fuse/. > 3. Run `cat /tmp/fuse/hello` and kill it within 10 seconds to > trigger a Timer expired event. > 4. Run `cat /tmp/fuse/hello` again. > > - v4: > After the Timer expired event occurs, running `cat /tmp/fuse/hello` > again is successful. > > - v5: > Running `cat /tmp/fuse/hello` fails with the error: "Transport > endpoint is not connected." > > I believe this behavior in v5 is unintended, correct? > I think v5 has changed the per-request timeout to per-connection timeout according to Miklos's suggestion. That is, once timedout, the whole connection will be aborted. -- Thanks, Jingbo