Dan Mick wrote:
> Revised proposal.  I presume this restarts the timer?...

No need to restart the timer.  In fact, technically with a +1 on the 
revisions, we're probably done, but I'd prefer to wait until at least 
Wednesday before we close anything officially.

    - Garrett
>
> Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI
> This information is Copyright 2009 Sun Microsystems
> 1. Introduction
>     1.1. Project/Component Working Name:
>      pfiles offset
>     1.2. Name of Document Author/Supplier:
>      Author:  Daniel Mick
>     1.3  Date of This Document:
>     23 November, 2009
> 4. Technical Description
>
> PROBLEM:
>
> pfiles(1) prints various information about open files in a process
> (the manpage describes it as fstat(2) and fcntl(2) information, as well
> as network endpoints, socket options, and the file path, if available).
>
> Occasionally it would be useful to see the file offset for files that
> support seek; for example, for long-running processes that process large
> files sequentially, it can be useful to discover the current position
> in the file to estimate time to completion.  The information is readily
> available, and easy to output.
>
> pfiles(1) output is currently classified as Uncommitted.
>
> PROPOSAL:
>
> Add a new "offset:" output field to pfiles (in verbose mode, that is,
> lacking the -n switch).  The field would be printed for any file that
> responds to lseek() with a valid offset, appearing on its own line after
> the pathname (if any).  Several output formats were proposed and 
> discussed;
> locating just after all the other field:value items would be consistent,
> but would almost certainly cause linewrap.  Several people wished for the
> pathname to remain alone on its line, for two reasons: 1) parsing 
> ease, and
> 2) the pathname may well grow long, and offset: would wrap anyway.
> There's some value in having the offset near the pathname, as that's 
> likely the reference field of interest for the offset.
>
> As an example: here is output from a login ksh process before the change:
>
> 5968:   ksh
>   Current rlimit: 256 file descriptors
>    0: S_IFCHR mode:0620 dev:387,0 ino:1560118988 uid:23805 gid:7 
> rdev:24,3
>       O_RDWR|O_LARGEFILE
>       /dev/pts/3
>    1: S_IFCHR mode:0620 dev:387,0 ino:1560118988 uid:23805 gid:7 
> rdev:24,3
>       O_RDWR|O_LARGEFILE
>       /dev/pts/3
>    2: S_IFCHR mode:0620 dev:387,0 ino:1560118988 uid:23805 gid:7 
> rdev:24,3
>       O_RDWR|O_LARGEFILE
>       /dev/pts/3
>    3: S_IFCHR mode:0620 dev:387,0 ino:1560118988 uid:23805 gid:7 
> rdev:24,3
>       O_RDWR|O_LARGEFILE
>       /dev/pts/3
>   10: S_IFCHR mode:0620 dev:387,0 ino:1560118988 uid:23805 gid:7 
> rdev:24,3
>       O_RDWR|O_LARGEFILE FD_CLOEXEC
>       /dev/pts/3
>   63: S_IFREG mode:0600 dev:400,1 ino:254311 uid:23805 gid:10 size:23938
>       O_RDWR|O_APPEND|O_CREAT|O_LARGEFILE FD_CLOEXEC
>       /home/dmick/.sh_history
>
> and here is the proposed pfiles output:
>
> 5968:   ksh
>   Current rlimit: 256 file descriptors
>    0: S_IFCHR mode:0620 dev:387,0 ino:1560118988 uid:23805 gid:7 
> rdev:24,3
>       O_RDWR|O_LARGEFILE
>       /dev/pts/3
>       offset:32577
>    1: S_IFCHR mode:0620 dev:387,0 ino:1560118988 uid:23805 gid:7 
> rdev:24,3
>       O_RDWR|O_LARGEFILE
>       /dev/pts/3
>       offset:32577
>    2: S_IFCHR mode:0620 dev:387,0 ino:1560118988 uid:23805 gid:7 
> rdev:24,3
>       O_RDWR|O_LARGEFILE
>       /dev/pts/3
>       offset:32577
>    3: S_IFCHR mode:0620 dev:387,0 ino:1560118988 uid:23805 gid:7 
> rdev:24,3
>       O_RDWR|O_LARGEFILE
>       /dev/pts/3
>       offset:32577
>   10: S_IFCHR mode:0620 dev:387,0 ino:1560118988 uid:23805 gid:7 
> rdev:24,3
>       O_RDWR|O_LARGEFILE FD_CLOEXEC
>       /dev/pts/3
>       offset:32577
>   63: S_IFREG mode:0600 dev:400,1 ino:254311 uid:23805 gid:10 size:24000
>       O_RDWR|O_APPEND|O_CREAT|O_LARGEFILE FD_CLOEXEC
>       /home/dmick/.sh_history
>       offset:24000

Reply via email to