nfsd4: encode_rdattr_error cleanup

There's a simpler way to write this.

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:
J. Bruce Fields 2013-01-16 17:33:28 -05:00
parent 6b6d8137f1
commit 87915c6472

View file

@ -2620,17 +2620,14 @@ nfsd4_encode_dirent_fattr(struct nfsd4_readdir *cd,
static __be32 * static __be32 *
nfsd4_encode_rdattr_error(__be32 *p, int buflen, __be32 nfserr) nfsd4_encode_rdattr_error(__be32 *p, int buflen, __be32 nfserr)
{ {
__be32 *attrlenp;
if (buflen < 6) if (buflen < 6)
return NULL; return NULL;
*p++ = htonl(2); *p++ = htonl(2);
*p++ = htonl(FATTR4_WORD0_RDATTR_ERROR); /* bmval0 */ *p++ = htonl(FATTR4_WORD0_RDATTR_ERROR); /* bmval0 */
*p++ = htonl(0); /* bmval1 */ *p++ = htonl(0); /* bmval1 */
attrlenp = p++; *p++ = htonl(4); /* attribute length */
*p++ = nfserr; /* no htonl */ *p++ = nfserr; /* no htonl */
*attrlenp = htonl((char *)p - (char *)attrlenp - 4);
return p; return p;
} }