X-Git-Url: http://git.indexdata.com/?p=idzebra-moved-to-github.git;a=blobdiff_plain;f=bfile%2Fmfile.c;h=7c5cf1cdd922364d121d009ed64986b6fbc95d56;hp=58dbe536dc75b7dd831ac4ca5e33bee3224f6f0f;hb=c63fd1f0a9c65ef4a70d4e67c2a86941aaf70a3f;hpb=ea8f2ba5fbb613bb0d70a76582fb23e7f3a17e58 diff --git a/bfile/mfile.c b/bfile/mfile.c index 58dbe53..7c5cf1c 100644 --- a/bfile/mfile.c +++ b/bfile/mfile.c @@ -1,8 +1,5 @@ -/* $Id: mfile.c,v 1.75 2007-02-10 18:37:42 adam Exp $ - Copyright (C) 1995-2007 - Index Data ApS - -This file is part of the Zebra server. +/* This file is part of the Zebra server. + Copyright (C) 2004-2013 Index Data Zebra is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free @@ -20,6 +17,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ +#if HAVE_CONFIG_H +#include +#endif #include #include #ifdef WIN32 @@ -45,7 +45,7 @@ static int scan_areadef(MFile_area ma, const char *ad, const char *base) /* * If no definition is given, use current directory, unlimited. */ - char dirname[FILENAME_MAX+1]; + char dirname[FILENAME_MAX+1]; mf_dir **dp = &ma->dirs, *dir = *dp; if (!ad) @@ -134,7 +134,7 @@ static int scan_areadef(MFile_area ma, const char *ad, const char *base) \retval -1 ERROR \retval -2 OK, but file does not created (read-only) */ - + static zint file_position(MFile mf, zint pos, int offset) { zint off = 0, ps; @@ -203,7 +203,7 @@ MFile_area mf_init(const char *name, const char *spec, const char *base, struct dirent *dent; int fd, number; char metaname[FILENAME_MAX+1], tmpnam[FILENAME_MAX+1]; - + yaz_log(YLOG_DEBUG, "mf_init(%s)", name); strcpy(ma->name, name); ma->mfiles = 0; @@ -543,6 +543,13 @@ int mf_write(MFile mf, zint no, int offset, int nbytes, const void *buf) { yaz_log(YLOG_FATAL, "mf_write: %s error (4) no more space", mf->name); + for (dp = mf->ma->dirs; dp ; dp = dp->next) { + yaz_log(YLOG_FATAL,"%s: max=" ZINT_FORMAT + " used=" ZINT_FORMAT " available=" ZINT_FORMAT, + dp->name, (zint)dp->max_bytes, + (zint)(dp->max_bytes - dp->avail_bytes), (zint)dp->avail_bytes ); + } + yaz_log(YLOG_FATAL,"Adjust the limits in your zebra.cfg"); ret = -1; goto out; } @@ -566,7 +573,7 @@ int mf_write(MFile mf, zint no, int offset, int nbytes, const void *buf) yaz_log(YLOG_FATAL, "mf_write: %s error (5)", mf->name); ret = -1; goto out; - } + } } else { @@ -590,7 +597,7 @@ int mf_write(MFile mf, zint no, int offset, int nbytes, const void *buf) return ret; } -/** \brief metafile area statistics +/** \brief metafile area statistics \param ma metafile area handle \param no area number (0=first, 1=second, ..) \param directory holds directory upon completion (if non-NULL) @@ -625,6 +632,7 @@ int mf_area_directory_stat(MFile_area ma, int no, const char **directory, /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil * End: * vim: shiftwidth=4 tabstop=8 expandtab