From: David van Moolenbroek Date: Sat, 5 Oct 2013 12:59:59 +0000 (+0200) Subject: IS: dump number of in-use FDs for VFS X-Git-Tag: v3.3.0~532 X-Git-Url: http://zhaoyanbai.com/repos/%22../static/icons/zlib_tech.html?a=commitdiff_plain;h=cf12dbac0d7aadea8ea091bb7a6e3815cb0b6c03;p=minix.git IS: dump number of in-use FDs for VFS Change-Id: If0e2092d5a8c384c31b1f44cc0591bb119c6d8de --- diff --git a/servers/is/dmp_fs.c b/servers/is/dmp_fs.c index 1230235cd..a17475b7d 100644 --- a/servers/is/dmp_fs.c +++ b/servers/is/dmp_fs.c @@ -24,7 +24,7 @@ struct dmap dmap[NR_DEVICES]; void fproc_dmp() { struct fproc *fp; - int i, n=0; + int i, j, nfds, n=0; static int prev_i; if (getsysinfo(VFS_PROC_NR, SI_PROC_TAB, fproc, sizeof(fproc)) != OK) { @@ -33,17 +33,19 @@ void fproc_dmp() } printf("File System (FS) process table dump\n"); - printf("-nr- -pid- -tty- -umask- --uid-- --gid-- -ldr- -sus-rev-proc-\n"); + printf("-nr- -pid- -tty- -umask- --uid-- --gid-- -ldr-fds-sus-rev-proc-\n"); for (i=prev_i; ifp_pid <= 0) continue; if (++n > 22) break; - printf("%3d %4d %2d/%d 0x%05x %2d (%2d) %2d (%2d) %3d %3d %3d ", + for (j = nfds = 0; j < OPEN_MAX; j++) + if (fp->fp_filp[j] != NULL) nfds++; + printf("%3d %4d %2d/%d 0x%05x %2d (%2d) %2d (%2d) %3d %3d %3d %3d ", i, fp->fp_pid, major(fp->fp_tty), minor(fp->fp_tty), fp->fp_umask, fp->fp_realuid, fp->fp_effuid, fp->fp_realgid, fp->fp_effgid, - !!(fp->fp_flags & FP_SESLDR), + !!(fp->fp_flags & FP_SESLDR), nfds, fp->fp_blocked_on, !!(fp->fp_flags & FP_REVIVED) ); if (fp->fp_blocked_on == FP_BLOCKED_ON_OTHER)