Add GUI support for showing open files via SMB – design
Description
Problem/Justification
Impact
Attachments
created
relates to
SmartDraw Connector
Katalon Manual Tests (BETA)
Activity

Automation for Jira December 3, 2023 at 11:01 AM
This issue has now been closed. Comments made after this point may not be viewed by the TrueNAS Teams. Please open a new issue if you have found a problem or need to re-engage with the TrueNAS Engineering Teams.

Denys Butenko November 29, 2023 at 3:14 PMEdited
As we discussed, open files would require pagination. IxTable would be more suitable for the given amount of information.
Here is the updated prototype.
The Locks table gets new columns
Combined file id column separated by colons.
The count of open files column.
The Open Files changed to use ix-table instead of mat-expansion-panel.
Server
column has combined properties fromlock.server_id
I am not sure about having nested tables from a UX perspective. Alternatively, we could make the Open Files
column as a button or link and then Open Files table will be moved to a separate page, and the user can go back and forth to switch between pages. I’ll discuss it with the UI team.

Andrew Walker November 29, 2023 at 1:30 PM
I think you should probably just concatenate the devid, inode, and ext_id.
In auditing we do it like this (separated by colons).

Andrew Walker November 29, 2023 at 12:59 PM
I think the following may be useful for LOCKS display:
* service_path (unless you’re displaying on per-share rather than global basis)
* filename
* fileid
The opens
array (per-file) can be simplified to include server_id
(object), uid
and opened_at
(timestamp).
The format for the objects in those arrays is kind of painful (upstream design decision). Do you want me to flatten the objects somewhat?

Denys Butenko November 29, 2023 at 8:32 AM
Ping
Details
Details
Assignee

Reporter

A while back I added support for displaying SMB sessions, open files, locks, file notification subscriptions, etc through "smb.status" in FreeNAS 12. We should come up with a reasonable way to present this to an end user.