[LU-5549] cl_default_mds_easize not refreshed Created: 27/Aug/14  Updated: 15/Jul/15  Resolved: 11/Feb/15

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

Type: Bug Priority: Major
Reporter: Ned Bass Assignee: Lai Siyao
Resolution: Fixed Votes: 0
Labels: llnl, patch

Issue Links:
Related
is related to LU-3338 IOC_MDC_GETFILESTRIPE can abuse vmall... Resolved
Severity: 3
Rank (Obsolete): 15471

 Description   

The client_obd::cl_default_mds_easize field should be maintained to
reflect the largest EA size seen by the MDT. The MDC uses
cl_default_mds_easize to size request buffers appropriately to avoid
unnecessary memory reallocations. In the current code, the value is
only updated if client_obd::cl_max_mds_easize is strictly less than
mdt_body::mbo_max_mdsize. This condition is almost never met, because
client_obd::cl_max_mds_easize is computed at client mount-time based
on the number of OSTs in the filesystem, so the MDT won't ever see a
EA size larger than that.

As a result, client_obd::cl_default_mds_easize indefinitely retains
its initial value, which is computed at client mount-time based on
the filesystem's default stripe width. Any getattr() requests for
more widely striped files will consequently allocate a request buffer
that is too small, forcing reallocations on both the client and
server side. To avoid this, update client_obd::cl_default_mds_easize
independently of the value of client_obd::cl_max_mds_easize.



 Comments   
Comment by Ned Bass [ 27/Aug/14 ]

Please see http://review.whamcloud.com/#/c/11614/

Comment by Peter Jones [ 27/Aug/14 ]

Lai

Could you please take care of this patch?

Thanks

Peter

Comment by Christopher Morrone [ 03/Sep/14 ]

Did http://review.whamcloud.com/#/c/11614 hit a known issue in testing? Does it just need testing relaunched?

Comment by Lai Siyao [ 04/Sep/14 ]

Test relaunch is not authorised to all now, so I've asked Yujian to relaunch it. I'll watch its status.

Comment by Gerrit Updater [ 17/Dec/14 ]

Ned Bass (bass6@llnl.gov) uploaded a new patch: http://review.whamcloud.com/13112
Subject: LU-5549 llite: make default_easize writeable in /proc
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 047c8acbdbaf60b5513ce1f9bc9d621814780882

Comment by Gerrit Updater [ 11/Feb/15 ]

Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/13112/
Subject: LU-5549 llite: make default_easize writeable in /proc
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 9d9db87afc80ed3e98e1fc05b3ad97a89ebf577a

Comment by Gerrit Updater [ 11/Feb/15 ]

Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/11614/
Subject: LU-5549 mdc: cl_default_mds_easize not refreshed
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: e709e661395af42471f5ecf3c87f2fa1d3031fbb

Comment by Peter Jones [ 11/Feb/15 ]

Landed for 2.7

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