Jeffrey Layton wrote: > > ...or that samba is omitting it and is sending cached info instead of > > doing the lstat() call? I'm not sure if it does that, but I don't > > think you should draw too many conclusions about the behavior of > > cifs.ko from stracing smbd. > > > > What may make more sense is to get network captures and analyze the > > behavior from that perspective. > > > > ...or maybe it *is* cifs.ko. From cifs_inode_needs_reval: > > > if (!time_in_range(jiffies, cifs_i->time, > cifs_i->time + cifs_sb->actimeo)) > return true; > > > ...I think though that if cifs_i->time == jiffies and actimeo=0, then > that condition will be false. As a quick check, it might be good to add > something like this before that if statement and then rerun your test: > > if (!cifs_sb->actimeo) > return true; > > That should get rid of that particular corner case. Yes, I confirmed that below change fixes this problem. Thank you. --- a/fs/cifs/inode.c +++ b/fs/cifs/inode.c @@ -1737,6 +1737,8 @@ cifs_inode_needs_reval(struct inode *inode) if (cifs_i->time == 0) return true; + if (!cifs_sb->actimeo) + return true; if (!time_in_range(jiffies, cifs_i->time, cifs_i->time + cifs_sb->actimeo)) return true; -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html