Too many open files

Wesley Craig wes at umich.edu
Tue Nov 4 13:43:36 EST 2008


On 04 Nov 2008, at 07:39, Rob McMahon wrote:
> I suspect the underlying cause is this chunk from
> lib/cyrusdb_quotalegacy.c(foreach):
>
>     /* strip off the qr specific path and replace with pattern */
>     sprintf(strstr(quota_path, FNAME_QUOTADIR) + strlen 
> (FNAME_QUOTADIR),
>             "?/%s*", prefix);
>
>     /* search for the quotaroots */
>     glob(quota_path, GLOB_NOSORT, NULL, &globbuf);
>
> That pattern on our boxes can match thousands of users.  I think it
> needs to be more careful and go looking for `prefix' and  
> `prefix.*', but
> I haven't dug into it far enough yet.

That code's been rewritten in 2.3.13 to read the quota directory  
instead.  You might be able to back port the change:

	https://bugzilla.andrew.cmu.edu/cgi-bin/cvsweb.cgi/src/cyrus/lib/ 
cyrusdb_quotalegacy.c.diff?r1=1.18;r2=1.19

For the record, it wasn't rewritten because of the bug you  
identified, but for an unrelated problem.

:wes


More information about the Info-cyrus mailing list