9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] 9pfuse-mounted files don't "work" (Mac OS X on Power)
@ 2007-03-22  3:59 Colin DeVilbiss
  2007-03-22 11:40 ` [9fans] Fwd: " Colin DeVilbiss
  2007-03-27 12:41 ` [9fans] " Russ Cox
  0 siblings, 2 replies; 9+ messages in thread
From: Colin DeVilbiss @ 2007-03-22  3:59 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 848 bytes --]

I'm running on a Power-based Mac Mini with an up-to-date MacFUSE and
freshly cvs update -d'ed /usr/local/plan9.

In one terminal, I run "plumber" and "9pfuse -D `namespace`/plumb /mnt/plumb".

Snippet from the other terminal:

% 9p read plumb/rules | wc
     126     342    2962
% 9p ls plumb | wc
      11     110     554
% ls /mnt/plumb | wc
      11      11      81
% cat /mnt/plumb/rules | wc
       0       0       0
% 9 cat /mnt/plumb/rules | wc
       0       0       0

The "9pfuse -D" output corresponding to the two "cat" instances are
attached (as cat.out and 9cat.out, respectively, with newlines around
FUSE cmd/rsp pairs).

The same thing happens for acme files: "ls" works, "cat file" and
"echo foo > file" don't.

Am I doing something obviously wrong?

Thanks in advance for any help.

Colin DeVilbiss

[-- Attachment #2: cat.out --]
[-- Type: application/octet-stream, Size: 1500 bytes --]

FUSE -> len 8 unique 0 uid 501 gid 501 pid 19612 Access nodeid 0x1 mask 0x1
<- Twalk tag 0 fid 0 newfid 4 nwname 0
-> Rwalk tag 1 nwqid 0
<- Topen tag 0 fid 4 mode 0
-> Ropen tag 1 qid (0000000000000000 0 d) iounit 0
<- Tclunk tag 0 fid 4
-> Rclunk tag 1
FUSE <- unique 0 (Access)

FUSE -> len 6 unique 0x1 uid 501 gid 501 pid 19612 Lookup nodeid 0x1 name 'rules'
<- Twalk tag 0 fid 0 newfid 4 nwname 1 0:rules
-> Rwalk tag 1 nwqid 1 0:(0000000000000001 0 )
<- Tstat tag 0 fid 4
-> Rstat tag 1  stat 'rules' 'colin' 'colin' 'colin' q (0000000000000001 0 ) m 0600 at 1174530175 mt 1174530175 l 0 t 1 d 3159344
FUSE <- unique 0x1 (Lookup) nodeid 0x4 gen 0x6 entry_valid 1 attr_valid 1  ino 0x1 size 0 blocks 0 atime 1174530175 mtime 1174530175 ctime 1174530175 mode 0100600 nlink 1 uid 501 gid 501 rdev 0

FUSE -> len 8 unique 0 uid 501 gid 501 pid 19612 Access nodeid 0x4 mask 0x4
<- Twalk tag 0 fid 4 newfid 1 nwname 0
-> Rwalk tag 1 nwqid 0
<- Topen tag 0 fid 1 mode 0
-> Ropen tag 1 qid (0000000000000001 0 ) iounit 0
<- Tclunk tag 0 fid 1
-> Rclunk tag 1
FUSE <- unique 0 (Access)

FUSE -> len 8 unique 0x1 uid 501 gid 501 pid 19612 Open nodeid 0x4 flags 0 mode 0
<- Twalk tag 0 fid 4 newfid 1 nwname 0
-> Rwalk tag 1 nwqid 0
<- Topen tag 0 fid 1 mode 0
-> Ropen tag 1 qid (0000000000000001 0 ) iounit 0
FUSE <- unique 0x1 (Open) fh 0x2 flags 0x1

FUSE -> len 24 unique 0 uid 501 gid 501 pid 19612 Release nodeid 0x4 fh 0x2 flags 0
<- Tclunk tag 0 fid 1
-> Rclunk tag 1
FUSE <- unique 0 (Release)

[-- Attachment #3: 9cat.out --]
[-- Type: application/octet-stream, Size: 2631 bytes --]

FUSE -> len 8 unique 0x1 uid 501 gid 501 pid 19617 Access nodeid 0x1 mask 0
<- Twalk tag 0 fid 0 newfid 1 nwname 0
-> Rwalk tag 1 nwqid 0
<- Topen tag 0 fid 1 mode 0
-> Ropen tag 1 qid (0000000000000000 0 d) iounit 0
<- Tclunk tag 0 fid 1
-> Rclunk tag 1
FUSE <- unique 0x1 (Access)

FUSE -> len 0 unique 0 uid 501 gid 501 pid 19617 Getattr nodeid 0x1
<- Tstat tag 0 fid 0
-> Rstat tag 1  stat '.' 'colin' 'colin' 'colin' q (0000000000000000 0 d) m 020000000500 at 1174530175 mt 1174530175 l 0 t 1 d 3159344
FUSE <- unique 0 (Getattr) attr_valid 1 ino 0x8000000000000000 size 0 blocks 0 atime 1174530175 mtime 1174530175 ctime 1174530175 mode 040500 nlink 1 uid 501 gid 501 rdev 0

FUSE -> len 8 unique 0x1 uid 501 gid 501 pid 19617 Access nodeid 0x1 mask 0x1
<- Twalk tag 0 fid 0 newfid 1 nwname 0
-> Rwalk tag 1 nwqid 0
<- Topen tag 0 fid 1 mode 0
-> Ropen tag 1 qid (0000000000000000 0 d) iounit 0
<- Tclunk tag 0 fid 1
-> Rclunk tag 1
FUSE <- unique 0x1 (Access)

FUSE -> len 0 unique 0 uid 501 gid 501 pid 19617 Getattr nodeid 0x1
<- Tstat tag 0 fid 0
-> Rstat tag 1  stat '.' 'colin' 'colin' 'colin' q (0000000000000000 0 d) m 020000000500 at 1174530175 mt 1174530175 l 0 t 1 d 3159344
FUSE <- unique 0 (Getattr) attr_valid 1 ino 0x8000000000000000 size 0 blocks 0 atime 1174530175 mtime 1174530175 ctime 1174530175 mode 040500 nlink 1 uid 501 gid 501 rdev 0

FUSE -> len 8 unique 0x1 uid 501 gid 501 pid 19617 Access nodeid 0x1 mask 0
<- Twalk tag 0 fid 0 newfid 1 nwname 0
-> Rwalk tag 1 nwqid 0
<- Topen tag 0 fid 1 mode 0
-> Ropen tag 1 qid (0000000000000000 0 d) iounit 0
<- Tclunk tag 0 fid 1
-> Rclunk tag 1
FUSE <- unique 0x1 (Access)

FUSE -> len 8 unique 0 uid 501 gid 501 pid 19617 Access nodeid 0x1 mask 0
<- Twalk tag 0 fid 0 newfid 1 nwname 0
-> Rwalk tag 1 nwqid 0
<- Topen tag 0 fid 1 mode 0
-> Ropen tag 1 qid (0000000000000000 0 d) iounit 0
<- Tclunk tag 0 fid 1
-> Rclunk tag 1
FUSE <- unique 0 (Access)

FUSE -> len 8 unique 0x1 uid 501 gid 501 pid 19617 Access nodeid 0x4 mask 0x4
<- Twalk tag 0 fid 4 newfid 1 nwname 0
-> Rwalk tag 1 nwqid 0
<- Topen tag 0 fid 1 mode 0
-> Ropen tag 1 qid (0000000000000001 0 ) iounit 0
<- Tclunk tag 0 fid 1
-> Rclunk tag 1
FUSE <- unique 0x1 (Access)

FUSE -> len 8 unique 0 uid 501 gid 501 pid 19617 Open nodeid 0x4 flags 0 mode 0
<- Twalk tag 0 fid 4 newfid 1 nwname 0
-> Rwalk tag 1 nwqid 0
<- Topen tag 0 fid 1 mode 0
-> Ropen tag 1 qid (0000000000000001 0 ) iounit 0
FUSE <- unique 0 (Open) fh 0x2 flags 0x1

FUSE -> len 24 unique 0x1 uid 501 gid 501 pid 19617 Release nodeid 0x4 fh 0x2 flags 0
<- Tclunk tag 0 fid 1
-> Rclunk tag 1
FUSE <- unique 0x1 (Release)


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [9fans] Fwd: 9pfuse-mounted files don't "work" (Mac OS X on Power)
  2007-03-22  3:59 [9fans] 9pfuse-mounted files don't "work" (Mac OS X on Power) Colin DeVilbiss
@ 2007-03-22 11:40 ` Colin DeVilbiss
  2007-03-22 19:13   ` [9fans] " Colin DeVilbiss
  2007-03-27 12:41 ` [9fans] " Russ Cox
  1 sibling, 1 reply; 9+ messages in thread
From: Colin DeVilbiss @ 2007-03-22 11:40 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 1481 bytes --]

This was silently dropped the first time.
Assuming it was spam-filtered because gmail chose binary mime types
for the attached output.

Trying again with cat.txt and 9cat.txt, respectively (which is what I
should have done in the first place).

Colin

---------- Forwarded message ----------
From: Colin DeVilbiss <cdevilbiss@gmail.com>
Date: Mar 21, 2007 10:59 PM
Subject: 9pfuse-mounted files don't "work" (Mac OS X on Power)
To: 9fans@cse.psu.edu


I'm running on a Power-based Mac Mini with an up-to-date MacFUSE and
freshly cvs update -d'ed /usr/local/plan9.

In one terminal, I run "plumber" and "9pfuse -D `namespace`/plumb /mnt/plumb".

Snippet from the other terminal:

% 9p read plumb/rules | wc
     126     342    2962
% 9p ls plumb | wc
      11     110     554
% ls /mnt/plumb | wc
      11      11      81
% cat /mnt/plumb/rules | wc
       0       0       0
% 9 cat /mnt/plumb/rules | wc
       0       0       0

The "9pfuse -D" output corresponding to the two "cat" instances are
attached (as cat.out and 9cat.out, respectively, with newlines around
FUSE cmd/rsp pairs).

The same thing happens for acme files: "ls" works, "cat file" and
"echo foo > file" don't.

The MacFUSE demos from that website work also (sshfs, SpotlightFS), so
I don't expect that it's just a FUSE problem.

Has anybody else seen something like this?
Am I doing something obviously wrong?

Thanks in advance for any help.

Colin DeVilbiss

[-- Attachment #2: cat.txt --]
[-- Type: text/plain, Size: 1500 bytes --]

FUSE -> len 8 unique 0 uid 501 gid 501 pid 19612 Access nodeid 0x1 mask 0x1
<- Twalk tag 0 fid 0 newfid 4 nwname 0
-> Rwalk tag 1 nwqid 0
<- Topen tag 0 fid 4 mode 0
-> Ropen tag 1 qid (0000000000000000 0 d) iounit 0
<- Tclunk tag 0 fid 4
-> Rclunk tag 1
FUSE <- unique 0 (Access)

FUSE -> len 6 unique 0x1 uid 501 gid 501 pid 19612 Lookup nodeid 0x1 name 'rules'
<- Twalk tag 0 fid 0 newfid 4 nwname 1 0:rules
-> Rwalk tag 1 nwqid 1 0:(0000000000000001 0 )
<- Tstat tag 0 fid 4
-> Rstat tag 1  stat 'rules' 'colin' 'colin' 'colin' q (0000000000000001 0 ) m 0600 at 1174530175 mt 1174530175 l 0 t 1 d 3159344
FUSE <- unique 0x1 (Lookup) nodeid 0x4 gen 0x6 entry_valid 1 attr_valid 1  ino 0x1 size 0 blocks 0 atime 1174530175 mtime 1174530175 ctime 1174530175 mode 0100600 nlink 1 uid 501 gid 501 rdev 0

FUSE -> len 8 unique 0 uid 501 gid 501 pid 19612 Access nodeid 0x4 mask 0x4
<- Twalk tag 0 fid 4 newfid 1 nwname 0
-> Rwalk tag 1 nwqid 0
<- Topen tag 0 fid 1 mode 0
-> Ropen tag 1 qid (0000000000000001 0 ) iounit 0
<- Tclunk tag 0 fid 1
-> Rclunk tag 1
FUSE <- unique 0 (Access)

FUSE -> len 8 unique 0x1 uid 501 gid 501 pid 19612 Open nodeid 0x4 flags 0 mode 0
<- Twalk tag 0 fid 4 newfid 1 nwname 0
-> Rwalk tag 1 nwqid 0
<- Topen tag 0 fid 1 mode 0
-> Ropen tag 1 qid (0000000000000001 0 ) iounit 0
FUSE <- unique 0x1 (Open) fh 0x2 flags 0x1

FUSE -> len 24 unique 0 uid 501 gid 501 pid 19612 Release nodeid 0x4 fh 0x2 flags 0
<- Tclunk tag 0 fid 1
-> Rclunk tag 1
FUSE <- unique 0 (Release)

[-- Attachment #3: 9cat.txt --]
[-- Type: text/plain, Size: 2631 bytes --]

FUSE -> len 8 unique 0x1 uid 501 gid 501 pid 19617 Access nodeid 0x1 mask 0
<- Twalk tag 0 fid 0 newfid 1 nwname 0
-> Rwalk tag 1 nwqid 0
<- Topen tag 0 fid 1 mode 0
-> Ropen tag 1 qid (0000000000000000 0 d) iounit 0
<- Tclunk tag 0 fid 1
-> Rclunk tag 1
FUSE <- unique 0x1 (Access)

FUSE -> len 0 unique 0 uid 501 gid 501 pid 19617 Getattr nodeid 0x1
<- Tstat tag 0 fid 0
-> Rstat tag 1  stat '.' 'colin' 'colin' 'colin' q (0000000000000000 0 d) m 020000000500 at 1174530175 mt 1174530175 l 0 t 1 d 3159344
FUSE <- unique 0 (Getattr) attr_valid 1 ino 0x8000000000000000 size 0 blocks 0 atime 1174530175 mtime 1174530175 ctime 1174530175 mode 040500 nlink 1 uid 501 gid 501 rdev 0

FUSE -> len 8 unique 0x1 uid 501 gid 501 pid 19617 Access nodeid 0x1 mask 0x1
<- Twalk tag 0 fid 0 newfid 1 nwname 0
-> Rwalk tag 1 nwqid 0
<- Topen tag 0 fid 1 mode 0
-> Ropen tag 1 qid (0000000000000000 0 d) iounit 0
<- Tclunk tag 0 fid 1
-> Rclunk tag 1
FUSE <- unique 0x1 (Access)

FUSE -> len 0 unique 0 uid 501 gid 501 pid 19617 Getattr nodeid 0x1
<- Tstat tag 0 fid 0
-> Rstat tag 1  stat '.' 'colin' 'colin' 'colin' q (0000000000000000 0 d) m 020000000500 at 1174530175 mt 1174530175 l 0 t 1 d 3159344
FUSE <- unique 0 (Getattr) attr_valid 1 ino 0x8000000000000000 size 0 blocks 0 atime 1174530175 mtime 1174530175 ctime 1174530175 mode 040500 nlink 1 uid 501 gid 501 rdev 0

FUSE -> len 8 unique 0x1 uid 501 gid 501 pid 19617 Access nodeid 0x1 mask 0
<- Twalk tag 0 fid 0 newfid 1 nwname 0
-> Rwalk tag 1 nwqid 0
<- Topen tag 0 fid 1 mode 0
-> Ropen tag 1 qid (0000000000000000 0 d) iounit 0
<- Tclunk tag 0 fid 1
-> Rclunk tag 1
FUSE <- unique 0x1 (Access)

FUSE -> len 8 unique 0 uid 501 gid 501 pid 19617 Access nodeid 0x1 mask 0
<- Twalk tag 0 fid 0 newfid 1 nwname 0
-> Rwalk tag 1 nwqid 0
<- Topen tag 0 fid 1 mode 0
-> Ropen tag 1 qid (0000000000000000 0 d) iounit 0
<- Tclunk tag 0 fid 1
-> Rclunk tag 1
FUSE <- unique 0 (Access)

FUSE -> len 8 unique 0x1 uid 501 gid 501 pid 19617 Access nodeid 0x4 mask 0x4
<- Twalk tag 0 fid 4 newfid 1 nwname 0
-> Rwalk tag 1 nwqid 0
<- Topen tag 0 fid 1 mode 0
-> Ropen tag 1 qid (0000000000000001 0 ) iounit 0
<- Tclunk tag 0 fid 1
-> Rclunk tag 1
FUSE <- unique 0x1 (Access)

FUSE -> len 8 unique 0 uid 501 gid 501 pid 19617 Open nodeid 0x4 flags 0 mode 0
<- Twalk tag 0 fid 4 newfid 1 nwname 0
-> Rwalk tag 1 nwqid 0
<- Topen tag 0 fid 1 mode 0
-> Ropen tag 1 qid (0000000000000001 0 ) iounit 0
FUSE <- unique 0 (Open) fh 0x2 flags 0x1

FUSE -> len 24 unique 0x1 uid 501 gid 501 pid 19617 Release nodeid 0x4 fh 0x2 flags 0
<- Tclunk tag 0 fid 1
-> Rclunk tag 1
FUSE <- unique 0x1 (Release)


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [9fans] Re: 9pfuse-mounted files don't "work" (Mac OS X on Power)
  2007-03-22 11:40 ` [9fans] Fwd: " Colin DeVilbiss
@ 2007-03-22 19:13   ` Colin DeVilbiss
  2007-03-22 19:17     ` Francisco J Ballesteros
  2007-03-22 19:54     ` Kris Maglione
  0 siblings, 2 replies; 9+ messages in thread
From: Colin DeVilbiss @ 2007-03-22 19:13 UTC (permalink / raw)
  To: 9fans

On 3/22/07, Colin DeVilbiss <cdevilbiss@gmail.com> wrote:
> This was silently dropped the first time.

As was mentioned off-list, this was wrong; sorry for the noise.

I made an interactive test that let me independently open, read, and
close the file.  Opening the file generated all of the traffic I
expected, but a subsequent read didn't drive any traffic to 9pfuse.

After I saw that, I implemented an accurate length for the rules file
in src/cmd/plumb/fsys.c:/^dostat (using printrules and strlen), and
reads started working.

On a whim, I just went back and changed the code to set the length to
1 for rules and 0 for everything else, after which "cat" and "head"
worked, but things like "tail" and "less" behaved rather badly.

MacFUSE must be making decisions about the "actual" filesize based on
the stat value, and changing the behavior of read() accordingly.

Makes me wonder how any other "I'm not sure how big this really is"
virtual filesystems handle this in MacFUSE...or maybe all of the
existing successful ones are just "passthrough" types that have
accurate file sizes because the data's already built somewhere with
the size available.

If anyone else has already gone down this path, I wouldn't mind
hearing about it, on-list or off.

Colin DeVilbiss


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [9fans] Re: 9pfuse-mounted files don't "work" (Mac OS X on Power)
  2007-03-22 19:13   ` [9fans] " Colin DeVilbiss
@ 2007-03-22 19:17     ` Francisco J Ballesteros
  2007-03-22 19:54     ` Kris Maglione
  1 sibling, 0 replies; 9+ messages in thread
From: Francisco J Ballesteros @ 2007-03-22 19:17 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

Reading files whose size was reported as 0, but were not empty, leaded
my fuse in macosx to get confussed regarding replies and in the end I have to
reboot the system to get the things unmounted cleanly (also for the finder).
But I didn´t track the issue.

On 3/22/07, Colin DeVilbiss <cdevilbiss@gmail.com> wrote:
> On 3/22/07, Colin DeVilbiss <cdevilbiss@gmail.com> wrote:
> > This was silently dropped the first time.
>
> As was mentioned off-list, this was wrong; sorry for the noise.
>
> I made an interactive test that let me independently open, read, and
> close the file.  Opening the file generated all of the traffic I
> expected, but a subsequent read didn't drive any traffic to 9pfuse.
>
> After I saw that, I implemented an accurate length for the rules file
> in src/cmd/plumb/fsys.c:/^dostat (using printrules and strlen), and
> reads started working.
>
> On a whim, I just went back and changed the code to set the length to
> 1 for rules and 0 for everything else, after which "cat" and "head"
> worked, but things like "tail" and "less" behaved rather badly.
>
> MacFUSE must be making decisions about the "actual" filesize based on
> the stat value, and changing the behavior of read() accordingly.
>
> Makes me wonder how any other "I'm not sure how big this really is"
> virtual filesystems handle this in MacFUSE...or maybe all of the
> existing successful ones are just "passthrough" types that have
> accurate file sizes because the data's already built somewhere with
> the size available.
>
> If anyone else has already gone down this path, I wouldn't mind
> hearing about it, on-list or off.
>
> Colin DeVilbiss
>
>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [9fans] Re: 9pfuse-mounted files don't "work" (Mac OS X on Power)
  2007-03-22 19:13   ` [9fans] " Colin DeVilbiss
  2007-03-22 19:17     ` Francisco J Ballesteros
@ 2007-03-22 19:54     ` Kris Maglione
  2007-03-22 20:48       ` W B Hacker
  1 sibling, 1 reply; 9+ messages in thread
From: Kris Maglione @ 2007-03-22 19:54 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 777 bytes --]

On Thu, Mar 22, 2007 at 01:13:18PM -0600, Colin DeVilbiss wrote:
>On a whim, I just went back and changed the code to set the length to
>1 for rules and 0 for everything else, after which "cat" and "head"
>worked, but things like "tail" and "less" behaved rather badly.
>
>MacFUSE must be making decisions about the "actual" filesize based on
>the stat value, and changing the behavior of read() accordingly.

I'd be interested in the debugging output for files that actually work. 
Your initial debugging output shows an iounit of 0 on Ropen calls, and 
if that's accurate, finding out why would be of some use.

-- 
Kris Maglione

The primary function of the design engineer is to make
things difficult for the fabricator and impossible
for the serviceman.

[-- Attachment #2: Type: application/pgp-signature, Size: 194 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [9fans] Re: 9pfuse-mounted files don't "work" (Mac OS X on Power)
  2007-03-22 19:54     ` Kris Maglione
@ 2007-03-22 20:48       ` W B Hacker
  2007-03-22 21:16         ` Colin DeVilbiss
  0 siblings, 1 reply; 9+ messages in thread
From: W B Hacker @ 2007-03-22 20:48 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

Kris Maglione wrote:
> On Thu, Mar 22, 2007 at 01:13:18PM -0600, Colin DeVilbiss wrote:
>> On a whim, I just went back and changed the code to set the length to
>> 1 for rules and 0 for everything else, after which "cat" and "head"
>> worked, but things like "tail" and "less" behaved rather badly.
>>
>> MacFUSE must be making decisions about the "actual" filesize based on
>> the stat value, and changing the behavior of read() accordingly.
> 
> I'd be interested in the debugging output for files that actually work. 
> Your initial debugging output shows an iounit of 0 on Ropen calls, and 
> if that's accurate, finding out why would be of some use.
> 

Is this installed on its own partition? And if so, how formatted?

And if not, is the underlying fs the OS X default hfs/hfs+, or is it FAT or UFS?

Bill Hacker




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [9fans] Re: 9pfuse-mounted files don't "work" (Mac OS X on Power)
  2007-03-22 20:48       ` W B Hacker
@ 2007-03-22 21:16         ` Colin DeVilbiss
  2007-03-22 21:25           ` W B Hacker
  0 siblings, 1 reply; 9+ messages in thread
From: Colin DeVilbiss @ 2007-03-22 21:16 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

[-- Attachment #1: Type: text/plain, Size: 1007 bytes --]

On 3/22/07, W B Hacker <wbh@conducive.org> wrote:
> Is this installed on its own partition? And if so, how formatted?
>
> And if not, is the underlying fs the OS X default hfs/hfs+, or is it FAT or UFS?

The OS is backed by just one disk, formatted with the OS X default,
but I'm not sure I see how that's relevant to the MacFUSE case...

> Kris Maglione wrote:
> > I'd be interested in the debugging output for files that actually work.
> > Your initial debugging output shows an iounit of 0 on Ropen calls, and
> > if that's accurate, finding out why would be of some use.

3 files attached:
cat.works.txt: plumber gives accurate length, cat works as expected
tail.works.txt: plumber gives accurate length, tail works as expected
tail.screwy.txt: plumber hacked to return length of 1, tail gives
output that is exactly the same as cat, except that the second char
(the "l" in "plan9=/usr/local/plan9") is missing, as if it were
"superseded" by the "p" from the length-1 read.

Colin

[-- Attachment #2: cat.works.txt --]
[-- Type: text/plain, Size: 1836 bytes --]

FUSE -> len 8 unique 0 uid 501 gid 501 pid 1350 Access nodeid 0x1 mask 0x1
<- Twalk tag 0 fid 0 newfid 1 nwname 0
-> Rwalk tag 0 nwqid 0
<- Topen tag 0 fid 1 mode 0
-> Ropen tag 0 qid (0000000000000000 0 d) iounit 0
<- Tclunk tag 0 fid 1
-> Rclunk tag 0
FUSE <- unique 0 (Access)

FUSE -> len 6 unique 0 uid 501 gid 501 pid 1350 Lookup nodeid 0x1 name 'rules'
<- Twalk tag 0 fid 0 newfid 1 nwname 1 0:rules
-> Rwalk tag 0 nwqid 1 0:(0000000000000001 0 )
<- Tstat tag 0 fid 1
-> Rstat tag 0  stat 'rules' 'colin' 'colin' 'colin' q (0000000000000001 0 ) m 0600 at 1174589729 mt 1174589729 l 2962 t 384 d 3158272
FUSE <- unique 0 (Lookup) nodeid 0x2 gen 0x1 entry_valid 1 attr_valid 1  ino 0x1 size 2962 blocks 1 atime 1174589729 mtime 1174589729 ctime 1174589729 mode 0100600 nlink 1 uid 501 gid 501 rdev 0

FUSE -> len 8 unique 0 uid 501 gid 501 pid 1350 Access nodeid 0x2 mask 0x4
<- Twalk tag 0 fid 1 newfid 2 nwname 0
-> Rwalk tag 0 nwqid 0
<- Topen tag 0 fid 2 mode 0
-> Ropen tag 0 qid (0000000000000001 0 ) iounit 0
<- Tclunk tag 0 fid 2
-> Rclunk tag 0
FUSE <- unique 0 (Access)

FUSE -> len 8 unique 0 uid 501 gid 501 pid 1350 Open nodeid 0x2 flags 0 mode 0
<- Twalk tag 0 fid 1 newfid 2 nwname 0
-> Rwalk tag 0 nwqid 0
<- Topen tag 0 fid 2 mode 0
-> Ropen tag 0 qid (0000000000000001 0 ) iounit 0
FUSE <- unique 0 (Open) fh 0x3 flags 0x1

FUSE -> len 24 unique 0 uid 501 gid 501 pid 1350 Read nodeid 0x2 fh 0x3 offset 0 size 65536
<- Tread tag 0 fid 2 offset 0 count 4096
-> Rread tag 0 count 2962 '706c616e 393d2f75 73722f6c 6f63616c 2f706c61 6e390a0a 65646974 6f723d61 636d650a 0a616464 72656c65 6d3d2728 28233f5b 302d395d 2b297c28 2f5b412d'
FUSE <- unique 0 (Read) size 2962

FUSE -> len 24 unique 0 uid 501 gid 501 pid 1350 Release nodeid 0x2 fh 0x3 flags 0
<- Tclunk tag 0 fid 2
-> Rclunk tag 0
FUSE <- unique 0 (Release)


[-- Attachment #3: tail.works.txt --]
[-- Type: text/plain, Size: 3290 bytes --]

FUSE -> len 8 unique 0 uid 501 gid 501 pid 1352 Access nodeid 0x1 mask 0x1
<- Twalk tag 0 fid 0 newfid 2 nwname 0
-> Rwalk tag 0 nwqid 0
<- Topen tag 0 fid 2 mode 0
-> Ropen tag 0 qid (0000000000000000 0 d) iounit 0
<- Tclunk tag 0 fid 2
-> Rclunk tag 0
FUSE <- unique 0 (Access)

FUSE -> len 6 unique 0 uid 501 gid 501 pid 1352 Lookup nodeid 0x1 name 'rules'
<- Twalk tag 0 fid 0 newfid 2 nwname 1 0:rules
-> Rwalk tag 0 nwqid 1 0:(0000000000000001 0 )
<- Tstat tag 0 fid 2
-> Rstat tag 0  stat 'rules' 'colin' 'colin' 'colin' q (0000000000000001 0 ) m 0600 at 1174589729 mt 1174589729 l 2962 t 384 d 3158272
FUSE <- unique 0 (Lookup) nodeid 0x3 gen 0x2 entry_valid 1 attr_valid 1  ino 0x1 size 2962 blocks 1 atime 1174589729 mtime 1174589729 ctime 1174589729 mode 0100600 nlink 1 uid 501 gid 501 rdev 0

FUSE -> len 8 unique 0 uid 501 gid 501 pid 1352 Access nodeid 0x3 mask 0x4
<- Twalk tag 0 fid 2 newfid 3 nwname 0
-> Rwalk tag 0 nwqid 0
<- Topen tag 0 fid 3 mode 0
-> Ropen tag 0 qid (0000000000000001 0 ) iounit 0
<- Tclunk tag 0 fid 3
-> Rclunk tag 0
FUSE <- unique 0 (Access)

FUSE -> len 8 unique 0 uid 501 gid 501 pid 1352 Open nodeid 0x3 flags 0 mode 0
<- Twalk tag 0 fid 2 newfid 3 nwname 0
-> Rwalk tag 0 nwqid 0
<- Topen tag 0 fid 3 mode 0
-> Ropen tag 0 qid (0000000000000001 0 ) iounit 0
FUSE <- unique 0 (Open) fh 0x4 flags 0x1

FUSE -> len 0 unique 0 uid 501 gid 501 pid 1352 Statfs
FUSE <- unique 0 (Statfs) blocks 0 bfree 0 bavail 0 files 0 ffree 0 bsize 0 namelen 0 frsize 0

FUSE -> len 88 unique 0 uid 501 gid 501 pid 1352 Setattr nodeid 0x3 atime 1174594298.955642
<- Twstat tag 0 fid 2 stat '' '' '' '' q (ffffffffffffffff 4294967295 dalA) m 037777777777 at 1174594298 mt -1 l -1 t 65535 d -1
-> Rerror tag 0 ename permission denied
FUSE <- unique 0 error -13 Permission denied

FUSE -> len 8 unique 0 uid 501 gid 501 pid 1352 Open nodeid 0x3 flags 0x2 mode 0
<- Twalk tag 0 fid 2 newfid 4 nwname 0
-> Rwalk tag 0 nwqid 0
<- Topen tag 0 fid 4 mode 2
-> Ropen tag 0 qid (0000000000000001 0 ) iounit 0
FUSE <- unique 0 (Open) fh 0x5 flags 0x1

FUSE -> len 24 unique 0 uid 501 gid 501 pid 1352 Read nodeid 0x3 fh 0x4 offset 0 size 2962
<- Tread tag 0 fid 3 offset 0 count 2962
-> Rread tag 0 count 2962 '706c616e 393d2f75 73722f6c 6f63616c 2f706c61 6e390a0a 65646974 6f723d61 636d650a 0a616464 72656c65 6d3d2728 28233f5b 302d395d 2b297c28 2f5b412d'
FUSE <- unique 0 (Read) size 2962

FUSE -> len 0 unique 0 uid 501 gid 501 pid 1352 Getattr nodeid 0x3
<- Tstat tag 0 fid 2
-> Rstat tag 0  stat 'rules' 'colin' 'colin' 'colin' q (0000000000000001 0 ) m 0600 at 1174589729 mt 1174589729 l 2962 t 384 d 3158272
FUSE <- unique 0 (Getattr) attr_valid 1 ino 0x1 size 2962 blocks 1 atime 1174589729 mtime 1174589729 ctime 1174589729 mode 0100600 nlink 1 uid 501 gid 501 rdev 0

FUSE -> len 24 unique 0 uid 501 gid 501 pid 1352 Read nodeid 0x3 fh 0x4 offset 0 size 65536
<- Tread tag 0 fid 3 offset 2962 count 4096
-> Rread tag 0 count 0 ''
FUSE <- unique 0 (Read) size 0

FUSE -> len 24 unique 0 uid 501 gid 501 pid 1352 Release nodeid 0x3 fh 0x4 flags 0
FUSE -> len 24 unique 0x1 uid 501 gid 501 pid 1352 Release nodeid 0x3 fh 0x5 flags 0x2
<- Tclunk tag 0 fid 3
<- Tclunk tag 0 fid 4
-> Rclunk tag 0
FUSE <- unique 0 (Release)
-> Rclunk tag 1
FUSE <- unique 0x1 (Release)


[-- Attachment #4: tail.screwy.txt --]
[-- Type: text/plain, Size: 3266 bytes --]

FUSE -> len 8 unique 0 uid 501 gid 501 pid 1488 Access nodeid 0x1 mask 0x1
<- Twalk tag 0 fid 0 newfid 1 nwname 0
-> Rwalk tag 0 nwqid 0
<- Topen tag 0 fid 1 mode 0
-> Ropen tag 0 qid (0000000000000000 0 d) iounit 0
<- Tclunk tag 0 fid 1
-> Rclunk tag 0
FUSE <- unique 0 (Access)

FUSE -> len 6 unique 0 uid 501 gid 501 pid 1488 Lookup nodeid 0x1 name 'rules'
<- Twalk tag 0 fid 0 newfid 1 nwname 1 0:rules
-> Rwalk tag 0 nwqid 1 0:(0000000000000001 0 )
<- Tstat tag 0 fid 1
-> Rstat tag 0  stat 'rules' 'colin' 'colin' 'colin' q (0000000000000001 0 ) m 0600 at 1174594520 mt 1174594520 l 1 t 1 d 3158272
FUSE <- unique 0 (Lookup) nodeid 0x2 gen 0x1 entry_valid 1 attr_valid 1  ino 0x1 size 1 blocks 1 atime 1174594520 mtime 1174594520 ctime 1174594520 mode 0100600 nlink 1 uid 501 gid 501 rdev 0

FUSE -> len 8 unique 0 uid 501 gid 501 pid 1488 Access nodeid 0x2 mask 0x4
<- Twalk tag 0 fid 1 newfid 2 nwname 0
-> Rwalk tag 0 nwqid 0
<- Topen tag 0 fid 2 mode 0
-> Ropen tag 0 qid (0000000000000001 0 ) iounit 0
<- Tclunk tag 0 fid 2
-> Rclunk tag 0
FUSE <- unique 0 (Access)

FUSE -> len 8 unique 0 uid 501 gid 501 pid 1488 Open nodeid 0x2 flags 0 mode 0
<- Twalk tag 0 fid 1 newfid 2 nwname 0
-> Rwalk tag 0 nwqid 0
<- Topen tag 0 fid 2 mode 0
-> Ropen tag 0 qid (0000000000000001 0 ) iounit 0
FUSE <- unique 0 (Open) fh 0x3 flags 0x1

FUSE -> len 0 unique 0 uid 501 gid 501 pid 1488 Statfs
FUSE <- unique 0 (Statfs) blocks 0 bfree 0 bavail 0 files 0 ffree 0 bsize 0 namelen 0 frsize 0

FUSE -> len 88 unique 0 uid 501 gid 501 pid 1488 Setattr nodeid 0x2 atime 1174594552.617945
<- Twstat tag 0 fid 1 stat '' '' '' '' q (ffffffffffffffff 4294967295 dalA) m 037777777777 at 1174594552 mt -1 l -1 t 65535 d -1
-> Rerror tag 0 ename permission denied
FUSE <- unique 0 error -13 Permission denied

FUSE -> len 8 unique 0 uid 501 gid 501 pid 1488 Open nodeid 0x2 flags 0x2 mode 0
<- Twalk tag 0 fid 1 newfid 3 nwname 0
-> Rwalk tag 0 nwqid 0
<- Topen tag 0 fid 3 mode 2
-> Ropen tag 0 qid (0000000000000001 0 ) iounit 0
FUSE <- unique 0 (Open) fh 0x4 flags 0x1

FUSE -> len 24 unique 0 uid 501 gid 501 pid 1488 Read nodeid 0x2 fh 0x3 offset 0 size 1
<- Tread tag 0 fid 2 offset 0 count 1
-> Rread tag 0 count 1 'p'
FUSE <- unique 0 (Read) size 1

FUSE -> len 0 unique 0 uid 501 gid 501 pid 1488 Getattr nodeid 0x2
<- Tstat tag 0 fid 1
-> Rstat tag 0  stat 'rules' 'colin' 'colin' 'colin' q (0000000000000001 0 ) m 0600 at 1174594520 mt 1174594520 l 1 t 1 d 3158272
FUSE <- unique 0 (Getattr) attr_valid 1 ino 0x1 size 1 blocks 1 atime 1174594520 mtime 1174594520 ctime 1174594520 mode 0100600 nlink 1 uid 501 gid 501 rdev 0

FUSE -> len 24 unique 0 uid 501 gid 501 pid 1488 Read nodeid 0x2 fh 0x3 offset 0 size 65536
<- Tread tag 0 fid 2 offset 1 count 4096
-> Rread tag 0 count 2961 '6c616e39 3d2f7573 722f6c6f 63616c2f 706c616e 390a0a65 6469746f 723d6163 6d650a0a 61646472 656c656d 3d272828 233f5b30 2d395d2b 297c282f 5b412d5a'
FUSE <- unique 0 (Read) size 2961

FUSE -> len 24 unique 0 uid 501 gid 501 pid 1488 Release nodeid 0x2 fh 0x3 flags 0
FUSE -> len 24 unique 0x1 uid 501 gid 501 pid 1488 Release nodeid 0x2 fh 0x4 flags 0x2
<- Tclunk tag 0 fid 2
<- Tclunk tag 0 fid 3
-> Rclunk tag 0
FUSE <- unique 0 (Release)
-> Rclunk tag 1
FUSE <- unique 0x1 (Release)


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [9fans] Re: 9pfuse-mounted files don't "work" (Mac OS X on Power)
  2007-03-22 21:16         ` Colin DeVilbiss
@ 2007-03-22 21:25           ` W B Hacker
  0 siblings, 0 replies; 9+ messages in thread
From: W B Hacker @ 2007-03-22 21:25 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

Colin DeVilbiss wrote:
> On 3/22/07, W B Hacker <wbh@conducive.org> wrote:
>> Is this installed on its own partition? And if so, how formatted?
>>
>> And if not, is the underlying fs the OS X default hfs/hfs+, or is it 
>> FAT or UFS?
> 
> The OS is backed by just one disk, formatted with the OS X default,
> but I'm not sure I see how that's relevant to the MacFUSE case...

I don't expect that it is (relevant..)

But as all my OS X is on BSD-style partitions and UFS-only, thought I might ask 
before trying it out, just in case that was a known-unworkable combo.

As is the case with, for example, Virtual PC for Mac, despite it 'living' in 
container files.

Won't be 'real soon', as I have native Plan9 Fossil/Venti with Inferno on a 
Core-D 2.8 GHz right next to the PowerBook, and would rather sort that one first.

Thanks,

Bill

> 
>> Kris Maglione wrote:
>> > I'd be interested in the debugging output for files that actually work.
>> > Your initial debugging output shows an iounit of 0 on Ropen calls, and
>> > if that's accurate, finding out why would be of some use.
> 
> 3 files attached:
> cat.works.txt: plumber gives accurate length, cat works as expected
> tail.works.txt: plumber gives accurate length, tail works as expected
> tail.screwy.txt: plumber hacked to return length of 1, tail gives
> output that is exactly the same as cat, except that the second char
> (the "l" in "plan9=/usr/local/plan9") is missing, as if it were
> "superseded" by the "p" from the length-1 read.
> 
> Colin



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [9fans] 9pfuse-mounted files don't "work" (Mac OS X on Power)
  2007-03-22  3:59 [9fans] 9pfuse-mounted files don't "work" (Mac OS X on Power) Colin DeVilbiss
  2007-03-22 11:40 ` [9fans] Fwd: " Colin DeVilbiss
@ 2007-03-27 12:41 ` Russ Cox
  1 sibling, 0 replies; 9+ messages in thread
From: Russ Cox @ 2007-03-27 12:41 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

I filed the zero-length missing Reads as a bug on the
Google Code site so that it will be tracked and can be
reproduced without all of p9p:
http://code.google.com/p/macfuse/issues/detail?id=131

Russ


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2007-03-27 12:41 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-03-22  3:59 [9fans] 9pfuse-mounted files don't "work" (Mac OS X on Power) Colin DeVilbiss
2007-03-22 11:40 ` [9fans] Fwd: " Colin DeVilbiss
2007-03-22 19:13   ` [9fans] " Colin DeVilbiss
2007-03-22 19:17     ` Francisco J Ballesteros
2007-03-22 19:54     ` Kris Maglione
2007-03-22 20:48       ` W B Hacker
2007-03-22 21:16         ` Colin DeVilbiss
2007-03-22 21:25           ` W B Hacker
2007-03-27 12:41 ` [9fans] " Russ Cox

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).