zfs_sa.c revision faba5ca127d654dc58b6b404baa433f9548624b5
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
/*
* ZPL attribute registration table.
* Order of attributes doesn't matter
* a unique value will be assigned for each
* attribute that is file system specific
*
* This is just the set of ZPL attributes that this
* version of ZFS deals with natively. The file system
* could have other attributes stored in files, but they will be
* ignored. The SA framework will preserve them, just that
* this version of ZFS won't change or delete them.
*/
{"ZPL_SYMLINK", 0, SA_UINT8_ARRAY, 0},
{"ZPL_DACL_ACES", 0, SA_ACL, 0},
{NULL, 0, 0, 0}
};
#ifdef _KERNEL
int
{
int error;
} else {
}
}
return (error);
}
void
{
if (len) {
}
} else {
}
}
void
{
sizeof (xoap->xoa_av_scanstamp)) != 0)
return;
} else {
int len;
return;
sizeof (xoap->xoa_av_scanstamp));
}
}
}
void
{
else {
int len;
}
}
/*
* I'm not convinced we should do any of this upgrade.
* with probably little to know performance difference.
*
* All new files will be created with the new format.
*/
void
{
int count = 0;
zfs_acl_locator_cb_t locate = { 0 };
char scanstamp[AV_SCANSTAMP_SZ];
/*
* No upgrade if ACL isn't cached
* since we won't know which locks are held
* and ready the ACL would require special "locked"
* interfaces that would be messy
*/
return;
/* First do a bulk query of the attributes that aren't cached */
&znode_acl, 88);
return;
/*
* While the order here doesn't matter its best to try and organize
* it is such a way to pick up an already existing layout number
*/
count = 0;
&mtime, 16);
&ctime, 16);
&crtime, 16);
&rdev, 8);
if (xattr)
/*
* is it a symlink ?
*
* this will probably never be exercised since we won't
* have the cached ACL.
*/
else {
return;
}
}
/* if scanstamp then add scanstamp */
}
if (slink)
}
void
{
return;
if (ZFS_EXTERNAL_ACL(zp)) {
}
}
#endif