[LU-191] mdd_close will always start transaction even atime is not changed Created: 04/Apr/11  Updated: 08/Dec/11  Resolved: 08/Dec/11

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

Type: Bug Priority: Minor
Reporter: Liang Zhen (Inactive) Assignee: Liang Zhen (Inactive)
Resolution: Fixed Votes: 0
Labels: None

Severity: 3
Rank (Obsolete): 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.



 Comments   
Comment by Mikhail Pershin [ 04/Apr/11 ]

so that is enough to use >= in first check and maybe just < in second, right?

Comment by Liang Zhen (Inactive) [ 04/Apr/11 ]

exactly,

Comment by Build Master (Inactive) [ 04/Apr/11 ]

Integrated in reviews-centos5 #650
LU-191 mdd_close always set atime even it's same

Liang Zhen : 505ae6ff13b72df8d6db1627ee509398b91c8fd2
Files :

  • lustre/mdd/mdd_object.c
Comment by Build Master (Inactive) [ 18/Apr/11 ]

Integrated in lustre-master-centos5 #201
LU-191 mdd_close always set atime even it's same

Oleg Drokin : d65f789f433f2d52e82116c374d88906321f9d28
Files :

  • lustre/mdd/mdd_object.c
Comment by Build Master (Inactive) [ 18/Apr/11 ]

Integrated in lustre-master » client,ubuntu-x86_64 #29
LU-191 mdd_close always set atime even it's same

Oleg Drokin : d65f789f433f2d52e82116c374d88906321f9d28
Files :

  • lustre/mdd/mdd_object.c
Comment by Build Master (Inactive) [ 18/Apr/11 ]

Integrated in lustre-master » client,el5-x86_64 #29
LU-191 mdd_close always set atime even it's same

Oleg Drokin : d65f789f433f2d52e82116c374d88906321f9d28
Files :

  • lustre/mdd/mdd_object.c
Comment by Build Master (Inactive) [ 18/Apr/11 ]

Integrated in lustre-master » client,el5-i686 #29
LU-191 mdd_close always set atime even it's same

Oleg Drokin : d65f789f433f2d52e82116c374d88906321f9d28
Files :

  • lustre/mdd/mdd_object.c
Comment by Build Master (Inactive) [ 18/Apr/11 ]

Integrated in lustre-master » server,el6-x86_64 #29
LU-191 mdd_close always set atime even it's same

Oleg Drokin : d65f789f433f2d52e82116c374d88906321f9d28
Files :

  • lustre/mdd/mdd_object.c
Comment by Build Master (Inactive) [ 18/Apr/11 ]

Integrated in lustre-master » client,el6-i686 #29
LU-191 mdd_close always set atime even it's same

Oleg Drokin : d65f789f433f2d52e82116c374d88906321f9d28
Files :

  • lustre/mdd/mdd_object.c
Comment by Build Master (Inactive) [ 18/Apr/11 ]

Integrated in lustre-master » server,el5-x86_64 #29
LU-191 mdd_close always set atime even it's same

Oleg Drokin : d65f789f433f2d52e82116c374d88906321f9d28
Files :

  • lustre/mdd/mdd_object.c
Comment by Build Master (Inactive) [ 18/Apr/11 ]

Integrated in lustre-master » client,el6-x86_64 #29
LU-191 mdd_close always set atime even it's same

Oleg Drokin : d65f789f433f2d52e82116c374d88906321f9d28
Files :

  • lustre/mdd/mdd_object.c
Comment by Build Master (Inactive) [ 18/Apr/11 ]

Integrated in lustre-master » server,el5-i686 #29
LU-191 mdd_close always set atime even it's same

Oleg Drokin : d65f789f433f2d52e82116c374d88906321f9d28
Files :

  • lustre/mdd/mdd_object.c
Comment by Liang Zhen (Inactive) [ 08/Dec/11 ]

patch already landed in master

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