func: static void v9fs_create(void *opaque) int32_t fid ; size_t offset = 7 ; V9fsFidState * fidp ; int32_t perm ; V9fsPath path ; V9fsString name ; V9fsPDU * pdu = opaque ; err = pdu_unmarshal ( pdu , offset , "dsdbs" , & fid , & name , & perm , & mode , & extension ); if ( err < 0 )  fidp = get_fid ( pdu , fid ); if ( fidp == NULL )  if ( perm & P9_STAT_MODE_DIR )  if ( perm & P9_STAT_MODE_SYMLINK )  if ( perm & P9_STAT_MODE_LINK )  if ( perm & P9_STAT_MODE_DEVICE )  if ( perm & P9_STAT_MODE_NAMED_PIPE )  if ( perm & P9_STAT_MODE_SOCKET )  err = v9fs_co_mknod ( pdu , fidp , & name , fidp -> uid , - 1 , 0 , S_IFSOCK | ( perm & 0777 ) , & stbuf ); if ( err < 0 )  err = v9fs_co_name_to_path ( pdu , & fidp -> path , name . data , & path ); if ( err < 0 )  v9fs_path_copy ( & fidp -> path , & path ); void v9fs_path_copy(V9fsPath *lhs, V9fsPath *rhs) lhs -> data = g_malloc ( rhs -> size ); memcpy ( lhs -> data , rhs -> data , rhs -> size ); lhs -> size = rhs -> size; 