diff options
author | Kevin Coffman <kwc@citi.umich.edu> | 2007-02-08 17:27:45 -0500 |
---|---|---|
committer | Neil Brown <neilb@suse.de> | 2007-02-09 11:55:47 +1100 |
commit | dbfcba5b03481d49f3e78946fe8fd066e2025545 (patch) | |
tree | def2853fa5b0743aff0fd8a1ae88dee833c4cf97 /utils/mountd | |
parent | 27b9c1633398fe605d35da74318f96731506059e (diff) | |
download | nfs-utils-dbfcba5b03481d49f3e78946fe8fd066e2025545.tar.gz nfs-utils-dbfcba5b03481d49f3e78946fe8fd066e2025545.tar.xz nfs-utils-dbfcba5b03481d49f3e78946fe8fd066e2025545.zip |
Remove duplicated code.
Signed-off-by: Fred Isaman <iisaman@citi.umich.edu>
Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
Remove duplicated code.
Signed-off-by: Neil Brown <neilb@suse.de>
Diffstat (limited to 'utils/mountd')
-rw-r--r-- | utils/mountd/cache.c | 37 |
1 files changed, 20 insertions, 17 deletions
diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c index e8d42ae..37e7160 100644 --- a/utils/mountd/cache.c +++ b/utils/mountd/cache.c @@ -236,6 +236,20 @@ void nfsd_fh(FILE *f) return; } +static int dump_to_cache(FILE *f, char *domain, char *path, struct exportent *exp) +{ + qword_print(f, domain); + qword_print(f, path); + qword_printint(f, time(0)+30*60); + if (exp) { + qword_printint(f, exp->e_flags); + qword_printint(f, exp->e_anonuid); + qword_printint(f, exp->e_anongid); + qword_printint(f, exp->e_fsid); + } + return qword_eol(f); +} + void nfsd_export(FILE *f) { /* requests are: @@ -284,16 +298,12 @@ void nfsd_export(FILE *f) } } - qword_print(f, dom); - qword_print(f, path); - qword_printint(f, time(0)+30*60); if (found) { - qword_printint(f, found->m_export.e_flags); - qword_printint(f, found->m_export.e_anonuid); - qword_printint(f, found->m_export.e_anongid); - qword_printint(f, found->m_export.e_fsid); + dump_to_cache(f, dom, path, &found->m_export); + mountlist_add(dom, path); + } else { + dump_to_cache(f, dom, path, NULL); } - qword_eol(f); out: if (dom) free(dom); if (path) free(path); @@ -359,16 +369,9 @@ int cache_export_ent(char *domain, struct exportent *exp) if (!f) return -1; - qword_print(f, domain); - qword_print(f, exp->e_path); - qword_printint(f, time(0)+30*60); - qword_printint(f, exp->e_flags); - qword_printint(f, exp->e_anonuid); - qword_printint(f, exp->e_anongid); - qword_printint(f, exp->e_fsid); - err = qword_eol(f); - + err = dump_to_cache(f, domain, exp->e_path, exp); fclose(f); + mountlist_add(domain, exp->e_path); return err; } |