Ok, it works now. This is at version 744. I'll let you know if anything else gives me trouble... :-)
Thanks, Daniel On 12/3/08, Daniel Gruner <[EMAIL PROTECTED]> wrote: > But isn't this supposed to be pulled automatically with sxcpu when you > svn co from > xcpu.svn.sourceforge.net? > > When I retrieve sxcpu, it reports that it is getting revision 25 of > npfs and spfs. Still > it doesn't seem to work... > > I'll try a fresh download and build from scratch, and will let you know. > > > Daniel > > > > On 12/3/08, Abhishek Kulkarni <[EMAIL PROTECTED]> wrote: > > > > Yes, it's in. > > http://npfs.svn.sourceforge.net/viewvc/npfs?view=rev&revision=25 > > > > > > On Wed, 2008-12-03 at 13:43 -0500, Daniel Gruner wrote: > > > Hi Abhishek, > > > > > > I got the latest version from sourceforge, in the usual way, but there > > > wa no update to the npfs stuff. Has it actually been checked in? Or > > > else, do I have to get a fresh copy of everything? > > > > > > Daniel > > > > > > On Tue, Dec 2, 2008 at 10:26 PM, Abhishek Kulkarni <[EMAIL PROTECTED]> > wrote: > > > > Daniel, > > > > > > > > The weird xrx hang that you were seeing with the latest revision has > been > > > > fixed upstream in the npfs trunk. Yes, it was a bug that creeped in > during > > > > the consolidation of the spfs/npfs sources. Thanks for hammering it > down for > > > > us. > > > > > > > > Abhishek > > > > > > > > On Mon, Dec 1, 2008 at 3:56 PM, Daniel Gruner <[EMAIL PROTECTED]> > wrote: > > > >> > > > >> On 12/1/08, Abhishek Kulkarni <[EMAIL PROTECTED]> wrote: > > > >> > > > > >> > On Thu, 2008-11-27 at 11:20 -0500, Daniel Gruner wrote: > > > >> > > The latest version (739) does not work properly. For example, > any > > > >> > > time I tried to run something it would just hang, irrespective > of > > > >> > > whether I did "xrx -a date", or "xrx -l n0000 /sbin/reboot". > > > >> > > > > >> > > > > >> > I tested r739 before committing and it works fine for me. Can you > > > >> > provide some more details? Possibly a trace. And what hangs? > > > >> > > > >> Well, with the latest version (740), I can do xrx to individual > nodes, > > > >> properly, > > > >> but "xrx -a" hangs. By this I mean it just hangs... until I kill it > > > >> with ctrl-C. > > > >> > > > >> Also, I still get the infinite loop with "xuserset add n0000 -u". > > > >> > > > >> Here is the debugging output from "xrx -a date": > > > >> > > > >> [EMAIL PROTECTED] xcpu]# xrx -d -a date > > > >> <<<-- (0x61f220) Tversion tag 65535 msize 32792 version '9P2000.u' > > > >> -->>> (0x61f220) Rversion tag 65535 msize 8216 version '9P2000.u' > > > >> <<<-- (0x61f220) Tattach tag 0 fid 0 afid -1 uname root aname > nuname 0 > > > >> -->>> (0x61f220) Rattach tag 0 qid (0000000000000001 0 'd') > > > >> connection 0x61f220 to 127.0.0.1 opened > > > >> <<<-- (0x61f220) Twalk tag 0 fid 0 newfid 1 nwname 1 'state' > > > >> -->>> (0x61f220) Rwalk tag 0 nwqid 1 (0000000000000002 0 '') > > > >> <<<-- (0x61f220) Topen tag 0 fid 1 mode 0 > > > >> -->>> (0x61f220) Ropen tag 0 (0000000000000002 0 '') iounit 0 > > > >> <<<-- (0x61f220) Tread tag 0 fid 1 offset 0 count 8191 > > > >> -->>> (0x61f220) Rread tag 0 count 90 data 6e303030 30097463 70213130 > > > >> 2e31302e 302e3130 21363636 37092f4c 696e7578 > > > >> 2f783836 5f363409 75700930 0a6e3030 30310974 63702131 302e3130 > 2e302e31 > > > >> > > > >> > > > >> <<<-- (0x61f220) Tread tag 0 fid 1 offset 90 count 8101 > > > >> -->>> (0x61f220) Rread tag 0 count 0 data > > > >> > > > >> <<<-- (0x61f220) Tread tag 0 fid 1 offset 90 count 8191 > > > >> -->>> (0x61f220) Rread tag 0 count 0 data > > > >> > > > >> <<<-- (0x61f220) Tclunk tag 0 fid 1 > > > >> -->>> (0x61f220) Rclunk tag 0 > > > >> <<<-- (0x61f2e0) Tversion tag 65535 msize 32792 version '9P2000.u' > > > >> -->>> (0x61f2e0) Rversion tag 65535 msize 32792 version '9P2000.u' > > > >> <<<-- (0x61f2e0) Tauth tag 0 afid 0 uname root aname nuname 0 > > > >> -->>> (0x61f2e0) Rauth tag 0 qid (0000000000000000 0 'A') > > > >> <<<-- (0x61f2e0) Tread tag 0 fid 0 offset 0 count 4096 > > > >> -->>> (0x61f2e0) Rread tag 0 count 16 data aa4d6553 ce86b205 7cc011bd > > > >> 287f1921 > > > >> > > > >> <<<-- (0x61f2e0) Tread tag 0 fid 0 offset 16 count 4080 > > > >> -->>> (0x61f2e0) Rread tag 0 count 0 data > > > >> > > > >> <<<-- (0x61f2e0) Twrite tag 0 fid 0 offset 0 count 256 data b5eb8c78 > > > >> 5fe427e5 77bd9eb5 10d406e2 7d3d1a5e 45b8e2c1 d0d1a5e3 23b345f3 > > > >> a9fb0b69 6ae199fa bbbff712 595f584a 7b4f150d ac996f25 a3913a4b > f47dc9f1 > > > >> > > > >> > > > >> -->>> (0x61f2e0) Rwrite tag 0 count 256 > > > >> <<<-- (0x61f2e0) Tattach tag 0 fid 1 afid 0 uname root aname nuname > 0 > > > >> -->>> (0x61f2e0) Rattach tag 0 qid (0000000000000001 0 'd') > > > >> connection 0x61f2e0 to 10.10.0.10 opened > > > >> <<<-- (0x61f2e0) Twalk tag 0 fid 1 newfid 2 nwname 1 'arch' > > > >> -->>> (0x61f2e0) Rwalk tag 0 nwqid 1 (0000000000000004 0 '') > > > >> <<<-- (0x61f2e0) Topen tag 0 fid 2 mode 0 > > > >> -->>> (0x61f2e0) Ropen tag 0 (0000000000000004 0 '') iounit 0 > > > >> <<<-- (0x61f2e0) Tread tag 0 fid 2 offset 0 count 63 > > > >> -->>> (0x61f2e0) Rread tag 0 count 13 data 2f4c696e 75782f78 > 38365f36 34 > > > >> > > > >> <<<-- (0x61f2e0) Tread tag 0 fid 2 offset 13 count 50 > > > >> -->>> (0x61f2e0) Rread tag 0 count 0 data > > > >> > > > >> <<<-- (0x61f2e0) Tclunk tag 0 fid 2 > > > >> -->>> (0x61f2e0) Rclunk tag 0 > > > >> <<<-- (0x61f2e0) Twalk tag 0 fid 1 newfid 2 nwname 1 'clone' > > > >> -->>> (0x61f2e0) Rwalk tag 0 nwqid 1 (0000000000000002 0 '') > > > >> <<<-- (0x61f2e0) Topen tag 0 fid 2 mode 0 > > > >> -->>> (0x61f2e0) Ropen tag 0 (0000000000000002 0 '') iounit 0 > > > >> <<<-- (0x61f2e0) Tread tag 0 fid 2 offset 0 count 63 > > > >> -->>> (0x61f2e0) Rread tag 0 count 1 data 33 > > > >> > > > >> <<<-- (0x61f2e0) Tread tag 0 fid 2 offset 1 count 62 > > > >> -->>> (0x61f2e0) Rread tag 0 count 0 data > > > >> > > > >> <<<-- (0x61f2e0) Twalk tag 0 fid 1 newfid 3 nwname 2 '3' 'ctl' > > > >> -->>> (0x61f2e0) Rwalk tag 0 nwqid 2 (0000000004000000 0 'd') > > > >> (0000000004000001 0 '') > > > >> <<<-- (0x61f2e0) Topen tag 0 fid 3 mode 1 > > > >> -->>> (0x61f2e0) Ropen tag 0 (0000000004000001 0 '') iounit 0 > > > >> <<<-- (0x61f2e0) Twalk tag 0 fid 1 newfid 4 nwname 2 '3' 'wait' > > > >> -->>> (0x61f2e0) Rwalk tag 0 nwqid 2 (0000000004000000 0 'd') > > > >> (0000000004000009 0 '') > > > >> <<<-- (0x61f2e0) Topen tag 0 fid 4 mode 0 > > > >> -->>> (0x61f2e0) Ropen tag 0 (0000000004000009 0 '') iounit 0 > > > >> <<<-- (0x61f2e0) Twalk tag 0 fid 1 newfid 5 nwname 2 '3' 'stdin' > > > >> -->>> (0x61f2e0) Rwalk tag 0 nwqid 2 (0000000004000000 0 'd') > > > >> (0000000004000005 0 '') > > > >> <<<-- (0x61f2e0) Topen tag 0 fid 5 mode 1 > > > >> -->>> (0x61f2e0) Ropen tag 0 (0000000004000005 0 '') iounit 0 > > > >> <<<-- (0x61f2e0) Twalk tag 0 fid 1 newfid 6 nwname 2 '3' 'stdout' > > > >> -->>> (0x61f2e0) Rwalk tag 0 nwqid 2 (0000000004000000 0 'd') > > > >> (0000000004000006 0 '') > > > >> <<<-- (0x61f2e0) Topen tag 0 fid 6 mode 0 > > > >> -->>> (0x61f2e0) Ropen tag 0 (0000000004000006 0 '') iounit 0 > > > >> <<<-- (0x61f2e0) Twalk tag 0 fid 1 newfid 7 nwname 2 '3' 'stderr' > > > >> -->>> (0x61f2e0) Rwalk tag 0 nwqid 2 (0000000004000000 0 'd') > > > >> (0000000004000007 0 '') > > > >> <<<-- (0x61f2e0) Topen tag 0 fid 7 mode 0 > > > >> -->>> (0x61f2e0) Ropen tag 0 (0000000004000007 0 '') iounit 0 > > > >> <<<-- (0x61f2e0) Tclunk tag 0 fid 2 > > > >> -->>> (0x61f2e0) Rclunk tag 0 > > > >> <<<-- (0x6251a0) Tversion tag 65535 msize 32792 version '9P2000.u' > > > >> -->>> (0x6251a0) Rversion tag 65535 msize 32792 version '9P2000.u' > > > >> <<<-- (0x6251a0) Tauth tag 0 afid 0 uname root aname nuname 0 > > > >> -->>> (0x6251a0) Rauth tag 0 qid (0000000000000000 0 'A') > > > >> <<<-- (0x6251a0) Tread tag 0 fid 0 offset 0 count 4096 > > > >> -->>> (0x6251a0) Rread tag 0 count 16 data 53c2d5e8 532ebac8 b0a070b2 > > > >> ce6cee3a > > > >> > > > >> <<<-- (0x6251a0) Tread tag 0 fid 0 offset 16 count 4080 > > > >> -->>> (0x6251a0) Rread tag 0 count 0 data > > > >> > > > >> <<<-- (0x6251a0) Twrite tag 0 fid 0 offset 0 count 256 data 8bed7bd1 > > > >> 94f1715c fbe85134 082b7308 49b53ccd cd5d5a9f cf501535 92cf6f78 > > > >> 1a552358 92cdd21f 82b1dc9d 13e00298 33c61985 a255597f 599e60e6 > 12023565 > > > >> > > > >> > > > >> -->>> (0x6251a0) Rwrite tag 0 count 256 > > > >> <<<-- (0x6251a0) Tattach tag 0 fid 1 afid 0 uname root aname nuname > 0 > > > >> -->>> (0x6251a0) Rattach tag 0 qid (0000000000000001 0 'd') > > > >> connection 0x6251a0 to 10.10.0.11 opened > > > >> <<<-- (0x6251a0) Twalk tag 0 fid 1 newfid 2 nwname 1 'arch' > > > >> -->>> (0x6251a0) Rwalk tag 0 nwqid 1 (0000000000000004 0 '') > > > >> <<<-- (0x6251a0) Topen tag 0 fid 2 mode 0 > > > >> -->>> (0x6251a0) Ropen tag 0 (0000000000000004 0 '') iounit 0 > > > >> <<<-- (0x6251a0) Tread tag 0 fid 2 offset 0 count 63 > > > >> -->>> (0x6251a0) Rread tag 0 count 13 data 2f4c696e 75782f78 > 38365f36 34 > > > >> > > > >> <<<-- (0x6251a0) Tread tag 0 fid 2 offset 13 count 50 > > > >> -->>> (0x6251a0) Rread tag 0 count 0 data > > > >> > > > >> <<<-- (0x6251a0) Tclunk tag 0 fid 2 > > > >> -->>> (0x6251a0) Rclunk tag 0 > > > >> <<<-- (0x6251a0) Twalk tag 0 fid 1 newfid 2 nwname 1 'clone' > > > >> -->>> (0x6251a0) Rwalk tag 0 nwqid 1 (0000000000000002 0 '') > > > >> <<<-- (0x6251a0) Topen tag 0 fid 2 mode 0 > > > >> -->>> (0x6251a0) Ropen tag 0 (0000000000000002 0 '') iounit 0 > > > >> <<<-- (0x6251a0) Tread tag 0 fid 2 offset 0 count 63 > > > >> -->>> (0x6251a0) Rread tag 0 count 1 data 33 > > > >> > > > >> <<<-- (0x6251a0) Tread tag 0 fid 2 offset 1 count 62 > > > >> -->>> (0x6251a0) Rread tag 0 count 0 data > > > >> > > > >> <<<-- (0x6251a0) Twalk tag 0 fid 1 newfid 3 nwname 2 '3' 'ctl' > > > >> -->>> (0x6251a0) Rwalk tag 0 nwqid 2 (0000000004000000 0 'd') > > > >> (0000000004000001 0 '') > > > >> <<<-- (0x6251a0) Topen tag 0 fid 3 mode 1 > > > >> -->>> (0x6251a0) Ropen tag 0 (0000000004000001 0 '') iounit 0 > > > >> <<<-- (0x6251a0) Twalk tag 0 fid 1 newfid 4 nwname 2 '3' 'wait' > > > >> -->>> (0x6251a0) Rwalk tag 0 nwqid 2 (0000000004000000 0 'd') > > > >> (0000000004000009 0 '') > > > >> <<<-- (0x6251a0) Topen tag 0 fid 4 mode 0 > > > >> -->>> (0x6251a0) Ropen tag 0 (0000000004000009 0 '') iounit 0 > > > >> <<<-- (0x6251a0) Twalk tag 0 fid 1 newfid 5 nwname 2 '3' 'stdin' > > > >> -->>> (0x6251a0) Rwalk tag 0 nwqid 2 (0000000004000000 0 'd') > > > >> (0000000004000005 0 '') > > > >> <<<-- (0x6251a0) Topen tag 0 fid 5 mode 1 > > > >> -->>> (0x6251a0) Ropen tag 0 (0000000004000005 0 '') iounit 0 > > > >> <<<-- (0x6251a0) Twalk tag 0 fid 1 newfid 6 nwname 2 '3' 'stdout' > > > >> -->>> (0x6251a0) Rwalk tag 0 nwqid 2 (0000000004000000 0 'd') > > > >> (0000000004000006 0 '') > > > >> <<<-- (0x6251a0) Topen tag 0 fid 6 mode 0 > > > >> -->>> (0x6251a0) Ropen tag 0 (0000000004000006 0 '') iounit 0 > > > >> <<<-- (0x6251a0) Twalk tag 0 fid 1 newfid 7 nwname 2 '3' 'stderr' > > > >> -->>> (0x6251a0) Rwalk tag 0 nwqid 2 (0000000004000000 0 'd') > > > >> (0000000004000007 0 '') > > > >> <<<-- (0x6251a0) Topen tag 0 fid 7 mode 0 > > > >> -->>> (0x6251a0) Ropen tag 0 (0000000004000007 0 '') iounit 0 > > > >> <<<-- (0x6251a0) Tclunk tag 0 fid 2 > > > >> -->>> (0x6251a0) Rclunk tag 0 > > > >> <<<-- (0x61f2e0) Twalk tag 0 fid 1 newfid 2 nwname 2 '3' 'argv' > > > >> -->>> (0x61f2e0) Rwalk tag 0 nwqid 2 (0000000004000000 0 'd') > > > >> (0000000004000003 0 '') > > > >> <<<-- (0x61f2e0) Topen tag 0 fid 2 mode 17 > > > >> -->>> (0x61f2e0) Ropen tag 0 (0000000004000003 0 '') iounit 0 > > > >> <<<-- (0x61f2e0) Twalk tag 0 fid 1 newfid 8 nwname 2 '3' 'fs' > > > >> -->>> (0x61f2e0) Rwalk tag 0 nwqid 2 (0000000004000000 0 'd') > > > >> (0000000000000000 49347702 'd') > > > >> <<<-- (0x61f2e0) Tcreate tag 0 fid 8 name date perm 755 mode 1 ext > > > >> -->>> (0x61f2e0) Rcreate tag 0 (0000000000000000 49347702 '') iounit > 0 > > > >> <<<-- (0x61f2e0) Twalk tag 0 fid 1 newfid 9 nwname 2 '3' 'fs' > > > >> -->>> (0x61f2e0) Rwalk tag 0 nwqid 2 (0000000004000000 0 'd') > > > >> (0000000000000000 49347702 'd') > > > >> <<<-- (0x61f2e0) Tcreate tag 0 fid 9 name librt.so.1 perm 755 mode 1 > ext > > > >> -->>> (0x61f2e0) Rcreate tag 0 (0000000000000000 49347702 '') iounit > 0 > > > >> <<<-- (0x61f2e0) Twalk tag 0 fid 1 newfid 10 nwname 2 '3' 'fs' > > > >> -->>> (0x61f2e0) Rwalk tag 0 nwqid 2 (0000000004000000 0 'd') > > > >> (0000000000000000 49347702 'd') > > > >> <<<-- (0x61f2e0) Tcreate tag 0 fid 10 name libc.so.6 perm 755 mode 1 > ext > > > >> -->>> (0x61f2e0) Rcreate tag 0 (0000000000000000 49347702 '') iounit > 0 > > > >> <<<-- (0x61f2e0) Twalk tag 0 fid 1 newfid 11 nwname 2 '3' 'fs' > > > >> -->>> (0x61f2e0) Rwalk tag 0 nwqid 2 (0000000004000000 0 'd') > > > >> (0000000000000000 49347702 'd') > > > >> <<<-- (0x61f2e0) Tcreate tag 0 fid 11 name libpthread.so.0 perm 755 > mode 1 > > > >> ext > > > >> -->>> (0x61f2e0) Rcreate tag 0 (0000000000000000 49347702 '') iounit > 0 > > > >> <<<-- (0x61f2e0) Twalk tag 0 fid 1 newfid 12 nwname 2 '3' 'fs' > > > >> -->>> (0x61f2e0) Rwalk tag 0 nwqid 2 (0000000004000000 0 'd') > > > >> (0000000000000000 49347702 'd') > > > >> <<<-- (0x61f2e0) Tcreate tag 0 fid 12 name ld-linux-x86-64.so.2 perm > > > >> 755 mode 1 ext > > > >> -->>> (0x61f2e0) Rcreate tag 0 (0000000000000000 49347702 '') iounit > 0 > > > >> <<<-- (0x6251a0) Twalk tag 0 fid 1 newfid 2 nwname 2 '3' 'argv' > > > >> -->>> (0x6251a0) Rwalk tag 0 nwqid 2 (0000000004000000 0 'd') > > > >> (0000000004000003 0 '') > > > >> <<<-- (0x6251a0) Topen tag 0 fid 2 mode 17 > > > >> -->>> (0x6251a0) Ropen tag 0 (0000000004000003 0 '') iounit 0 > > > >> <<<-- (0x6251a0) Twalk tag 0 fid 1 newfid 8 nwname 2 '3' 'fs' > > > >> -->>> (0x6251a0) Rwalk tag 0 nwqid 2 (0000000004000000 0 'd') > > > >> (0000000000000000 493468c7 'd') > > > >> <<<-- (0x6251a0) Tcreate tag 0 fid 8 name date perm 755 mode 1 ext > > > >> -->>> (0x6251a0) Rcreate tag 0 (0000000000000000 493468c7 '') iounit > 0 > > > >> <<<-- (0x6251a0) Twalk tag 0 fid 1 newfid 9 nwname 2 '3' 'fs' > > > >> -->>> (0x6251a0) Rwalk tag 0 nwqid 2 (0000000004000000 0 'd') > > > >> (0000000000000000 493468c7 'd') > > > >> <<<-- (0x6251a0) Tcreate tag 0 fid 9 name librt.so.1 perm 755 mode 1 > ext > > > >> -->>> (0x6251a0) Rcreate tag 0 (0000000000000000 493468c7 '') iounit > 0 > > > >> <<<-- (0x6251a0) Twalk tag 0 fid 1 newfid 10 nwname 2 '3' 'fs' > > > >> -->>> (0x6251a0) Rwalk tag 0 nwqid 2 (0000000004000000 0 'd') > > > >> (0000000000000000 493468c7 'd') > > > >> <<<-- (0x6251a0) Tcreate tag 0 fid 10 name libc.so.6 perm 755 mode 1 > ext > > > >> -->>> (0x6251a0) Rcreate tag 0 (0000000000000000 493468c7 '') iounit > 0 > > > >> <<<-- (0x6251a0) Twalk tag 0 fid 1 newfid 11 nwname 2 '3' 'fs' > > > >> -->>> (0x6251a0) Rwalk tag 0 nwqid 2 (0000000004000000 0 'd') > > > >> (0000000000000000 493468c7 'd') > > > >> <<<-- (0x6251a0) Tcreate tag 0 fid 11 name libpthread.so.0 perm 755 > mode 1 > > > >> ext > > > >> -->>> (0x6251a0) Rcreate tag 0 (0000000000000000 493468c7 '') iounit > 0 > > > >> <<<-- (0x6251a0) Twalk tag 0 fid 1 newfid 12 nwname 2 '3' 'fs' > > > >> -->>> (0x6251a0) Rwalk tag 0 nwqid 2 (0000000004000000 0 'd') > > > >> (0000000000000000 493468c7 'd') > > > >> <<<-- (0x6251a0) Tcreate tag 0 fid 12 name ld-linux-x86-64.so.2 perm > > > >> 755 mode 1 ext > > > >> -->>> (0x6251a0) Rcreate tag 0 (0000000000000000 493468c7 '') iounit > 0 > > > >> ^C > > > >> [EMAIL PROTECTED] xcpu]# > > > >> > > > >> > > > >> Daniel > > > >> > > > >> > > > >> > > > >> > > > >> > > > >> > > > > >> > > > > >> > > I had to > > > >> > > hard-reboot the nodes and go back to the reasonably stable > version > > > >> > > 724. Also the problem with the infinite loop in xuserset, for > which > > > >> > > Abhishek sent me a patch, did not make it into the repository. > > > >> > > > > > >> > > May I suggest that versions get checked into the repository only > > > >> > after > > > >> > > some more stringent testing? > > > >> > > > > > >> > > > > >> > > > > >> > One of the motivating reasons for moving the base to sourceforge > was > > > >> > that we could have a more traditional development model with > > > >> > incremental > > > >> > tagged repository versions and periodic file releases so that > > > >> > third-party vendors using XCPU know when to pull. > > > >> > > > > >> > I had recently posted a 'caveat emptor' on the mailing list about > the > > > >> > recent changes to merge sxcpu spfs/npfs with the sourceforge > spfs/npfs. > > > >> > This, and the changes to libxcpu over the last few days, were > necessary > > > >> > to ease out the integration of xcpu with other tools. > > > >> > > > > >> > I have not been able to reproduce any obvious errors with the > recent > > > >> > SVN > > > >> > revision. I would appreciate any further details you could > provide. > > > >> > > > > >> > > > > >> > -- Abhishek > > > >> > > > > >> > > > > >> > > Daniel > > > >> > > > > > >> > > On 11/26/08, Abhishek Kulkarni <[EMAIL PROTECTED]> wrote: > > > >> > > > > > > >> > > > xk and xps use the xp_defaultuser() function of libxcpu to > get the > > > >> > admin > > > >> > > > user and key. > > > >> > > > > > > >> > > > for xk, it first tries as xcpu-admin and if that fails as > the user > > > >> > > > itself. xps works for all. > > > >> > > > > > > >> > > > Signed-off-by: Abhishek Kulkarni <[EMAIL PROTECTED]> > > > >> > > > > > > >> > > > Index: utils/xk.c > > > >> > > > > > > >> > > =================================================================== > > > >> > > > --- utils/xk.c (revision 739) > > > >> > > > +++ utils/xk.c (working copy) > > > >> > > > @@ -50,54 +50,9 @@ > > > >> > > > > > > >> > > > extern int spc_chatty; > > > >> > > > > > > >> > > > -static Spuser *user; > > > >> > > > -static Xkey *ukey; > > > >> > > > -static char *afname; > > > >> > > > - > > > >> > > > -static int > > > >> > > > -init_user(void) > > > >> > > > -{ > > > >> > > > - char *homepath, keypath[128]; > > > >> > > > - int xcpu_uid; > > > >> > > > - struct passwd *xcpu_admin; > > > >> > > > - Spuserpool *upool; > > > >> > > > - > > > >> > > > - > > > >> > > > - if (!afname) > > > >> > > > - ukey = > > > >> > xauth_privkey_create("/etc/xcpu/admin_key"); > > > >> > > > - else > > > >> > > > - ukey = xauth_privkey_create(afname); > > > >> > > > - > > > >> > > > - if (ukey) { > > > >> > > > - upool = sp_priv_userpool_create(); > > > >> > > > - xcpu_admin = getpwnam("xcpu-admin"); > > > >> > > > - if (xcpu_admin) > > > >> > > > - xcpu_uid = xcpu_admin->pw_uid; > > > >> > > > - else > > > >> > > > - xcpu_uid = 65530; > > > >> > > > - > > > >> > > > - user = sp_priv_user_add(upool, "xcpu-admin", > > > >> > xcpu_uid, ukey); > > > >> > > > - if (!user) > > > >> > > > - return -1; > > > >> > > > - } > > > >> > > > - > > > >> > > > - else { > > > >> > > > - user = sp_unix_users->uid2user(sp_unix_users, > > > >> > geteuid()); > > > >> > > > - if (!user) > > > >> > > > - return -1; > > > >> > > > - homepath = getenv("HOME"); > > > >> > > > - snprintf(keypath, sizeof(keypath), > > > >> > "%s/.ssh/id_rsa", homepath); > > > >> > > > - ukey = xauth_privkey_create(keypath); > > > >> > > > - if (!ukey) > > > >> > > > - return -1; > > > >> > > > - } > > > >> > > > - > > > >> > > > - return 0; > > > >> > > > -} > > > >> > > > - > > > >> > > > void > > > >> > > > usage(char *argv) { > > > >> > > > - fprintf(stderr, "usage: %s [-dhjm] [-a adminkey] sig > > > >> > host:<pid|jid> > > > >> > > > [host:<pid|jid> ...]\n", argv); > > > >> > > > + fprintf(stderr, "usage: %s [-dhjm] [-A adminkey] sig > > > >> > host:<pid|jid> > > > >> > > > [host:<pid|jid> ...]\n", argv); > > > >> > > > exit(1); > > > >> > > > } > > > >> > > > > > > >> > > > @@ -112,9 +67,11 @@ > > > >> > > > Xpproc *procs, *xp; > > > >> > > > char *s; > > > >> > > > char statserver[32]; > > > >> > > > + static Spuser *auser; > > > >> > > > + static Xkey *akey; > > > >> > > > + static char *adminkey = NULL; > > > >> > > > > > > >> > > > - afname = 0; > > > >> > > > - while ((c = getopt(argc, argv, "+dhja:m")) != -1) { > > > >> > > > + while ((c = getopt(argc, argv, "+dhjA:m")) != -1) { > > > >> > > > switch (c) { > > > >> > > > case 'd': > > > >> > > > spc_chatty = 1; > > > >> > > > @@ -122,8 +79,8 @@ > > > >> > > > case 'j': > > > >> > > > killjob++; > > > >> > > > break; > > > >> > > > - case 'a': > > > >> > > > - afname = optarg; > > > >> > > > + case 'A': > > > >> > > > + adminkey = strdup(optarg); > > > >> > > > break; > > > >> > > > case 'm': > > > >> > > > match = 1; > > > >> > > > @@ -142,11 +99,19 @@ > > > >> > > > fprintf(stderr, "bad signal argument %s: > expected > > > >> > int", > > > >> > > > argv[optind-1]); > > > >> > > > usage(argv[0]); > > > >> > > > } > > > >> > > > - > > > >> > > > - > > > >> > > > - if (init_user() < 0) > > > >> > > > - goto error; > > > >> > > > > > > >> > > > + if (adminkey) { > > > >> > > > + akey = xauth_privkey_create(adminkey); > > > >> > > > + if (!akey) > > > >> > > > + goto error; > > > >> > > > + } > > > >> > > > + > > > >> > > > + if (xp_defaultuser(&auser, &akey) < 0) { > > > >> > > > + if (akey) > > > >> > > > + xauth_destroy(akey); > > > >> > > > + goto error; > > > >> > > > + } > > > >> > > > + > > > >> > > > for(;optind < argc; optind++) { > > > >> > > > int isjid = 0; > > > >> > > > int pid = -1; > > > >> > > > @@ -178,7 +143,7 @@ > > > >> > > > } > > > >> > > > } > > > >> > > > > > > >> > > > - n = xp_proc_list(ns, user, ukey, &procs); > > > >> > > > + n = xp_proc_list(ns, auser, akey, &procs); > > > >> > > > if (n < 0) { > > > >> > > > fprintf(stderr, "can not obtain > process > > > >> > list for nodeset %s; > > > >> > > > skipping\n", argv[optind]); > > > >> > > > continue; > > > >> > > > @@ -191,20 +156,20 @@ > > > >> > > > if(isjid || match) { > > > >> > > > if (xp->xcpujid) { > > > >> > > > if(!match && > > > >> > !strcmp(xp->xcpujid, id)) > > > >> > > > - > xp_proc_kill(xp, > > > >> > user, ukey, signal); > > > >> > > > + > xp_proc_kill(xp, > > > >> > auser, akey, signal); > > > >> > > > else if(match) { > > > >> > > > tmpjid = > > > >> > malloc(strlen(xp->xcpujid) + 1); > > > >> > > > strcpy(tmpjid, > > > >> > xp->xcpujid); > > > >> > > > slash = > > > >> > strchr(tmpjid, '/'); > > > >> > > > *slash = '\0'; > > > >> > > > if > (!strcmp(tmpjid, > > > >> > id)) > > > >> > > > - > > > >> > xp_proc_kill(xp, user, ukey, signal); > > > >> > > > + > > > >> > xp_proc_kill(xp, auser, akey, signal); > > > >> > > > free(tmpjid); > > > >> > > > } > > > >> > > > } > > > >> > > > } else { > > > >> > > > if(xp->pid == pid) > > > >> > > > - xp_proc_kill(xp, > user, > > > >> > ukey, signal); > > > >> > > > + xp_proc_kill(xp, > auser, > > > >> > akey, signal); > > > >> > > > } > > > >> > > > } > > > >> > > > } > > > >> > > > Index: utils/xps.c > > > >> > > > > > > >> > > =================================================================== > > > >> > > > --- utils/xps.c (revision 739) > > > >> > > > +++ utils/xps.c (working copy) > > > >> > > > @@ -48,29 +48,9 @@ > > > >> > > > static void printpinfo(Xpproc *xp, char *stat); > > > >> > > > > > > >> > > > extern int spc_chatty; > > > >> > > > -static Spuser *user; > > > >> > > > -static Xkey *ukey; > > > >> > > > > > > >> > > > -static int > > > >> > > > -init_user(void) > > > >> > > > -{ > > > >> > > > - char *homepath, keypath[128]; > > > >> > > > - > > > >> > > > - user = sp_unix_users->uid2user(sp_unix_users, > geteuid()); > > > >> > > > - if (!user) > > > >> > > > - return -1; > > > >> > > > - > > > >> > > > - homepath = getenv("HOME"); > > > >> > > > - snprintf(keypath, sizeof(keypath), "%s/.ssh/id_rsa", > > > >> > homepath); > > > >> > > > - ukey = xauth_privkey_create(keypath); > > > >> > > > - if (!ukey) > > > >> > > > - return -1; > > > >> > > > - > > > >> > > > - return 0; > > > >> > > > -} > > > >> > > > - > > > >> > > > void usage() { > > > >> > > > - fprintf(stderr, "usage: xps [-dax] [-J JobId] > > > >> > host,...\n"); > > > >> > > > + fprintf(stderr, "usage: xps [-dax] [-p port] [-J > JobId] > > > >> > host,...\n"); > > > >> > > > exit(1); > > > >> > > > } > > > >> > > > > > > >> > > > @@ -80,16 +60,18 @@ > > > >> > > > int i, n, c, jlen, ecode; > > > >> > > > int min, sec, allflag = 0; > > > >> > > > long long int t; > > > >> > > > - int xonly = 0; > > > >> > > > - char *ename, buf[256], *jobid; > > > >> > > > + int xonly = 0, port = STAT_PORT; > > > >> > > > + char *ename, buf[256], *jobid, *end; > > > >> > > > Xpnodeset *nds, *nds2; > > > >> > > > Xpproc *procs, *xp; > > > >> > > > char stat[32]; > > > >> > > > char tim[64]; > > > >> > > > + static Spuser *auser; > > > >> > > > + static Xkey *akey; > > > >> > > > > > > >> > > > jlen = 0; > > > >> > > > jobid = NULL; > > > >> > > > - while ((c = getopt(argc, argv, "+daxJ:")) != -1) { > > > >> > > > + while ((c = getopt(argc, argv, "+daxp:J:h")) != -1) { > > > >> > > > switch (c) { > > > >> > > > case 'd': > > > >> > > > spc_chatty = 1; > > > >> > > > @@ -113,6 +95,12 @@ > > > >> > > > xonly = 1; > > > >> > > > break; > > > >> > > > > > > >> > > > + case 'p': > > > >> > > > + port = strtol(optarg, &end, 10); > > > >> > > > + if (*end != '\0') > > > >> > > > + usage(argv[0]); > > > >> > > > + break; > > > >> > > > + case 'h': > > > >> > > > default: > > > >> > > > usage(); > > > >> > > > } > > > >> > > > @@ -120,7 +108,7 @@ > > > >> > > > > > > >> > > > if (allflag) { > > > >> > > > char statserver[32]; > > > >> > > > - sprintf(statserver, "localhost!%d", > STAT_PORT); > > > >> > > > + sprintf(statserver, "localhost!%d", port); > > > >> > > > nds = xp_nodeset_list(NULL); > > > >> > > > if(nds == NULL) > > > >> > > > nds = xp_nodeset_list(statserver); > > > >> > > > @@ -145,13 +133,12 @@ > > > >> > > > if (!nds) > > > >> > > > goto error; > > > >> > > > > > > >> > > > - if (init_user() < 0) > > > >> > > > + if (xp_defaultuser(&auser, &akey) < 0) > > > >> > > > goto error; > > > >> > > > > > > >> > > > - n = xp_proc_list(nds, user, ukey, &procs); > > > >> > > > + n = xp_proc_list(nds, auser, akey, &procs); > > > >> > > > if (n < 0) > > > >> > > > goto error; > > > >> > > > - > > > >> > > > > > > >> > > > > printf("NODE\tPID\tTTY\tSTAT\tTIME\tJOBID\tCOMMAND\n"); > > > >> > > > for(i = 0; i < n; i++) { > > > >> > > > > > > >> > > > > > > >> > > > > > > >> > > > > >> > > > > > > > > > > > > > >
