Hi Trond- As we discussed yesterday, I'm concerned about the test in _nfs4_proc_open that uses the values of the cinfo.before and cinfo.after fields without checking cinfo.atomic. 2288 if (o_arg->open_flags & O_CREAT) { 2289 if (o_arg->open_flags & O_EXCL) 2290 data->file_created = 1; 2291 else if (o_res->cinfo.before != o_res->cinfo.after) 2292 data->file_created = 1; 2293 if (data->file_created || dir->i_version != o_res->cinfo.after) 2294 update_changeattr(dir, &o_res->cinfo, 2295 o_res->f_attr->time_start); 2296 } Line 2291 is the issue. Suppose the server filesystem substitutes a weak ctime for the change attribute. Sometimes when a file is successfully created on the server, the ctime of the parent doesn't change. This test then fails and leaves file_created set to zero. Later, nfs4_opendata_access looks at file_created. If not set, the access check fails and open(2) returns EACCES as a result, even though the file was created successfully and OPEN returned NFS4_OK. You mentioned that the server should set cinfo.atomic to be false when a weak ctime is used as the change attribute. Will that help in this case? -- Chuck Lever -- 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