[LU-7744] "ima_file_free: f3 open/free imbalance" opening file on inactive OST Created: 05/Feb/16 Updated: 13/Oct/21 Resolved: 13/Oct/21 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | Lustre 2.5.3 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Minor |
| Reporter: | Andreas Dilger | Assignee: | WC Triage |
| Resolution: | Cannot Reproduce | Votes: | 0 |
| Labels: | None | ||
| Environment: |
Lustre: 2.5.3 |
||
| Attachments: |
|
| Severity: | 3 |
| Rank (Obsolete): | 9223372036854775807 |
| Description |
|
When opening a file for write with objects on an inactive OST, the console prints the following message: # lctl --device myth-OST0003-osc-ffff880037c4f800 deactivate Lustre: setting import myth-OST0003_UUID INACTIVE by administrator request # echo foo > /myth/tmp/ost3/f3 -bash: /myth/tmp/ost3/f3: Cannot send after transport endpoint shutdown ima_file_free: f3 open/free imbalance (r:0 w:0 o:0 f:0) Pid: 1752, comm: mythbackend Not tainted 2.6.32.26-175.fc12.x86_64 #1 Call Trace: [<ffffffff81202cd4>] ima_file_free+0xa7/0x10c [<ffffffff8111d379>] __fput+0x13a/0x1dc [<ffffffff8111d435>] fput+0x1a/0x1c [<ffffffff81126937>] release_open_intent+0x23/0x25 [<ffffffff811298fc>] do_filp_open+0x59c/0x9d6 [<ffffffff8104fcce>] ? finish_task_switch+0x48/0xb8 [<ffffffff81230886>] ? might_fault+0x21/0x23 [<ffffffff81133577>] ? alloc_fd+0x7b/0x124 [<ffffffff81119a54>] do_sys_open+0x63/0x10f [<ffffffff81119b33>] sys_open+0x20/0x22 [<ffffffff81011d32>] system_call_fastpath+0x16/0x1b It is also printed with different values occasionally: ima_file_free: 2025_20160204115700.mpg.png open/free imbalance (r:0 w:-1 o:-1 f:0) ima_file_free: 2025_20160204115700.mpg.png open/free imbalance (r:0 w:-2 o:-2 f:0) ima_file_free: 2025_20160204115700.mpg.png open/free imbalance (r:0 w:-3 o:-3 f:0) ima_file_free: 2025_20160204142700.mpg.png open/free imbalance (r:0 w:0 o:0 f:0) Running an "ls" or "cat" on a directory in this filesystem produces errors: ls /myth/tmp ls: cannot access /myth/tmp/list.after: Cannot send after transport endpoint shutdown ls: cannot access /myth/tmp/readonly2: Cannot send after transport endpoint shutdown ls: cannot access /myth/tmp/2M: Cannot send after transport endpoint shutdown ls: cannot access /myth/tmp/3stripe: Cannot send after transport endpoint shutdown ls: cannot access /myth/tmp/list.before: Cannot send after transport endpoint shutdown ls: cannot access /myth/tmp/4stripe: Cannot send after transport endpoint shutdown but did not generate the console errors. It seems that there is some kind of imbalance in the error handling for files opened for write. |