Date:   Tue, 28 Nov 2000 15:13:44 +0000 (GMT)
   From: Tigran Aivazian <[EMAIL PROTECTED]>

   I know that there is no problem due to the way it is called in
   copy_files() -- it would only be above 32. But for what I want to
   use it, I need the _correct_ number of open file descriptors and
   not some "rounded up to 32" one.

That function is static for a reason :-)  It is not meant
for external use.  What it gives you is the smallest multiple
of (8 * sizeof(long)) which is larger than the largest file
descriptor the task has open.

What you want is something like:

static int num_open_files(struct files_struct *files, int size)
{
        total = 0;
        for (i = size / (8 * sizeof(long)); i > 0; )
                total += count_bits(files->open_fds->fds_bits[--i]);

        return total;
}

Later,
David S. Miller
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to