Whamcloud - gitweb
LU-13234: osd-ldiskfs: hold inode mutex for ldiskfs_orphan_add() 28/37528/3
authorWang Shilong <wshilong@ddn.com>
Tue, 11 Feb 2020 02:32:29 +0000 (10:32 +0800)
committerOleg Drokin <green@whamcloud.com>
Thu, 5 Mar 2020 22:36:37 +0000 (22:36 +0000)
commit9016356a288cb3365ba69c4f287406aa7ebdf97a
tree76481e9f10f61e1e909babef4759204ed3241a4a
parent816c9f01d5b44e05437b890aab4ef50edc02230f
LU-13234: osd-ldiskfs: hold inode mutex for ldiskfs_orphan_add()

See following warning:

/home/green/git/lustre-release/ldiskfs/namei.c:3310 ldiskfs_orphan_add+0x11e/0x2a0 [ldiskfs]
...
Call Trace:
[<ffffffff817d1711>] dump_stack+0x19/0x1b
[<ffffffff8108ba58>] __warn+0xd8/0x100
[<ffffffff8108bb9d>] warn_slowpath_null+0x1d/0x20
[<ffffffffa0adbfce>] ldiskfs_orphan_add+0x11e/0x2a0 [ldiskfs]
[<ffffffffa0bb3b73>] osd_punch+0x2a3/0x6c0 [osd_ldiskfs]
[<ffffffffa0692541>] ? tgt_fmd_put+0x41/0x120 [ptlrpc]
[<ffffffffa0e8b0a8>] ofd_object_punch+0x7e8/0xce0 [ofd]
[<ffffffffa0e7a5d3>] ofd_punch_hdl+0x4f3/0xa70 [ofd]
[<ffffffffa0673f55>] tgt_request_handle+0x965/0x1620 [ptlrpc]
[<ffffffffa0229dde>] ? libcfs_nid2str_r+0xfe/0x130 [lnet]
[<ffffffffa0616f60>] ptlrpc_server_handle_request+0x250/0xb10 [ptlrpc]
[<ffffffff810c6941>] ? __wake_up_common_lock+0x91/0xc0
[<ffffffff810c6250>] ? sched_feat_set+0xf0/0xf0
[<ffffffffa061b1c0>] ptlrpc_main+0xcb0/0x1cb0 [ptlrpc]
[<ffffffff810c665d>] ? finish_task_switch+0x5d/0x1b0
[<ffffffffa061a510>] ? ptlrpc_register_service+0xff0/0xff0 [ptlrpc]
[<ffffffff810b8254>] kthread+0xe4/0xf0
[<ffffffff810b8170>] ? kthread_create_on_node+0x140/0x140
[<ffffffff817e5ddd>] ret_from_fork_nospec_begin+0x7/0x21
[<ffffffff810b8170>] ? kthread_create_on_node+0x140/0x140

Hold mutex lock for ldiskfs_orphan_add() to eliminate warning.

Fixes: f64e9f19f68e ("LU-12977 ldiskfs: properly take inode_lock() for truncates")
Change-Id: I810c3c170649b3c96d98f227a480bb1092f2386c
Signed-off-by: Wang Shilong <wshilong@ddn.com>
Reviewed-on: https://review.whamcloud.com/37528
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/osd-ldiskfs/osd_io.c