History

NFSv4: Fix an Oops in the open recovery code

The open recovery code does not need to request a new value for the mdsthreshold, and so does not allocate a struct nfs4_threshold. The problem is that encode_getfattr_open() will still request an mdsthreshold, and so we end up Oopsing in decode_attr_mdsthreshold. This patch fixes encode_getfattr_open so that it doesn't request an mdsthreshold when the caller isn't asking for one. It also fixes decode_attr_mdsthreshold so that it errors if the server returns an mdsthreshold that we didn't ask for (instead of Oopsing).

Trond Myklebust committed 14 years ago

Commit 15492101 parent b3b02ae4 files · +31 −6Browse files

Showing the changes to include/linux (1 of 4 files). Show all

Unified · Split

include/linux/nfs_xdr.h+1−0
@@ -348,6 +348,7 @@ struct nfs_openargs { · 347 unmodified lines
348348 const struct qstr * name;
349349 const struct nfs_server *server; /* Needed for ID mapping */
350350 const u32 * bitmask;
351+ const u32 * open_bitmap;
351352 __u32 claim;
352353 struct nfs4_sequence_args seq_args;
353354 };