smb request is blocked after calling close function when network is lost

-3

My application was writing data to a cifs filesystem, when the file was written completely, it called close, at this time, the network is lost. the close calling was blocked. this is log in dmesg:

[  +0.006721] INFO: task filesync:4190 blocked for more than 120 seconds.
[  +0.007361] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables 
this message.
[  +0.008557] filesync        D ffff880211d07da0     0  4190      1 0x00000000
[  +0.007803]  ffff880211d07c40 0000000000000082 ffff880211bfdc00 ffff880211d07fd8
[  +0.008247]  ffff880211d07fd8 ffff880211d07fd8 ffff880211bfdc00 ffff88021f294780
[  +0.008190]  0000000000000000 7fffffffffffffff ffffffff811688b0 ffff880211d07da0
[  +0.008169] Call Trace:
[  +0.003108]  [<ffffffff811688b0>] ? wait_on_page_read+0x60/0x60
[  +0.006617]  [<ffffffff8163a909>] schedule+0x29/0x70
[  +0.005668]  [<ffffffff816385f9>] schedule_timeout+0x209/0x2d0
[  +0.006535]  [<ffffffff8150f751>] ? kernel_setsockopt+0x31/0x50
[  +0.006601]  [<ffffffffa0672c9d>] ? smb_send_rqst+0x17d/0x2a0 [cifs]
[  +0.007023]  [<ffffffff8101c829>] ? read_tsc+0x9/0x10
[  +0.005687]  [<ffffffff811688b0>] ? wait_on_page_read+0x60/0x60
[  +0.006588]  [<ffffffff81639f3e>] io_schedule_timeout+0xae/0x130
[  +0.006678]  [<ffffffff81639fd8>] io_schedule+0x18/0x20
[  +0.005892]  [<ffffffff811688be>] sleep_on_page+0xe/0x20
[  +0.005952]  [<ffffffff81638780>] __wait_on_bit+0x60/0x90
[  +0.006014]  [<ffffffff81168646>] wait_on_page_bit+0x86/0xb0
[  +0.006278]  [<ffffffff810a6b60>] ? wake_atomic_t_function+0x40/0x40
[  +0.007080]  [<ffffffff81168781>] filemap_fdatawait_range+0x111/0x1b0
[  +0.007073]  [<ffffffff811758fe>] ? do_writepages+0x1e/0x40
[  +0.006202]  [<ffffffff8116a685>] ? __filemap_fdatawrite_range+0x65/0x80
[  +0.007325]  [<ffffffff81168847>] filemap_fdatawait+0x27/0x30
[  +0.006369]  [<ffffffff8116a70b>] filemap_write_and_wait+0x3b/0x60
[  +0.006798]  [<ffffffffa0669ad1>] cifs_flush+0x41/0x70 [cifs]
[  +0.006358]  [<ffffffff811dc254>] filp_close+0x34/0x80
[  +0.005769]  [<ffffffff811fcb98>] __close_fd+0x78/0xa0
[  +0.005758]  [<ffffffff811dd963>] SyS_close+0x23/0x50
[  +0.005666]  [<ffffffff81645909>] system_call_fastpath+0x16/0x1b

After this message, the system can't work normally. in the log, smb request is blocked, how to avoid it?

linux
smb
cifs
asked on Stack Overflow Jul 25, 2018 by Kevin Wang

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0