From: Tiger Yang <tiger.yang@oracle.com>
To: ocfs2-devel@oss.oracle.com
Subject: [Ocfs2-devel] [PATCH 7/8] ocfs2: Add extended attributes support. v1
Date: Mon, 16 Jun 2008 18:22:46 +0800 [thread overview]
Message-ID: <48563EF6.2090203@oracle.com> (raw)
In-Reply-To: <20080613032230.GW28100@wotan.suse.de>
Hi, Mark,
Thanks for review my patch and comments.
Mark Fasheh wrote:
> You'll have to go through the code and determine where we need to use the
> new functions. Please do this as a seperate patch by the way - it's a tricky
> enough operation that I will refuse to read the change if it's intermingled
> with other stuff.
>
This is a serious problem. The patch attached fix this problem.
My patch could handle EAs in inode block or in external block at the
same times. That is little different between design doc.
If we find free space inline, we will set EAs in it firstly, otherwise
we will set EAs in external block. This resolution just like ext3 does.
So i_xattr_loc could only be used for contain the number of external block.
> What hash function is this? Where did you get it from? How good is it for
>
> use with EA names? How good is it for other uses? Answers to all those
> questions belong here in e-mail, as well as a nice big comment at the top of
> this function.
>
>
> Also, there's this item in the design doc:
> * need a random seed in super block which is never printed on console
>
> We want to combine the random seed with the hashing process somehow so that
> the results for a given name are not globally predictable for all Ocfs2 file
> systems.
>
I got this hash function form ext3_xattr_hash_entry(). In design doc,
"The hash value is calculated using the full (prefix.suffix) name of the
xattr to avoid hash collisions when the same suffix is used in multiple
attribute namespaces. It it used to identify when a name is not going to
match before doing a string comparison to verify that the name is a
match.", so I got the hash value form EA's prefix and EA's name.
Actually I didn't compare hash value and sort EAs when EAs in inode for
in external block, Because only few EAs could be stored in inode or
external block. Tao use this hash value for large number EAs in bucket.
Next I will use that random seed for hash value.
I will correct other problems you commented.
Best regards,
tiger
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Reserve-space-in-inode-block-for-extented-attribute.patch
Type: text/x-patch
Size: 5848 bytes
Desc: not available
Url : http://oss.oracle.com/pipermail/ocfs2-devel/attachments/20080616/14db24eb/attachment.bin
next prev parent reply other threads:[~2008-06-16 10:22 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-05 7:16 [Ocfs2-devel] [PATCH 0/8] ocfs2: Add extended attributes for ocfs2. V1 Tao Ma
2008-06-05 7:24 ` [Ocfs2-devel] [PATCH 7/8] ocfs2: Add extended attributes support. v1 Tiger Yang
2008-06-13 3:22 ` Mark Fasheh
2008-06-16 7:18 ` Tao Ma
2008-06-16 10:22 ` Tiger Yang [this message]
2008-06-17 17:59 ` Mark Fasheh
2008-06-18 9:30 ` Tiger Yang
2008-06-17 23:32 ` Mark Fasheh
2008-06-27 7:49 ` Tiger Yang
2008-06-27 18:10 ` Mark Fasheh
2008-06-30 2:53 ` Tao Ma
2008-06-05 7:31 ` [Ocfs2-devel] [PATCH 1/8] Modify ocfs2_num_free_extents for future xattr usage.v1 Tao Ma
2008-06-05 7:32 ` [Ocfs2-devel] [PATCH 2/8] Use ocfs2_extent_list instead of ocfs2_dinode.v1 Tao Ma
2008-06-05 7:32 ` [Ocfs2-devel] [PATCH 3/8] Make ocfs2_lock_allocators generic for extent allocation.v1 Tao Ma
2008-06-11 23:31 ` Mark Fasheh
2008-06-12 1:40 ` Tao Ma
2008-06-12 23:51 ` Mark Fasheh
2008-06-05 7:33 ` [Ocfs2-devel] [PATCH 4/8] Make extend allocation generic.v1 Tao Ma
2008-06-12 20:59 ` Mark Fasheh
2008-06-13 2:08 ` Tao Ma
2008-06-05 7:33 ` [Ocfs2-devel] [PATCH 5/8] Add xattr header in ocfs2.v1 Tao Ma
2008-06-12 21:21 ` Mark Fasheh
2008-06-13 1:54 ` Tao Ma
2008-06-05 7:34 ` [Ocfs2-devel] [PATCH 6/8] Add extent tree operation for xattr value.v1 Tao Ma
2008-06-12 23:44 ` Mark Fasheh
2008-06-13 1:48 ` Tao Ma
2008-06-13 2:56 ` Mark Fasheh
2008-06-13 3:28 ` Tao Ma
2008-06-13 2:39 ` Mark Fasheh
2008-06-05 7:35 ` [Ocfs2-devel] [PATCH 8/8] Add large numbers of extended attributes support for ocfs2.v1 Tao Ma
2008-06-06 6:26 ` [Ocfs2-devel] [PATCH 8/8] (Imporved)Add " Tao Ma
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=48563EF6.2090203@oracle.com \
--to=tiger.yang@oracle.com \
--cc=ocfs2-devel@oss.oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.