Lines Matching full:bitmap
400 1 /* bitmap size */ + \
401 1 /* notification bitmap length */ + \
402 1 /* notification bitmap, word 0 */)
407 1 /* notification bitmap length */ + \
408 1 /* notification bitmap, word 0 */ + \
991 const __u32 *bitmap, size_t len) in xdr_encode_bitmap4() argument
996 while (len > 0 && bitmap[len-1] == 0) in xdr_encode_bitmap4()
998 ret = xdr_stream_encode_uint32_array(xdr, bitmap, len); in xdr_encode_bitmap4()
1004 static size_t mask_bitmap4(const __u32 *bitmap, const __u32 *mask, in mask_bitmap4() argument
1010 while (len > 0 && (bitmap[len-1] == 0 || mask[len-1] == 0)) in mask_bitmap4()
1013 tmp = bitmap[i] & mask[i]; in mask_bitmap4()
1255 const __u32 *bitmap, const __u32 *mask, size_t len, in encode_getattr() argument
1264 len = mask_bitmap4(bitmap, mask, masked_bitmap, len); in encode_getattr()
1265 bitmap = masked_bitmap; in encode_getattr()
1267 xdr_encode_bitmap4(xdr, bitmap, len); in encode_getattr()
1651 dprintk("%s: cookie = %llu, verifier = %08x:%08x, bitmap = %08x:%08x:%08x\n", in encode_readdir()
1691 static void nfs4_acltype_to_bitmap(enum nfs4_acl_type type, __u32 bitmap[2]) in nfs4_acltype_to_bitmap()
1695 bitmap[0] = FATTR4_WORD0_ACL; in nfs4_acltype_to_bitmap()
1696 bitmap[1] = 0; in nfs4_acltype_to_bitmap()
1699 bitmap[0] = 0; in nfs4_acltype_to_bitmap()
1700 bitmap[1] = FATTR4_WORD1_DACL; in nfs4_acltype_to_bitmap()
1703 bitmap[0] = 0; in nfs4_acltype_to_bitmap()
1704 bitmap[1] = FATTR4_WORD1_SACL; in nfs4_acltype_to_bitmap()
1712 __u32 bitmap[2]; in encode_setacl() local
1714 nfs4_acltype_to_bitmap(arg->acl_type, bitmap); in encode_setacl()
1718 xdr_encode_bitmap4(xdr, bitmap, ARRAY_SIZE(bitmap)); in encode_setacl()
1742 uint32_t bitmap[3] = { 0 }; in encode_delegattr() local
1749 bitmap[2] |= FATTR4_WORD2_TIME_DELEG_ACCESS; in encode_delegattr()
1753 bitmap[2] |= FATTR4_WORD2_TIME_DELEG_MODIFY; in encode_delegattr()
1756 xdr_encode_bitmap4(xdr, bitmap, ARRAY_SIZE(bitmap)); in encode_delegattr()
1758 if (bitmap[2] & FATTR4_WORD2_TIME_DELEG_ACCESS) in encode_delegattr()
1760 if (bitmap[2] & FATTR4_WORD2_TIME_DELEG_MODIFY) in encode_delegattr()
2025 *p++ = cpu_to_be32(1); /* bitmap length */ in encode_getdeviceinfo()
3299 decode_bitmap4(struct xdr_stream *xdr, uint32_t *bitmap, size_t sz) in decode_bitmap4() argument
3303 ret = xdr_stream_decode_uint32_array(xdr, bitmap, sz); in decode_bitmap4()
3311 static int decode_attr_bitmap(struct xdr_stream *xdr, uint32_t *bitmap) in decode_attr_bitmap() argument
3314 ret = decode_bitmap4(xdr, bitmap, 3); in decode_attr_bitmap()
3330 static int decode_attr_supported(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *bitmask) in decode_attr_supported() argument
3332 if (likely(bitmap[0] & FATTR4_WORD0_SUPPORTED_ATTRS)) { in decode_attr_supported()
3337 bitmap[0] &= ~FATTR4_WORD0_SUPPORTED_ATTRS; in decode_attr_supported()
3345 static int decode_attr_type(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *type) in decode_attr_type() argument
3351 if (unlikely(bitmap[0] & (FATTR4_WORD0_TYPE - 1U))) in decode_attr_type()
3353 if (likely(bitmap[0] & FATTR4_WORD0_TYPE)) { in decode_attr_type()
3362 bitmap[0] &= ~FATTR4_WORD0_TYPE; in decode_attr_type()
3370 uint32_t *bitmap, uint32_t *type) in decode_attr_fh_expire_type() argument
3375 if (unlikely(bitmap[0] & (FATTR4_WORD0_FH_EXPIRE_TYPE - 1U))) in decode_attr_fh_expire_type()
3377 if (likely(bitmap[0] & FATTR4_WORD0_FH_EXPIRE_TYPE)) { in decode_attr_fh_expire_type()
3382 bitmap[0] &= ~FATTR4_WORD0_FH_EXPIRE_TYPE; in decode_attr_fh_expire_type()
3388 static int decode_attr_change(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *change) in decode_attr_change() argument
3394 if (unlikely(bitmap[0] & (FATTR4_WORD0_CHANGE - 1U))) in decode_attr_change()
3396 if (likely(bitmap[0] & FATTR4_WORD0_CHANGE)) { in decode_attr_change()
3401 bitmap[0] &= ~FATTR4_WORD0_CHANGE; in decode_attr_change()
3409 static int decode_attr_size(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *size) in decode_attr_size() argument
3415 if (unlikely(bitmap[0] & (FATTR4_WORD0_SIZE - 1U))) in decode_attr_size()
3417 if (likely(bitmap[0] & FATTR4_WORD0_SIZE)) { in decode_attr_size()
3422 bitmap[0] &= ~FATTR4_WORD0_SIZE; in decode_attr_size()
3429 static int decode_attr_link_support(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_link_support() argument
3434 if (unlikely(bitmap[0] & (FATTR4_WORD0_LINK_SUPPORT - 1U))) in decode_attr_link_support()
3436 if (likely(bitmap[0] & FATTR4_WORD0_LINK_SUPPORT)) { in decode_attr_link_support()
3441 bitmap[0] &= ~FATTR4_WORD0_LINK_SUPPORT; in decode_attr_link_support()
3447 static int decode_attr_symlink_support(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_symlink_support() argument
3452 if (unlikely(bitmap[0] & (FATTR4_WORD0_SYMLINK_SUPPORT - 1U))) in decode_attr_symlink_support()
3454 if (likely(bitmap[0] & FATTR4_WORD0_SYMLINK_SUPPORT)) { in decode_attr_symlink_support()
3459 bitmap[0] &= ~FATTR4_WORD0_SYMLINK_SUPPORT; in decode_attr_symlink_support()
3465 static int decode_attr_fsid(struct xdr_stream *xdr, uint32_t *bitmap, struct nfs_fsid *fsid) in decode_attr_fsid() argument
3472 if (unlikely(bitmap[0] & (FATTR4_WORD0_FSID - 1U))) in decode_attr_fsid()
3474 if (likely(bitmap[0] & FATTR4_WORD0_FSID)) { in decode_attr_fsid()
3480 bitmap[0] &= ~FATTR4_WORD0_FSID; in decode_attr_fsid()
3489 static int decode_attr_lease_time(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_lease_time() argument
3494 if (unlikely(bitmap[0] & (FATTR4_WORD0_LEASE_TIME - 1U))) in decode_attr_lease_time()
3496 if (likely(bitmap[0] & FATTR4_WORD0_LEASE_TIME)) { in decode_attr_lease_time()
3501 bitmap[0] &= ~FATTR4_WORD0_LEASE_TIME; in decode_attr_lease_time()
3507 static int decode_attr_error(struct xdr_stream *xdr, uint32_t *bitmap, int32_t *res) in decode_attr_error() argument
3511 if (unlikely(bitmap[0] & (FATTR4_WORD0_RDATTR_ERROR - 1U))) in decode_attr_error()
3513 if (likely(bitmap[0] & FATTR4_WORD0_RDATTR_ERROR)) { in decode_attr_error()
3517 bitmap[0] &= ~FATTR4_WORD0_RDATTR_ERROR; in decode_attr_error()
3524 uint32_t *bitmap, uint32_t *bitmask) in decode_attr_exclcreat_supported() argument
3526 if (likely(bitmap[2] & FATTR4_WORD2_SUPPATTR_EXCLCREAT)) { in decode_attr_exclcreat_supported()
3531 bitmap[2] &= ~FATTR4_WORD2_SUPPATTR_EXCLCREAT; in decode_attr_exclcreat_supported()
3539 static int decode_attr_filehandle(struct xdr_stream *xdr, uint32_t *bitmap, struct nfs_fh *fh) in decode_attr_filehandle() argument
3547 if (unlikely(bitmap[0] & (FATTR4_WORD0_FILEHANDLE - 1U))) in decode_attr_filehandle()
3549 if (likely(bitmap[0] & FATTR4_WORD0_FILEHANDLE)) { in decode_attr_filehandle()
3566 bitmap[0] &= ~FATTR4_WORD0_FILEHANDLE; in decode_attr_filehandle()
3571 static int decode_attr_aclsupport(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_aclsupport() argument
3576 if (unlikely(bitmap[0] & (FATTR4_WORD0_ACLSUPPORT - 1U))) in decode_attr_aclsupport()
3578 if (likely(bitmap[0] & FATTR4_WORD0_ACLSUPPORT)) { in decode_attr_aclsupport()
3583 bitmap[0] &= ~FATTR4_WORD0_ACLSUPPORT; in decode_attr_aclsupport()
3589 static int decode_attr_case_insensitive(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_case_insensitive() argument
3594 if (unlikely(bitmap[0] & (FATTR4_WORD0_CASE_INSENSITIVE - 1U))) in decode_attr_case_insensitive()
3596 if (likely(bitmap[0] & FATTR4_WORD0_CASE_INSENSITIVE)) { in decode_attr_case_insensitive()
3601 bitmap[0] &= ~FATTR4_WORD0_CASE_INSENSITIVE; in decode_attr_case_insensitive()
3607 static int decode_attr_case_preserving(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_case_preserving() argument
3612 if (unlikely(bitmap[0] & (FATTR4_WORD0_CASE_PRESERVING - 1U))) in decode_attr_case_preserving()
3614 if (likely(bitmap[0] & FATTR4_WORD0_CASE_PRESERVING)) { in decode_attr_case_preserving()
3619 bitmap[0] &= ~FATTR4_WORD0_CASE_PRESERVING; in decode_attr_case_preserving()
3625 static int decode_attr_fileid(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *fileid) in decode_attr_fileid() argument
3631 if (unlikely(bitmap[0] & (FATTR4_WORD0_FILEID - 1U))) in decode_attr_fileid()
3633 if (likely(bitmap[0] & FATTR4_WORD0_FILEID)) { in decode_attr_fileid()
3638 bitmap[0] &= ~FATTR4_WORD0_FILEID; in decode_attr_fileid()
3645 static int decode_attr_mounted_on_fileid(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *fileid) in decode_attr_mounted_on_fileid() argument
3651 if (unlikely(bitmap[1] & (FATTR4_WORD1_MOUNTED_ON_FILEID - 1U))) in decode_attr_mounted_on_fileid()
3653 if (likely(bitmap[1] & FATTR4_WORD1_MOUNTED_ON_FILEID)) { in decode_attr_mounted_on_fileid()
3658 bitmap[1] &= ~FATTR4_WORD1_MOUNTED_ON_FILEID; in decode_attr_mounted_on_fileid()
3665 static int decode_attr_files_avail(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_files_avail() argument
3671 if (unlikely(bitmap[0] & (FATTR4_WORD0_FILES_AVAIL - 1U))) in decode_attr_files_avail()
3673 if (likely(bitmap[0] & FATTR4_WORD0_FILES_AVAIL)) { in decode_attr_files_avail()
3678 bitmap[0] &= ~FATTR4_WORD0_FILES_AVAIL; in decode_attr_files_avail()
3684 static int decode_attr_files_free(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_files_free() argument
3690 if (unlikely(bitmap[0] & (FATTR4_WORD0_FILES_FREE - 1U))) in decode_attr_files_free()
3692 if (likely(bitmap[0] & FATTR4_WORD0_FILES_FREE)) { in decode_attr_files_free()
3697 bitmap[0] &= ~FATTR4_WORD0_FILES_FREE; in decode_attr_files_free()
3703 static int decode_attr_files_total(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_files_total() argument
3709 if (unlikely(bitmap[0] & (FATTR4_WORD0_FILES_TOTAL - 1U))) in decode_attr_files_total()
3711 if (likely(bitmap[0] & FATTR4_WORD0_FILES_TOTAL)) { in decode_attr_files_total()
3716 bitmap[0] &= ~FATTR4_WORD0_FILES_TOTAL; in decode_attr_files_total()
3764 static int decode_attr_fs_locations(struct xdr_stream *xdr, uint32_t *bitmap, struct nfs4_fs_locati… in decode_attr_fs_locations() argument
3770 if (unlikely(bitmap[0] & (FATTR4_WORD0_FS_LOCATIONS -1U))) in decode_attr_fs_locations()
3773 if (unlikely(!(bitmap[0] & FATTR4_WORD0_FS_LOCATIONS))) in decode_attr_fs_locations()
3775 bitmap[0] &= ~FATTR4_WORD0_FS_LOCATIONS; in decode_attr_fs_locations()
3840 static int decode_attr_maxfilesize(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_maxfilesize() argument
3846 if (unlikely(bitmap[0] & (FATTR4_WORD0_MAXFILESIZE - 1U))) in decode_attr_maxfilesize()
3848 if (likely(bitmap[0] & FATTR4_WORD0_MAXFILESIZE)) { in decode_attr_maxfilesize()
3853 bitmap[0] &= ~FATTR4_WORD0_MAXFILESIZE; in decode_attr_maxfilesize()
3859 static int decode_attr_maxlink(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *maxlink) in decode_attr_maxlink() argument
3865 if (unlikely(bitmap[0] & (FATTR4_WORD0_MAXLINK - 1U))) in decode_attr_maxlink()
3867 if (likely(bitmap[0] & FATTR4_WORD0_MAXLINK)) { in decode_attr_maxlink()
3872 bitmap[0] &= ~FATTR4_WORD0_MAXLINK; in decode_attr_maxlink()
3878 static int decode_attr_maxname(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *maxname) in decode_attr_maxname() argument
3884 if (unlikely(bitmap[0] & (FATTR4_WORD0_MAXNAME - 1U))) in decode_attr_maxname()
3886 if (likely(bitmap[0] & FATTR4_WORD0_MAXNAME)) { in decode_attr_maxname()
3891 bitmap[0] &= ~FATTR4_WORD0_MAXNAME; in decode_attr_maxname()
3897 static int decode_attr_maxread(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_maxread() argument
3903 if (unlikely(bitmap[0] & (FATTR4_WORD0_MAXREAD - 1U))) in decode_attr_maxread()
3905 if (likely(bitmap[0] & FATTR4_WORD0_MAXREAD)) { in decode_attr_maxread()
3914 bitmap[0] &= ~FATTR4_WORD0_MAXREAD; in decode_attr_maxread()
3920 static int decode_attr_maxwrite(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_maxwrite() argument
3926 if (unlikely(bitmap[0] & (FATTR4_WORD0_MAXWRITE - 1U))) in decode_attr_maxwrite()
3928 if (likely(bitmap[0] & FATTR4_WORD0_MAXWRITE)) { in decode_attr_maxwrite()
3937 bitmap[0] &= ~FATTR4_WORD0_MAXWRITE; in decode_attr_maxwrite()
3943 static int decode_attr_mode(struct xdr_stream *xdr, uint32_t *bitmap, umode_t *mode) in decode_attr_mode() argument
3950 if (unlikely(bitmap[1] & (FATTR4_WORD1_MODE - 1U))) in decode_attr_mode()
3952 if (likely(bitmap[1] & FATTR4_WORD1_MODE)) { in decode_attr_mode()
3958 bitmap[1] &= ~FATTR4_WORD1_MODE; in decode_attr_mode()
3965 static int decode_attr_nlink(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *nlink) in decode_attr_nlink() argument
3971 if (unlikely(bitmap[1] & (FATTR4_WORD1_NUMLINKS - 1U))) in decode_attr_nlink()
3973 if (likely(bitmap[1] & FATTR4_WORD1_NUMLINKS)) { in decode_attr_nlink()
3978 bitmap[1] &= ~FATTR4_WORD1_NUMLINKS; in decode_attr_nlink()
3998 static int decode_attr_owner(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_owner() argument
4006 if (unlikely(bitmap[1] & (FATTR4_WORD1_OWNER - 1U))) in decode_attr_owner()
4008 if (!(bitmap[1] & FATTR4_WORD1_OWNER)) in decode_attr_owner()
4010 bitmap[1] &= ~FATTR4_WORD1_OWNER; in decode_attr_owner()
4032 static int decode_attr_group(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_group() argument
4040 if (unlikely(bitmap[1] & (FATTR4_WORD1_OWNER_GROUP - 1U))) in decode_attr_group()
4042 if (!(bitmap[1] & FATTR4_WORD1_OWNER_GROUP)) in decode_attr_group()
4044 bitmap[1] &= ~FATTR4_WORD1_OWNER_GROUP; in decode_attr_group()
4066 static int decode_attr_rdev(struct xdr_stream *xdr, uint32_t *bitmap, dev_t *rdev) in decode_attr_rdev() argument
4073 if (unlikely(bitmap[1] & (FATTR4_WORD1_RAWDEV - 1U))) in decode_attr_rdev()
4075 if (likely(bitmap[1] & FATTR4_WORD1_RAWDEV)) { in decode_attr_rdev()
4086 bitmap[1] &= ~ FATTR4_WORD1_RAWDEV; in decode_attr_rdev()
4093 static int decode_attr_space_avail(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_space_avail() argument
4099 if (unlikely(bitmap[1] & (FATTR4_WORD1_SPACE_AVAIL - 1U))) in decode_attr_space_avail()
4101 if (likely(bitmap[1] & FATTR4_WORD1_SPACE_AVAIL)) { in decode_attr_space_avail()
4106 bitmap[1] &= ~FATTR4_WORD1_SPACE_AVAIL; in decode_attr_space_avail()
4112 static int decode_attr_space_free(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_space_free() argument
4118 if (unlikely(bitmap[1] & (FATTR4_WORD1_SPACE_FREE - 1U))) in decode_attr_space_free()
4120 if (likely(bitmap[1] & FATTR4_WORD1_SPACE_FREE)) { in decode_attr_space_free()
4125 bitmap[1] &= ~FATTR4_WORD1_SPACE_FREE; in decode_attr_space_free()
4131 static int decode_attr_space_total(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_space_total() argument
4137 if (unlikely(bitmap[1] & (FATTR4_WORD1_SPACE_TOTAL - 1U))) in decode_attr_space_total()
4139 if (likely(bitmap[1] & FATTR4_WORD1_SPACE_TOTAL)) { in decode_attr_space_total()
4144 bitmap[1] &= ~FATTR4_WORD1_SPACE_TOTAL; in decode_attr_space_total()
4150 static int decode_attr_space_used(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *used) in decode_attr_space_used() argument
4156 if (unlikely(bitmap[1] & (FATTR4_WORD1_SPACE_USED - 1U))) in decode_attr_space_used()
4158 if (likely(bitmap[1] & FATTR4_WORD1_SPACE_USED)) { in decode_attr_space_used()
4163 bitmap[1] &= ~FATTR4_WORD1_SPACE_USED; in decode_attr_space_used()
4193 static int decode_attr_time_access(struct xdr_stream *xdr, uint32_t *bitmap, struct timespec64 *tim… in decode_attr_time_access() argument
4199 if (unlikely(bitmap[1] & (FATTR4_WORD1_TIME_ACCESS - 1U))) in decode_attr_time_access()
4201 if (likely(bitmap[1] & FATTR4_WORD1_TIME_ACCESS)) { in decode_attr_time_access()
4205 bitmap[1] &= ~FATTR4_WORD1_TIME_ACCESS; in decode_attr_time_access()
4211 static int decode_attr_time_create(struct xdr_stream *xdr, uint32_t *bitmap, struct timespec64 *tim… in decode_attr_time_create() argument
4217 if (unlikely(bitmap[1] & (FATTR4_WORD1_TIME_CREATE - 1U))) in decode_attr_time_create()
4219 if (likely(bitmap[1] & FATTR4_WORD1_TIME_CREATE)) { in decode_attr_time_create()
4223 bitmap[1] &= ~FATTR4_WORD1_TIME_CREATE; in decode_attr_time_create()
4229 static int decode_attr_time_metadata(struct xdr_stream *xdr, uint32_t *bitmap, struct timespec64 *t… in decode_attr_time_metadata() argument
4235 if (unlikely(bitmap[1] & (FATTR4_WORD1_TIME_METADATA - 1U))) in decode_attr_time_metadata()
4237 if (likely(bitmap[1] & FATTR4_WORD1_TIME_METADATA)) { in decode_attr_time_metadata()
4241 bitmap[1] &= ~FATTR4_WORD1_TIME_METADATA; in decode_attr_time_metadata()
4247 static int decode_attr_time_delta(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_time_delta() argument
4254 if (unlikely(bitmap[1] & (FATTR4_WORD1_TIME_DELTA - 1U))) in decode_attr_time_delta()
4256 if (likely(bitmap[1] & FATTR4_WORD1_TIME_DELTA)) { in decode_attr_time_delta()
4258 bitmap[1] &= ~FATTR4_WORD1_TIME_DELTA; in decode_attr_time_delta()
4265 static int decode_attr_security_label(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_security_label() argument
4274 if (unlikely(bitmap[2] & (FATTR4_WORD2_SECURITY_LABEL - 1U))) in decode_attr_security_label()
4276 if (likely(bitmap[2] & FATTR4_WORD2_SECURITY_LABEL)) { in decode_attr_security_label()
4292 bitmap[2] &= ~FATTR4_WORD2_SECURITY_LABEL; in decode_attr_security_label()
4314 static int decode_attr_time_modify(struct xdr_stream *xdr, uint32_t *bitmap, struct timespec64 *tim… in decode_attr_time_modify() argument
4320 if (unlikely(bitmap[1] & (FATTR4_WORD1_TIME_MODIFY - 1U))) in decode_attr_time_modify()
4322 if (likely(bitmap[1] & FATTR4_WORD1_TIME_MODIFY)) { in decode_attr_time_modify()
4326 bitmap[1] &= ~FATTR4_WORD1_TIME_MODIFY; in decode_attr_time_modify()
4332 static int decode_attr_xattrsupport(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_xattrsupport() argument
4338 if (unlikely(bitmap[2] & (FATTR4_WORD2_XATTR_SUPPORT - 1U))) in decode_attr_xattrsupport()
4340 if (likely(bitmap[2] & FATTR4_WORD2_XATTR_SUPPORT)) { in decode_attr_xattrsupport()
4345 bitmap[2] &= ~FATTR4_WORD2_XATTR_SUPPORT; in decode_attr_xattrsupport()
4351 static int decode_attr_open_arguments(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_open_arguments() argument
4355 if (unlikely(bitmap[2] & (FATTR4_WORD2_OPEN_ARGUMENTS - 1U))) in decode_attr_open_arguments()
4357 if (likely(bitmap[2] & FATTR4_WORD2_OPEN_ARGUMENTS)) { in decode_attr_open_arguments()
4368 bitmap[2] &= ~FATTR4_WORD2_OPEN_ARGUMENTS; in decode_attr_open_arguments()
4512 uint32_t attrlen, bitmap[3] = {0}; in decode_server_caps() local
4517 if ((status = decode_attr_bitmap(xdr, bitmap)) != 0) in decode_server_caps()
4521 if ((status = decode_attr_supported(xdr, bitmap, res->attr_bitmask)) != 0) in decode_server_caps()
4523 if ((status = decode_attr_fh_expire_type(xdr, bitmap, in decode_server_caps()
4526 if ((status = decode_attr_link_support(xdr, bitmap, &res->has_links)) != 0) in decode_server_caps()
4528 if ((status = decode_attr_symlink_support(xdr, bitmap, &res->has_symlinks)) != 0) in decode_server_caps()
4530 if ((status = decode_attr_aclsupport(xdr, bitmap, &res->acl_bitmask)) != 0) in decode_server_caps()
4532 if ((status = decode_attr_case_insensitive(xdr, bitmap, &res->case_insensitive)) != 0) in decode_server_caps()
4534 if ((status = decode_attr_case_preserving(xdr, bitmap, &res->case_preserving)) != 0) in decode_server_caps()
4536 if ((status = decode_attr_exclcreat_supported(xdr, bitmap, in decode_server_caps()
4539 if ((status = decode_attr_open_arguments(xdr, bitmap, &res->open_caps)) != 0) in decode_server_caps()
4550 uint32_t attrlen, bitmap[3] = {0}; in decode_statfs() local
4555 if ((status = decode_attr_bitmap(xdr, bitmap)) != 0) in decode_statfs()
4560 if ((status = decode_attr_files_avail(xdr, bitmap, &fsstat->afiles)) != 0) in decode_statfs()
4562 if ((status = decode_attr_files_free(xdr, bitmap, &fsstat->ffiles)) != 0) in decode_statfs()
4564 if ((status = decode_attr_files_total(xdr, bitmap, &fsstat->tfiles)) != 0) in decode_statfs()
4568 if (unlikely(bitmap[0])) in decode_statfs()
4571 if ((status = decode_attr_space_avail(xdr, bitmap, &fsstat->abytes)) != 0) in decode_statfs()
4573 if ((status = decode_attr_space_free(xdr, bitmap, &fsstat->fbytes)) != 0) in decode_statfs()
4575 if ((status = decode_attr_space_total(xdr, bitmap, &fsstat->tbytes)) != 0) in decode_statfs()
4587 uint32_t attrlen, bitmap[3] = {0}; in decode_pathconf() local
4592 if ((status = decode_attr_bitmap(xdr, bitmap)) != 0) in decode_pathconf()
4597 if ((status = decode_attr_maxlink(xdr, bitmap, &pathconf->max_link)) != 0) in decode_pathconf()
4599 if ((status = decode_attr_maxname(xdr, bitmap, &pathconf->max_namelen)) != 0) in decode_pathconf()
4609 uint32_t *bitmap, in decode_threshold_hint() argument
4616 if (likely(bitmap[0] & hint_bit)) { in decode_threshold_hint()
4630 uint32_t bitmap[3] = {0,}, attrlen; in decode_first_threshold_item4() local
4639 /* thi_hintset bitmap */ in decode_first_threshold_item4()
4640 status = decode_attr_bitmap(xdr, bitmap); in decode_first_threshold_item4()
4649 status = decode_threshold_hint(xdr, bitmap, &res->rd_sz, THRESHOLD_RD); in decode_first_threshold_item4()
4652 status = decode_threshold_hint(xdr, bitmap, &res->wr_sz, THRESHOLD_WR); in decode_first_threshold_item4()
4655 status = decode_threshold_hint(xdr, bitmap, &res->rd_io_sz, in decode_first_threshold_item4()
4659 status = decode_threshold_hint(xdr, bitmap, &res->wr_io_sz, in decode_first_threshold_item4()
4665 res->bm = bitmap[0]; in decode_first_threshold_item4()
4679 uint32_t *bitmap, in decode_attr_mdsthreshold() argument
4686 if (unlikely(bitmap[2] & (FATTR4_WORD2_MDSTHRESHOLD - 1U))) in decode_attr_mdsthreshold()
4688 if (bitmap[2] & FATTR4_WORD2_MDSTHRESHOLD) { in decode_attr_mdsthreshold()
4704 bitmap[2] &= ~FATTR4_WORD2_MDSTHRESHOLD; in decode_attr_mdsthreshold()
4709 static int decode_getfattr_attrs(struct xdr_stream *xdr, uint32_t *bitmap, in decode_getfattr_attrs() argument
4718 status = decode_attr_type(xdr, bitmap, &type); in decode_getfattr_attrs()
4727 status = decode_attr_change(xdr, bitmap, &fattr->change_attr); in decode_getfattr_attrs()
4732 status = decode_attr_size(xdr, bitmap, &fattr->size); in decode_getfattr_attrs()
4737 status = decode_attr_fsid(xdr, bitmap, &fattr->fsid); in decode_getfattr_attrs()
4743 status = decode_attr_error(xdr, bitmap, &err); in decode_getfattr_attrs()
4747 status = decode_attr_filehandle(xdr, bitmap, fh); in decode_getfattr_attrs()
4751 status = decode_attr_fileid(xdr, bitmap, &fattr->fileid); in decode_getfattr_attrs()
4756 status = decode_attr_fs_locations(xdr, bitmap, fs_loc); in decode_getfattr_attrs()
4762 if (unlikely(bitmap[0])) in decode_getfattr_attrs()
4765 status = decode_attr_mode(xdr, bitmap, &fmode); in decode_getfattr_attrs()
4773 status = decode_attr_nlink(xdr, bitmap, &fattr->nlink); in decode_getfattr_attrs()
4778 status = decode_attr_owner(xdr, bitmap, server, &fattr->uid, fattr->owner_name); in decode_getfattr_attrs()
4783 status = decode_attr_group(xdr, bitmap, server, &fattr->gid, fattr->group_name); in decode_getfattr_attrs()
4788 status = decode_attr_rdev(xdr, bitmap, &fattr->rdev); in decode_getfattr_attrs()
4793 status = decode_attr_space_used(xdr, bitmap, &fattr->du.nfs3.used); in decode_getfattr_attrs()
4798 status = decode_attr_time_access(xdr, bitmap, &fattr->atime); in decode_getfattr_attrs()
4803 status = decode_attr_time_create(xdr, bitmap, &fattr->btime); in decode_getfattr_attrs()
4808 status = decode_attr_time_metadata(xdr, bitmap, &fattr->ctime); in decode_getfattr_attrs()
4813 status = decode_attr_time_modify(xdr, bitmap, &fattr->mtime); in decode_getfattr_attrs()
4818 status = decode_attr_mounted_on_fileid(xdr, bitmap, &fattr->mounted_on_fileid); in decode_getfattr_attrs()
4824 if (unlikely(bitmap[1])) in decode_getfattr_attrs()
4827 status = decode_attr_mdsthreshold(xdr, bitmap, fattr->mdsthreshold); in decode_getfattr_attrs()
4831 status = decode_attr_security_label(xdr, bitmap, fattr->label); in decode_getfattr_attrs()
4847 bitmap[3] = {0}; in decode_getfattr_generic() local
4854 status = decode_attr_bitmap(xdr, bitmap); in decode_getfattr_generic()
4862 status = decode_getfattr_attrs(xdr, bitmap, fattr, fh, fs_loc, server); in decode_getfattr_generic()
4917 static int decode_attr_pnfstype(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_pnfstype() argument
4922 dprintk("%s: bitmap is %x\n", __func__, bitmap[1]); in decode_attr_pnfstype()
4923 if (unlikely(bitmap[1] & (FATTR4_WORD1_FS_LAYOUT_TYPES - 1U))) in decode_attr_pnfstype()
4925 if (bitmap[1] & FATTR4_WORD1_FS_LAYOUT_TYPES) { in decode_attr_pnfstype()
4927 bitmap[1] &= ~FATTR4_WORD1_FS_LAYOUT_TYPES; in decode_attr_pnfstype()
4935 static int decode_attr_layout_blksize(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_layout_blksize() argument
4940 dprintk("%s: bitmap is %x\n", __func__, bitmap[2]); in decode_attr_layout_blksize()
4942 if (bitmap[2] & FATTR4_WORD2_LAYOUT_BLKSIZE) { in decode_attr_layout_blksize()
4947 bitmap[2] &= ~FATTR4_WORD2_LAYOUT_BLKSIZE; in decode_attr_layout_blksize()
4955 static int decode_attr_clone_blksize(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_clone_blksize() argument
4960 dprintk("%s: bitmap is %x\n", __func__, bitmap[2]); in decode_attr_clone_blksize()
4962 if (bitmap[2] & FATTR4_WORD2_CLONE_BLKSIZE) { in decode_attr_clone_blksize()
4967 bitmap[2] &= ~FATTR4_WORD2_CLONE_BLKSIZE; in decode_attr_clone_blksize()
4973 uint32_t *bitmap, in decode_attr_change_attr_type() argument
4978 dprintk("%s: bitmap is %x\n", __func__, bitmap[2]); in decode_attr_change_attr_type()
4979 if (bitmap[2] & FATTR4_WORD2_CHANGE_ATTR_TYPE) { in decode_attr_change_attr_type()
4982 bitmap[2] &= ~FATTR4_WORD2_CHANGE_ATTR_TYPE; in decode_attr_change_attr_type()
5001 uint32_t attrlen, bitmap[3]; in decode_fsinfo() local
5006 if ((status = decode_attr_bitmap(xdr, bitmap)) != 0) in decode_fsinfo()
5013 if ((status = decode_attr_lease_time(xdr, bitmap, &fsinfo->lease_time)) != 0) in decode_fsinfo()
5015 if ((status = decode_attr_maxfilesize(xdr, bitmap, &fsinfo->maxfilesize)) != 0) in decode_fsinfo()
5017 if ((status = decode_attr_maxread(xdr, bitmap, &fsinfo->rtmax)) != 0) in decode_fsinfo()
5020 if ((status = decode_attr_maxwrite(xdr, bitmap, &fsinfo->wtmax)) != 0) in decode_fsinfo()
5025 if (unlikely(bitmap[0])) in decode_fsinfo()
5028 status = decode_attr_time_delta(xdr, bitmap, &fsinfo->time_delta); in decode_fsinfo()
5031 status = decode_attr_pnfstype(xdr, bitmap, fsinfo); in decode_fsinfo()
5036 if (unlikely(bitmap[1])) in decode_fsinfo()
5039 status = decode_attr_layout_blksize(xdr, bitmap, &fsinfo->blksize); in decode_fsinfo()
5042 status = decode_attr_clone_blksize(xdr, bitmap, &fsinfo->clone_blksize); in decode_fsinfo()
5046 status = decode_attr_change_attr_type(xdr, bitmap, in decode_fsinfo()
5051 status = decode_attr_xattrsupport(xdr, bitmap, in decode_fsinfo()
5323 dprintk("%s: Bitmap too large! Length = %u\n", __func__, bmlen); in decode_open()
5484 bitmap[3] = {0}; in decode_getacl() local
5493 if ((status = decode_attr_bitmap(xdr, bitmap)) != 0) in decode_getacl()
5500 if (unlikely(bitmap[0] & (FATTR4_WORD0_ACL - 1U))) in decode_getacl()
5502 if (!(bitmap[0] & FATTR4_WORD0_ACL)) in decode_getacl()
5506 if (unlikely(bitmap[0] || bitmap[1] & (FATTR4_WORD1_DACL - 1U))) in decode_getacl()
5508 if (!(bitmap[1] & FATTR4_WORD1_DACL)) in decode_getacl()
5512 if (unlikely(bitmap[0] || bitmap[1] & (FATTR4_WORD1_SACL - 1U))) in decode_getacl()
5514 if (!(bitmap[1] & FATTR4_WORD1_SACL)) in decode_getacl()
5518 /* The bitmap (xdr len + bitmaps) and the attr xdr len words in decode_getacl()
6036 /* Parse notification bitmap, verifying that it is zero. */ in decode_getdeviceinfo()
7573 uint32_t bitmap[3] = {0}; in nfs4_decode_dirent() local
7608 if (decode_attr_bitmap(xdr, bitmap) < 0) in nfs4_decode_dirent()
7614 if (decode_getfattr_attrs(xdr, bitmap, entry->fattr, entry->fh, in nfs4_decode_dirent()