On Nov 25, 2010, at 5:07 AM, Mi Jinlong wrote: > We should return the errno that was set before po_destroy, > rather than the errno that was set at po_destroy. > > Because the po_destroy function don't affect the return value, > this patch just revert the saved errno after po_destroy. The only library function used in po_destroy() is free(3). Does free(3) change the value of errno? > Signed-off-by: Bian Naimeng <biannm@xxxxxxxxxxxxxx> > Signed-off-by: Mi Jinlong <mijinlong@xxxxxxxxxxxxxx> > --- > utils/mount/stropts.c | 8 ++++++-- > 1 files changed, 6 insertions(+), 2 deletions(-) > > diff --git a/utils/mount/stropts.c b/utils/mount/stropts.c > index 50a1a2a..d554877 100644 > --- a/utils/mount/stropts.c > +++ b/utils/mount/stropts.c > @@ -592,7 +592,7 @@ static int nfs_do_mount_v3v2(struct nfsmount_info *mi, > struct sockaddr *sap, socklen_t salen) > { > struct mount_options *options = po_dup(mi->options); > - int result = 0; > + int result = 0, save = 0; > > if (!options) { > errno = ENOMEM; > @@ -637,7 +637,9 @@ static int nfs_do_mount_v3v2(struct nfsmount_info *mi, > result = nfs_sys_mount(mi, options); > > out_fail: > + save = errno; > po_destroy(options); > + errno = save; > return result; > } > > @@ -673,7 +675,7 @@ static int nfs_do_mount_v4(struct nfsmount_info *mi, > struct sockaddr *sap, socklen_t salen) > { > struct mount_options *options = po_dup(mi->options); > - int result = 0; > + int result = 0, save = 0; > > if (!options) { > errno = ENOMEM; > @@ -724,7 +726,9 @@ static int nfs_do_mount_v4(struct nfsmount_info *mi, > result = nfs_sys_mount(mi, options); > > out_fail: > + save = errno; > po_destroy(options); > + errno = save; > return result; > } > > -- > 1.7.3.2 > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-nfs" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Chuck Lever chuck[dot]lever[at]oracle[dot]com -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html