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>