[zfs-discuss] XATTRs, ZAP and the Mac

2006-05-02 Thread Maury Markowitz
Now that the documentation section is expanding, I can make a 
not-so-ill-informed comment about zfs and the Mac OS. If I'm reading the 
documentation correctly, the news is unfortunately bad.

The "problem" with Mac support is that the Mac stored all of its 
display-related information in the directory itself. By this I refer to things 
like the icon's position within its directory window, the "type and creator" 
flags that are an analog to a file extension, and even things like window 
sizing, position and scroll location for folders. The idea here was that on a 
floppy, which the FS was targetted for way back when, a single pass over the 
flat-file directory would give you EVERYTHING you needed to draw the display. 
Given the extremely limited bandwidth, this was an extremely practical 
decision, if potentially limiting.

For the interested, here's the info needed:

http://developer.apple.com/technotes/tn/tn1150.html#FinderInfo

It's a pair of four-byte strings, three 2x16-bit Points and potentially a 
32-bit Rect, and a couple of flags, the vast majority of which are no longer 
used or are duplicated in zfs's directory ZAP anyway.

Now generally the Unix nerds would suggest hanging the Mac's extra information 
in the xattrs.The problem here is that zfs stores all xattrs separately from 
the ZAP directory entry. So while it is physically possible to make another ACE 
for the Mac info and hang it off the xattr "inode" (ZAP), this means that 
drawing a window in the Finder will require a file system walk! This just isn't 
going to work, Mac users won't accept PC-slow directory displays -- I know I 
wouldn't.

What I don't understand is why this disturbingly inflexible design was chosen. 
Note that the ACL ACE is built in order to store up to six entries in-line, 
which likely serves 95% of all cases. Why an identical solution was not used 
for xattrs absolutely baffles me. An identical six entry with overflow ACE dir 
would work wonderfully for xattrs, and in this particular case, would store all 
the needed Mac-related goodness.

So can anyone tell me why xattrs weren't handled in the same way as ACLs? It 
smells of inside-the-box-thinking, but I'm no FS expert and there may very well 
be a good reason.

And if there isn't a good reason, is it simply too late to fix this? If xattr 
were moved below gid and used up the pad[4], that would at least give us 
something useful.

Maury
 
 
This message posted from opensolaris.org
___
zfs-discuss mailing list
[EMAIL PROTECTED]
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


Re: [zfs-discuss] XATTRs, ZAP and the Mac

2006-05-02 Thread Gregory Shaw
I don't disagree with the below, however, you can run your mac on UFS  
instead of HFS+.   Since UFS hasn't been mac-ified, I'm wondering if  
the below is actually true for all filesystem types.


On May 2, 2006, at 2:02 PM, Maury Markowitz wrote:

Now that the documentation section is expanding, I can make a not- 
so-ill-informed comment about zfs and the Mac OS. If I'm reading  
the documentation correctly, the news is unfortunately bad.


The "problem" with Mac support is that the Mac stored all of its  
display-related information in the directory itself. By this I  
refer to things like the icon's position within its directory  
window, the "type and creator" flags that are an analog to a file  
extension, and even things like window sizing, position and scroll  
location for folders. The idea here was that on a floppy, which the  
FS was targetted for way back when, a single pass over the flat- 
file directory would give you EVERYTHING you needed to draw the  
display. Given the extremely limited bandwidth, this was an  
extremely practical decision, if potentially limiting.


For the interested, here's the info needed:

http://developer.apple.com/technotes/tn/tn1150.html#FinderInfo

It's a pair of four-byte strings, three 2x16-bit Points and  
potentially a 32-bit Rect, and a couple of flags, the vast majority  
of which are no longer used or are duplicated in zfs's directory  
ZAP anyway.


Now generally the Unix nerds would suggest hanging the Mac's extra  
information in the xattrs.The problem here is that zfs stores all  
xattrs separately from the ZAP directory entry. So while it is  
physically possible to make another ACE for the Mac info and hang  
it off the xattr "inode" (ZAP), this means that drawing a window in  
the Finder will require a file system walk! This just isn't going  
to work, Mac users won't accept PC-slow directory displays -- I  
know I wouldn't.


What I don't understand is why this disturbingly inflexible design  
was chosen. Note that the ACL ACE is built in order to store up to  
six entries in-line, which likely serves 95% of all cases. Why an  
identical solution was not used for xattrs absolutely baffles me.  
An identical six entry with overflow ACE dir would work wonderfully  
for xattrs, and in this particular case, would store all the needed  
Mac-related goodness.


So can anyone tell me why xattrs weren't handled in the same way as  
ACLs? It smells of inside-the-box-thinking, but I'm no FS expert  
and there may very well be a good reason.


And if there isn't a good reason, is it simply too late to fix  
this? If xattr were moved below gid and used up the pad[4], that  
would at least give us something useful.


Maury


This message posted from opensolaris.org
___
zfs-discuss mailing list
[EMAIL PROTECTED]
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


-
Gregory Shaw, IT Architect
Phone: (303) 673-8273Fax: (303) 673-8273
ITCTO Group, Sun Microsystems Inc.
1 StorageTek Drive ULVL4-382   [EMAIL PROTECTED] (work)
Louisville, CO 80028-4382 [EMAIL PROTECTED] (home)
"When Microsoft writes an application for Linux, I've Won." - Linus  
Torvalds



___
zfs-discuss mailing list
[EMAIL PROTECTED]
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


Re: [zfs-discuss] XATTRs, ZAP and the Mac

2006-05-02 Thread Matthew Ahrens
On Tue, May 02, 2006 at 01:02:59PM -0700, Maury Markowitz wrote:
> The "problem" with Mac support is that the Mac stored all of its
> display-related information in the directory itself.

As you've mentioned, performance considerations mean that extended
attributes may not be the best solution for storing this information.
Unfortunately, embedding the extended attributes in the znode_phys_t (as
you suggest) is not really practical.  The extended attributes are
full-fledged files, with all the associated metadata (permissions,
dates, etc).  There simply isn't enough space in the znode_phys_t to
store even a single extended attribute.

Even if you invented a new interface for name-value extended properties
on files, it would be tough to fit many properties in the unused space
in the znode_phys_t.  But such an interface might be worth considering,
if there are important uses for it (the Mac windowing information may be
one).

One way to store this information would be to simply add it to the
znode_phys_t (by using a couple words of the padding).  This would
result in very good performance, since you wouldn't even have to find
the attribute with the matching name.

Keep in mind that the whole idea of storing this windowing information
with the file presumes that there are not multiple (hard) links to a
file.  If there are multiple names for the file (ie. it exists in
multiple directories), it probably makes more sense to store the
windowing information with the directory entry.  That change would be
fairly straightforward:  use the ZAP to store a larger value in the
directory entry, adding words that describe the window information.

--matt
___
zfs-discuss mailing list
[EMAIL PROTECTED]
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


Re: [zfs-discuss] ZFS on FUSE/Linux [Google Summer of Code 2006]

2006-05-02 Thread Ricardo Correia
I've made an application draft for the project I'm proposing. This draft was 
made with the Gentoo Linux mentoring organization in mind, but of course, I'm 
much more interested in being assigned a mentor from ZFS/OpenSolaris 
itself :)

You can read the draft in PDF format here: http://wizy.org/zfs-on-fuse.pdf

Anyway, I'm not planning on being mentored too much, but it's possible I will 
need some help understanding the ZFS code.

Comments? :)

On Monday 01 May 2006 05:58, Ricardo Correia wrote:
> Hi, I'm a computer engineering student from Portugal, and I would love to
> make a ZFS implementation for FUSE (Filesystem in Userspace) for Linux
> (and FreeBSD). I know it would be cool to have a kernel-level
> implementation, but that would be too big of a project for me to work on
> my own.
>
> However, I'm fairly confident I would be able to do a mostly-complete
> implementation of ZFS on FUSE in my spare time.
>
> Is there a possibility to arrange a mentor for this project from
> ZFS/OpenSolaris?
>
> Thank you.
>
> ___
> zfs-discuss mailing list
> [EMAIL PROTECTED]
> http://mail.opensolaris.org/mailman/listinfo/zfs-discuss
___
zfs-discuss mailing list
[EMAIL PROTECTED]
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


[zfs-discuss] Best. Solaris Tees. Ever.

2006-05-02 Thread Bryan Cantrill

Sorry for the cross-posting, but I think the union of these lists will
be interested in this.  Joyent, a recent convert to Solaris (and ZFS in
particular), has put together some fantastic T-shirts:

  http://flickr.com/photos/textdriveinc/139222094/
  http://flickr.com/photos/textdriveinc/139222093/
  https://store.joyent.com/products/show/3
  https://store.joyent.com/products/show/4

They're both great -- but I especially love "Boys are from LAMP, Men are
from MARS" (MySQL + Apache + Rails + Solaris).

And if you're interested in seeing more of Joyent's rationale for running
on Solaris, check out Jason Hoffman's Scaling with Rails presentation:

  http://www.scalewithrails.com/downloads/ScaleWithRails-April2006.pdf

Finally, to confirm the rumors before they get started:  it's true that
the DTrace team demo'd DTrace on Rails(*) to Joyent explicitly out of the
hope of getting a DTrace T-shirt.  Yes, we know -- we're pathetic.

- Bryan

--
Bryan Cantrill, Solaris Kernel Development.   http://blogs.sun.com/bmc

(*) http://blogs.sun.com/roller/page/bmc?entry=dtrace_on_rails
___
zfs-discuss mailing list
[EMAIL PROTECTED]
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


[zfs-discuss] ZFS porting help

2006-05-02 Thread Eric Schrock
Folks -

Several people have vocalized interest in porting ZFS to operating
systems other than solaris.  While our 'mentoring' bandwidth may be
small, I am hoping to create a common forum where people could share
their experiences and ideas about how to effectively port ZFS and ease
the ongoing maintenance burden.  To that end, I started with this page:

http://www.opensolaris.org/os/community/zfs/porting/

Which gives some guidelines about what I think would be a reasonable way
of attacking a port of ZFS.  While not quite a WiKi, if folks are
actively working a port, feel free to email me (or one of the other ZFS
community leaders) and we'll make you a leader as well so you can edit
this page and share experiences, link to your efforts, etc.

If there is enough interest, it may also make sense to create a
discussion forum strictly for detailed questions about ZFS code that may
not interest the community at large.  If '[EMAIL PROTECTED]' were
created, would this be beneficial to anyone?

- Eric

--
Eric Schrock, Solaris Kernel Development   http://blogs.sun.com/eschrock
___
zfs-discuss mailing list
[EMAIL PROTECTED]
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


Re: [zfs-discuss] ZFS porting help

2006-05-02 Thread James C. McPherson

Eric Schrock wrote:

Folks -

Several people have vocalized interest in porting ZFS to operating
systems other than solaris.  While our 'mentoring' bandwidth may be
small, I am hoping to create a common forum where people could share
their experiences and ideas about how to effectively port ZFS and ease
the ongoing maintenance burden.  To that end, I started with this page:

http://www.opensolaris.org/os/community/zfs/porting/

Which gives some guidelines about what I think would be a reasonable way
of attacking a port of ZFS.  While not quite a WiKi, if folks are
actively working a port, feel free to email me (or one of the other ZFS
community leaders) and we'll make you a leader as well so you can edit
this page and share experiences, link to your efforts, etc.


Excellent!


If there is enough interest, it may also make sense to create a
discussion forum strictly for detailed questions about ZFS code that may
not interest the community at large.  If '[EMAIL PROTECTED]' were
created, would this be beneficial to anyone?


Definitely. Please sign me up when you create it.


thanks,
James C. McPherson
--
Solaris Datapath Engineering
Data Management Group
Sun Microsystems
___
zfs-discuss mailing list
[EMAIL PROTECTED]
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


Re: [zfs-discuss] XATTRs, ZAP and the Mac

2006-05-02 Thread Matthew Ahrens
On Tue, May 02, 2006 at 05:10:09PM -0400, Maury Markowitz wrote:
> >Unfortunately, embedding the extended attributes in the znode_phys_t (as
> >you suggest) is not really practical.  The extended attributes are
> >full-fledged files
> 
> I think that's the disconnect. WHY are they "full-fledged files"?

Because that's what the specification calls for.  If they weren't
full-fledged files, they wouldn't be compatable with existing
interfaces.  That wouldn't necessarily be a bad thing, just a different
thing.  As I mentioned, a new, lighter-weight interface could be
designed in addition to extended attributes.

> >windowing information with the directory entry.  That change would be
> >fairly straightforward:  use the ZAP to store a larger value in the
> >directory entry, adding words that describe the window information.
> 
> I think I need a little hand holding here. Where is the ZAP in relation to 
> the directory or file? I read the documentation to imply that the ZAP was 
> the directory (page 46, bottom) effectively. However, looking at it now, I 
> see there is no file name for instance.
> 
> Reading over section 5, and I correct that a znode_phys_t is "built up 
> inside" a ZAP (potentially micro), and the ZAP itself holds the 
> znode_phys_t and other additional information? If this is correct, is there 
> a diagram somewhere that illustrates the resulting overall structure?

Ah, I see that you've been reading the on-disk format document.  Section
6.2 describes the relation between the ZAP, directory entries, and the
znode_phys_t:

Filesystem directories are implemented as ZAP objects.  Each
directory holds a set of name-value pairs which contain the
names and object numbers for each director entry.  Traversing
through a directory tree is as simple as looking up the value
for an entry and reading that object number.

All filesystem objects contain a znode_phys_t structure in the
bonus buffer of it's dnode.  This structure stores the
attributes for the filesystem object.

To recap, the ZAP implements a directory, mapping from file name to
object number.  That object number identifies (ie. refers to) a
particular dnode, which contains a znode_phys_t in the bonus buffer.

As I mentioned, the directory could potentially map from file name to
object number + some additional information, since the values stored in
the ZAP can be variable-length.

Could elaborate on what makes it seem like there "is no file name" and
that the "ZAP itself holds the znode_phys_t"?  Then we can change that
documentation to make it clear that that is not the case.

--matt
___
zfs-discuss mailing list
[EMAIL PROTECTED]
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


[zfs-discuss] ant tool for migrate from ufs/svm to ZFS and pools

2006-05-02 Thread fran
Hi

Exists (or It will  exists) any metoth or tool for migrate a UFS/SVM 
filesystems with soft partitions to  ZFS filesystems with pools?

Any ideas for migrate a instaled base: Solaris 10 UFS/Solaris Volme Manager to 
Solaris 10 ZFS or only we have a backup-recovery option?

Thanks
 
 
This message posted from opensolaris.org
___
zfs-discuss mailing list
[EMAIL PROTECTED]
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


Re: [zfs-discuss] ant tool for migrate from ufs/svm to ZFS and pools

2006-05-02 Thread James C. McPherson

fran wrote:

Exists (or It will  exists) any metoth or tool for migrate a UFS/SVM
filesystems with soft partitions to  ZFS filesystems with pools?
Any ideas for migrate a instaled base: Solaris 10 UFS/Solaris Volme
Manager to Solaris 10 ZFS or only we have a backup-recovery option?


Hi Fran,
no, there is no such tool right now. A few people (including myself)
have talked about how such a tool might be designed, but I don't think
there's been any activity to date.


best regards,
James C. McPherson
--
Solaris Datapath Engineering
Data Management Group
Sun Microsystems
___
zfs-discuss mailing list
[EMAIL PROTECTED]
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss