The members of nfsv4_fattr don't have to exactly match the types in the protocol. The on-wire value is copied to the struct nfsv4_fattr by nfsm_v4dissect_attrs_xx(), then to struct vattr by nfs4_vnop_loadattrcache(). If the link count ever went above 2^16 there would be a problem, but making fa4_nlink won't solve that.