X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=utils%2Fmountd%2Fcache.c;h=0c4a03d13daccded13482e1cf8ad56d4e467323f;hb=27dcd8a775024160e741cce53e4a402eaac3501d;hp=ce93e3cf61b66f5b3fdfb623bcddd94a130eaf87;hpb=9274e94db85bac04e170414cb8e0f4be271cde90;p=nfs-utils.git diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c index ce93e3c..0c4a03d 100644 --- a/utils/mountd/cache.c +++ b/utils/mountd/cache.c @@ -825,12 +825,13 @@ struct { char *cache_name; void (*cache_handle)(FILE *f); FILE *f; + char vbuf[RPC_CHAN_BUF_SIZE]; } cachelist[] = { - { "auth.unix.ip", auth_unix_ip, NULL}, - { "auth.unix.gid", auth_unix_gid, NULL}, - { "nfsd.export", nfsd_export, NULL}, - { "nfsd.fh", nfsd_fh, NULL}, - { NULL, NULL, NULL } + { "auth.unix.ip", auth_unix_ip, NULL, ""}, + { "auth.unix.gid", auth_unix_gid, NULL, ""}, + { "nfsd.export", nfsd_export, NULL, ""}, + { "nfsd.fh", nfsd_fh, NULL, ""}, + { NULL, NULL, NULL, ""} }; extern int manage_gids; @@ -848,6 +849,10 @@ void cache_open(void) continue; sprintf(path, "/proc/net/rpc/%s/channel", cachelist[i].cache_name); cachelist[i].f = fopen(path, "r+"); + if (cachelist[i].f != NULL) { + setvbuf(cachelist[i].f, cachelist[i].vbuf, _IOLBF, + RPC_CHAN_BUF_SIZE); + } } }