[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha8-970-gd6270df

Simo Sorce idra at samba.org
Fri Aug 14 04:29:58 MDT 2009


On Thu, 2009-08-13 at 14:17 -0700, Jeremy Allison wrote:
> On Thu, Aug 13, 2009 at 01:10:16PM -0700, Jeremy Allison wrote:
> > 
> > I just did :-).
> > 
> > " * Extended attributes are stored directly in inodes (on file systems with
> >  * inodes bigger than 128 bytes) and on additional disk blocks. The i_file_acl
> >  * field contains the block number if an inode uses an additional block. All
> >  * attributes must fit in the inode and one additional block."
> 
> Ok, I've been thinking about this. If we're going to move
> all extra meta-data into one EA (other than SD's) we need
> to use the user.DOSATTRIB EA name. The reason for this
> is backwards compatibility.
> 
> Currently user.DOSATTRIB consists of a string containing
> the dos attributes. 3.5 could maintain this, but then
> after the string store an ndr linearized version of the
> extra metadata (timestamps, allocation etc.) as a blob
> after the string. Existing versions of Samba still work
> by simply parsing the string. 3.5 and above will detect
> the extra blob presence by checking the size of the EA
> is larger than the string and then accessing the blob.
> 
> We can't suddenly start to store the DOS attributes
> in a different EA name as then the stored data in the
> filesystem will be incompatible if someone runs
> a previous version of Samba, something we've managed
> to avoid with filesystem data up until now.
> 
> We need to make this decision NOW, as once a version
> ships that uses a new EA store name for metadata, we're
> forced to keep this moving forwards for backwards compatibility
> reasons.
> 
> The current code has one advantage in that is allows
> vendors who already have full Windows timestamps
> in their (custom?) filesystem to leave the storage
> of create timestamps turned off, only people running
> on top of POSIX with EA's need turn it on. Plus this
> code is already written, tested and is quite a small
> change :-).
> 
> How expensive is it to use another EA ? Knowing
> the answer to this would help in making the decision
> on whether I have to change the create timestamp
> store code asap, or if we can leave it as "done".
> 
> Comments and thoughts ?

What problem do you see in using a different EA so that DOSATTRIB is
left unchanged ?
I am concerned about changing the format of an existing EA. While older
samba code may cope with it we don't know if other people have made
programs or scripts that expect this EA to have a specific format.

Simo.




More information about the samba-technical mailing list