usr/src/uts/common/fs/nfs/nfs4_srv_readdir.c
changeset 967 cf6233442405
parent 806 849fb015aa25
child 5331 3047ad28a67b
equal deleted inserted replaced
966:1eeda5793aba 967:cf6233442405
   988 			if (ae &
   988 			if (ae &
   989 			    (FATTR4_FILEHANDLE_MASK |
   989 			    (FATTR4_FILEHANDLE_MASK |
   990 			    FATTR4_FILEID_MASK)) {
   990 			    FATTR4_FILEID_MASK)) {
   991 
   991 
   992 				if (ae & FATTR4_FILEHANDLE_MASK) {
   992 				if (ae & FATTR4_FILEHANDLE_MASK) {
   993 					bool_t fh_error;
       
   994 					struct {
   993 					struct {
   995 						uint_t len;
   994 						uint_t len;
   996 						char *val;
   995 						char *val;
   997 						char fh[NFS_FH4_LEN];
   996 						char fh[NFS_FH4_LEN];
   998 					} fh;
   997 					} fh;
   999 					fh.len = 0;
   998 					fh.len = 0;
  1000 					fh.val = fh.fh;
   999 					fh.val = fh.fh;
  1001 					(void) makefh4((nfs_fh4 *)&fh, vp,
  1000 					(void) makefh4((nfs_fh4 *)&fh, vp,
  1002 					    (newexi ? newexi : cs->exi));
  1001 					    (newexi ? newexi : cs->exi));
  1003 
  1002 
  1004 					fh_error = xdr_inline_encode_nfs_fh4(
  1003 					if (!xdr_inline_encode_nfs_fh4(
  1005 					    &ptr, ptr_redzone,
  1004 					    &ptr, ptr_redzone,
  1006 					    (nfs_fh4_fmt_t *)fh.val);
  1005 					    (nfs_fh4_fmt_t *)fh.val)) {
  1007 					if (fh_error) {
       
  1008 						if (nents ||
  1006 						if (nents ||
  1009 						    IS_MIN_ATTR_MASK(ar)) {
  1007 						    IS_MIN_ATTR_MASK(ar)) {
  1010 							no_space = TRUE;
  1008 							no_space = TRUE;
  1011 							continue;
  1009 							continue;
  1012 						}
  1010 						}