Hello

The following tasks have been done:

* nupas now forks various io() procs and handle multiple 9p conversations. Two 
locks have been created to protect the reads and the writes to the 9p pipe, so 
only one io proc could read or write at a time. The main proc waits until the 
exit of its childs, this is a change of the original behaviour on which RFNOTEG 
was used in the rfork call.

* a memory leak was fixed. The bug was in the code responsible to set the name 
of the proc like 'upas/fs io 0'

cpu% ps -a | grep nupasfs
gdiaz       1636728    0:00   0:00     2972K Await    nupasfs [nupasfs -P 5]
gdiaz       1636729    0:00   0:00     2972K Sleep    nupasfs [upas/fs plumbing]
gdiaz       1636730    0:00   0:00     2972K Rendez   nupasfs [upas/fs io 0]
gdiaz       1636731    0:00   0:01     2972K Rendez   nupasfs [upas/fs io 1]
gdiaz       1636733    0:00   0:00     2972K Rendez   nupasfs [upas/fs io 2]
gdiaz       1636734    0:00   0:00     2972K Rendez   nupasfs [upas/fs io 3]
gdiaz       1636735    0:00   0:00     2972K Pread    nupasfs [upas/fs io 4]
gdiaz       1636918    0:00   0:00      156K Pread    grep nupasfs
cpu% 

* due to the changes of the global buffers used originally,  a bug was 
introduced in the mkstat function. The size of the buffer is now explicit 
instead of returned by sizeof buff in the readheader() and readinfo() calls 
within mkstat(). A #define HBUFSZ  32*1024 was introduced instead of the sizeof 
call.

* When reading an imap mailbox it is usual to see messages like:

        user: gdiaz; note: sys: write on closed pipe pc=0x0002641b
        user: gdiaz; note: sys: write on closed pipe pc=0x0002641b

but this happen also in the original version. I do not use upas/fs as an imap 
client, is this expected?

* The following tests have been manually executed with a local mbox (1260 
mails) and a remote imap mailbox (70 mails)

- While opening or deleting a message in the imap box,  it is possible to  open 
or delete a message on the local mbox message (the local operations finished 
after the imap ones)
- While executing two du -a commands on two different mailbox (the same setup), 
a ps -a shows changes on the procs state.
-  Reading and managing these two mailboxes behaved normally, and no more leaks 
or errors have been detected. Also memory usage is simmilar to the original.

The tasks planned to the next week are:

- build automated tests
- test the new upas/fs working with the imap server
- decide the default number of io() forks (now is 2)
- tests it with more complex setup (feedback welcome, so if you have a couple 
of mailboxes and have the time to try it, will be appreciated)


thanks,

gabi


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Plan 
9 Google Summer of Code" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/plan9-gsoc?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to