Details
-
Bug
-
Resolution: Fixed
-
Minor
-
Lustre 2.1.0
-
None
-
3
-
5070
Description
I've fixed this in bug 23289 (attachment 32253), however it's back after landing of another patch (bug 23291, attachment 31108):
- if (la->la_atime <= tmp_la->la_atime +
- mdd_obj2mdd_dev(obj)->mdd_atime_diff)
+ if (la->la_atime > tmp_la->la_atime &&
+ la->la_atime <= (tmp_la->la_atime +
+ mdd_obj2mdd_dev(obj)->mdd_atime_diff))
la->la_valid &= ~LA_ATIME;
with this patch, the condition is always false if "la->la_atime == tmp_la->la_atime", which means even atime is exactly same as before, we still start a transaction and setattr, this will give a big impact on performance for those shortly open+close applications/tests.