/*
* 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
*/
/*
*/
#include <sys/zfs_context.h>
/*
* 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 no performance difference.
*
* All new files will be created with the new format.
*/
void
{
int count = 0;
/*
* 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;
/*
* If the z_lock is held and we aren't the owner
* the just return since we don't want to deadlock
* trying to update the status of z_is_sa. This
* file can then be upgraded at a later time.
*
* Otherwise, we know we are doing the
* sa_update() that caused us to enter this function.
*/
return;
else
}
/* First do a bulk query of the attributes that aren't cached */
&znode_acl, 88);
goto done;
/*
* 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)
/* if scanstamp then add scanstamp */
}
done:
if (drop_lock)
}
void
{
return;
if (zfs_external_acl(zp)) {
}
}
#endif