[LU-3397] Create per-client "export" /proc file on server for each client connection Created: 25/May/13  Updated: 04/May/18  Resolved: 06/Feb/18

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: Lustre 2.11.0

Type: Improvement Priority: Minor
Reporter: Andreas Dilger Assignee: Emoly Liu
Resolution: Fixed Votes: 0
Labels: easy

Issue Links:
Related
is related to LU-8066 Move lustre procfs handling to sysfs ... Open
is related to LU-3386 improve osc/mdc "imports" connect data Resolved
is related to LU-10972 Interop master <-> 2.11.0 sanity test... Resolved
Rank (Obsolete): 8412

 Description   

Similar to the "import" file on the client for each client-to-server connection, it would be useful to have a file on the server in the per-client directory obdfilter/*/exports/$NID/export. This would contain export connection information as in the "import" file (connect flags, etc. and also as described in LU-3386).



 Comments   
Comment by Andreas Dilger [ 10/Jul/13 ]

http://review.whamcloud.com/6713

Comment by James A Simmons [ 13/Jun/14 ]

We can mark this a 2.7 project.

Comment by James A Simmons [ 01/Jul/14 ]

I have been working with the patch in question and have found a issue with the location of where to place the data. It is not true that
obdfilter/*/exports/$NID/export is a per client directory. For example if you build all of lustre on one node and cat obdfilter/*/exports/$NID/uuid you get

62fde21f-fbc4-cced-7862-e1ccb9cdea09
lustre-MDT0000-mdtlov_UUID

So it is multiple values. For your export to do the similar behavior it would have multiple entries. Do we really want that? I think a better approach would be to create directory entries such as obdfilter/*/exports/"obd-device"/export instead.

Comment by Emoly Liu [ 01/Jul/14 ]

James, Yangsheng ever had a similar idea in http://review.whamcloud.com/#/c/9857/, but Andreas thought it would break all tools that are using the per-NID statistics, and also, the only time there were multiple mounts on the same NID would be during testing.

I don't mind discussing it again.

Comment by Andreas Dilger [ 02/Oct/15 ]

Trying to revive this patch again for 2.9.

What about having a single obdfilter/*/exports/$NID/export file, but in the case there are multiple exports for the same NID (e.g. client connecting to multiple OSTs on one node} then there would be multiple entries in the export file? Since it is YAML formatted, it would be possible to prefix the data output with device: $obd_name or similar to disambiguate them. This would avoid overhead from having to open/parse/close multiple export files, and also avoid the naming issue for those files.

The other option is to have files like .../export-$obd_name and each one has only the data for that device. The complexity I see here is that there would be a bunch of these files (1-8 typically), that would likely always be read together, and accessing them needs a priori knowledge of what the device names will be, and they will be different for every server.

Comment by Gerrit Updater [ 06/Feb/18 ]

Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/6713/
Subject: LU-3397 lprocfs: create "export" /proc file on server
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: b4b773466a0f3a178364e62b8549de08a3f9ce32

Comment by Peter Jones [ 06/Feb/18 ]

Landed for 2.11

Generated at Sat Feb 10 01:33:33 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.