--- ./source/private_module/nfsd/nfs_async_fsops.c	2021-11-24 06:42:02.000000000 +0000
+++ ./source/private_module/nfsd/nfs_async_fsops.c.hotpatch	2021-11-24 06:44:07.554251072 +0000
@@ -4295,14 +4295,14 @@
     /*GNSļϵͳĿ¼ȡqtreeϢexpqtreeģҪͷ*/
     if (READDIR_CROSS_EXPORT_FLAG == (uint32_t)SVC_MAY_FLAGS(iod_req))
     {
+        NAS_DBG(MOD_NAS_NFS, LOG_DEBUG, "GNS READDIR_CROSS_EXPORT_FLAG flag need to be cleared in iod_req(%p)", iod_req);
         IOD_SET_MAY_FLAGS(iod_req, 0);
     }
-        
     if (NFS_AIO_PENDING == err)
     {
         return err;
     }
-    
+    if (READDIR_CROSS_EXPORT_FLAG == (uint32_t)SVC_MAY_FLAGS(iod_req)) { IOD_SET_MAY_FLAGS(iod_req, 0); }
     nfs_free_async_nas_request(n_req);   
     return err;
 }
@@ -4389,7 +4389,7 @@
         NAS_DBG(MOD_NAS_NFS, LOG_ERROR, "IOD is null.");
         return;
     }
-   
+    if (READDIR_CROSS_EXPORT_FLAG == (uint32_t)SVC_MAY_FLAGS(iod_req)) { IOD_SET_MAY_FLAGS(iod_req, 0); }
     rqstp = SVC_RQST(iod_req);
     if (!rqstp) 
     {
@@ -4400,7 +4400,6 @@
     NFS_TRACE_RECORD(rqstp, nfserr, NFS_ASYNC_FTDS_ID_ENCODE_FH);
     nfserr = nfserrno(err, rqstp->rq_vers);
     /*費Ҫжnfserrfileid*/
-
 out:
     if (nfs_ok == nfserr)
     {
@@ -4415,6 +4414,7 @@
     nfs_free_async_nas_request(nreq);
     //change for iod delay optimize
     nfs_dcall_cur_iod_back(iod_req);
+    NAS_DBG(MOD_NAS_NFS, LOG_DEBUG, "nfs_fsop_encodefh_done done, release iod_req(%p)", iod_req);
     return;
 }
 
