On Wed, Mar 10, 2010 at 06:22:35PM +0800, Mi Jinlong wrote: > Hi, > > When using command "service nfslock stop" and "service nfsklock start" > to restart the nfslock service at RHEL with kernel 2.6.31, if start the service > after stop it more than the grace_period time, lock which lockd get before > cann't be reclaimed for the grace_period is timeout. > > So, IMO, the lockd should get into grace_period when statd start not stop? Sorry, I'm not sure I understand. Are you saying that lockd's grace period starts when the last lock is shut down, instead of when the new lockd is started? That would be a bug, I agree. But are you really shutting down lockd completely? --b. > > Some code at kernel: fs/lockd/svclock.c > .... > 411 if (locks_in_grace() && !reclaim) { > 412 ret = nlm_lck_denied_grace_period; > 413 goto out; > 414 } > 415 if (reclaim && !locks_in_grace()) { > 416 ret = nlm_lck_denied_grace_period; > 417 goto out; > 418 } > .... > > I think it can implement it like that: > 1) When statd stop, it send a KILL signal to lockd, > and lockd only release the lock, but don't get into grace_period. > 2) When statd start, it send one some other signal to lockd, > and lockd only get into grace_period. The lock will be reclaimed. > > thanks, > Mi Jinlong > > -- > To unsubscribe from this list: send the line "unsubscribe linux-nfs" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html