linux/fs/ocfs2
Mauricio Faria de Oliveira 45680967ee ocfs2: ratelimit the 'max lookup times reached' notice
Running stress-ng on ocfs2 completely fills the kernel log with 'max
lookup times reached, filesystem may have nested directories.'

Let's ratelimit this message as done with others in the code.

Test-case:

  # mkfs.ocfs2 --mount local $DEV
  # mount $DEV $MNT
  # cd $MNT

  # dmesg -C
  # stress-ng --dirdeep 1 --dirdeep-ops 1000
  # dmesg | grep -c 'max lookup times reached'

Before:

  # dmesg -C
  # stress-ng --dirdeep 1 --dirdeep-ops 1000
  ...
  stress-ng: info:  [11116] successful run completed in 3.03s

  # dmesg | grep -c 'max lookup times reached'
  967

After:

  # dmesg -C
  # stress-ng --dirdeep 1 --dirdeep-ops 1000
  ...
  stress-ng: info:  [739] successful run completed in 0.96s

  # dmesg | grep -c 'max lookup times reached'
  10

  # dmesg
  [  259.086086] ocfs2_check_if_ancestor: 1990 callbacks suppressed
  [  259.086092] (stress-ng-dirde,740,1):ocfs2_check_if_ancestor:1091 max lookup times reached, filesystem may have nested directories, src inode: 18007, dest inode: 17940.
  ...

Link: https://lkml.kernel.org/r/20201001224417.478263-1-mfo@canonical.com
Signed-off-by: Mauricio Faria de Oliveira <mfo@canonical.com>
Reviewed-by: Joseph Qi <joseph.qi@linux.alibaba.com>
Cc: Mark Fasheh <mark@fasheh.com>
Cc: Joel Becker <jlbec@evilplan.org>
Cc: Junxiao Bi <junxiao.bi@oracle.com>
Cc: Changwei Ge <gechangwei@live.cn>
Cc: Gang He <ghe@suse.com>
Cc: Jun Piao <piaojun@huawei.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-12-15 12:13:37 -08:00
..
cluster fs/ocfs2/cluster/tcp.c: remove unneeded break 2020-12-15 12:13:37 -08:00
dlm ocfs2: add missing annotation for dlm_empty_lockres() 2020-06-02 10:59:05 -07:00
dlmfs dlmfs: clean up dlmfs_file_{read,write}() a bit 2020-06-14 19:04:42 -04:00
acl.c ocfs2: fix remounting needed after setfacl command 2020-08-07 11:33:21 -07:00
acl.h
alloc.c ocfs2: fix potential soft lockup during fstrim 2020-10-13 18:38:27 -07:00
alloc.h
aops.c fs: convert mpage_readpages to mpage_readahead 2020-06-02 10:59:07 -07:00
aops.h
blockcheck.c ocfs2: replace HTTP links with HTTPS ones 2020-08-07 11:33:22 -07:00
blockcheck.h ocfs: no need to check return value of debugfs_create functions 2019-07-12 11:05:41 -07:00
buffer_head_io.c
buffer_head_io.h
dcache.c
dcache.h
dir.c treewide: Remove uninitialized_var() usage 2020-07-16 12:35:15 -07:00
dir.h
dlmglue.c ocfs2: fix unbalanced locking 2020-08-07 11:33:22 -07:00
dlmglue.h
export.c
export.h
extent_map.c treewide: Remove uninitialized_var() usage 2020-07-16 12:35:15 -07:00
extent_map.h
file.c block: remove the error_sector argument to blkdev_issue_flush 2020-05-22 08:45:46 -06:00
file.h
filecheck.c
filecheck.h
heartbeat.c
heartbeat.h
inode.c ocfs2: fix spelling mistake "ambigous" -> "ambiguous" 2019-09-24 15:54:07 -07:00
inode.h
ioctl.c compat_ioctl: remove most of fs/compat_ioctl.c 2019-12-01 13:46:15 -08:00
ioctl.h
journal.c jbd2: rename j_maxlen to j_total_len and add jbd2_journal_max_txn_bufs 2020-11-06 23:01:02 -05:00
journal.h ocfs2: fix a NULL pointer dereference when call ocfs2_update_inode_fsync_trans() 2020-01-31 10:30:36 -08:00
Kconfig ocfs2: replace HTTP links with HTTPS ones 2020-08-07 11:33:22 -07:00
localalloc.c ocfs2: delete repeated words in comments 2020-10-13 18:38:27 -07:00
localalloc.h
locks.c
locks.h
Makefile
mmap.c ocfs2: fix spelling mistake and grammar 2020-06-10 19:14:18 -07:00
mmap.h
move_extents.c
move_extents.h
namei.c ocfs2: ratelimit the 'max lookup times reached' notice 2020-12-15 12:13:37 -08:00
namei.h
ocfs1_fs_compat.h
ocfs2_fs.h ocfs2: fix value of OCFS2_INVALID_SLOT 2020-06-26 00:27:37 -07:00
ocfs2_ioctl.h
ocfs2_lockid.h
ocfs2_lockingver.h
ocfs2_trace.h
ocfs2.h ocfs2: change slot number type s16 to u16 2020-08-07 11:33:21 -07:00
quota_global.c quota: Check that quota is not dirty before release 2019-10-31 19:07:42 +01:00
quota_local.c
quota.h
refcounttree.c treewide: Remove uninitialized_var() usage 2020-07-16 12:35:15 -07:00
refcounttree.h
reservations.c ocfs2: remove unused macros 2020-04-02 09:35:25 -07:00
reservations.h
resize.c
resize.h
slot_map.c ocfs2: mount shared volume without ha stack 2020-06-02 10:59:05 -07:00
slot_map.h
stack_o2cb.c
stack_user.c
stackglue.c ocfs2: remove FS_OCFS2_NM 2020-04-02 09:35:25 -07:00
stackglue.h
suballoc.c ocfs2: change slot number type s16 to u16 2020-08-07 11:33:21 -07:00
suballoc.h ocfs2: suballoc.h: delete a duplicated word 2020-08-07 11:33:21 -07:00
super.c ocfs2: initialize ip_next_orphan 2020-11-14 11:26:04 -08:00
super.h
symlink.c
symlink.h
sysfile.c
sysfile.h
uptodate.c
uptodate.h
xattr.c treewide: Remove uninitialized_var() usage 2020-07-16 12:35:15 -07:00
xattr.h