updating attrs in nonpnfs file_sync4 writes
when we are doing non-pnfs and writing to a netapp filer, even though we write UNSTABLE it returns us FILE_SYNC4. since we were doing unstable writes we were not sending getattrs, and since the data servers we returning stable commits we didn't send commit. in doing so, we never update our attribute cache and had a wrong file size.
This commit is contained in:
parent
47ff10aa57
commit
44df987734
1 changed files with 8 additions and 1 deletions
|
|
@ -234,6 +234,13 @@ retry_write:
|
||||||
if (retries--) goto retry_write;
|
if (retries--) goto retry_write;
|
||||||
goto out_verify_failed;
|
goto out_verify_failed;
|
||||||
}
|
}
|
||||||
|
} else if (stable == UNSTABLE4) {
|
||||||
|
nfs41_file_info info;
|
||||||
|
bitmap4 attr_request;
|
||||||
|
init_getattr_request(&attr_request);
|
||||||
|
status = nfs41_getattr(session, file, &attr_request, &info);
|
||||||
|
if (status)
|
||||||
|
goto out;
|
||||||
}
|
}
|
||||||
args->ctime = info.change;
|
args->ctime = info.change;
|
||||||
out:
|
out:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue