Hi All,

If init_export_root() returns a failure, the caller is not handling
properly properly.  The call path is exports_pkginit() -->
init_export_cb() --> init_export_root(). The last function is supposed
to set exp_root_obj if it succeeds. It fails, this won't be set.

The caller of init_export_root() just bails out processing the rest of
exports. The failed export still exists in the list without
exp_root_obj. The problem is originally found in Ganesha 2.3.

The dynamic exports code doesn't go through this path. Is there a
reason why we need two different code paths? Can't we combine both
(dynamic exports time and start up time) code paths? Any suggestion to
fix it?

PS: I will try removing the export in init_export_root() before
returning the failure and see how that goes. Need to do lock
manipulations as well.

Regards, Malahal.

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel

Reply via email to