Lines Matching refs:attrs
194 int set_attr(const char *file, struct hostfs_iattr *attrs, int fd)
200 if (attrs->ia_valid & HOSTFS_ATTR_MODE) {
202 if (fchmod(fd, attrs->ia_mode) != 0)
204 } else if (chmod(file, attrs->ia_mode) != 0) {
208 if (attrs->ia_valid & HOSTFS_ATTR_UID) {
210 if (fchown(fd, attrs->ia_uid, -1))
212 } else if (chown(file, attrs->ia_uid, -1)) {
216 if (attrs->ia_valid & HOSTFS_ATTR_GID) {
218 if (fchown(fd, -1, attrs->ia_gid))
220 } else if (chown(file, -1, attrs->ia_gid)) {
224 if (attrs->ia_valid & HOSTFS_ATTR_SIZE) {
226 if (ftruncate(fd, attrs->ia_size))
228 } else if (truncate(file, attrs->ia_size)) {
239 if (attrs->ia_valid & ma) {
249 if (attrs->ia_valid & HOSTFS_ATTR_ATIME_SET) {
250 times[0].tv_sec = attrs->ia_atime.tv_sec;
251 times[0].tv_usec = attrs->ia_atime.tv_nsec / 1000;
253 if (attrs->ia_valid & HOSTFS_ATTR_MTIME_SET) {
254 times[1].tv_sec = attrs->ia_mtime.tv_sec;
255 times[1].tv_usec = attrs->ia_mtime.tv_nsec / 1000;
267 if (attrs->ia_valid & (HOSTFS_ATTR_ATIME | HOSTFS_ATTR_MTIME)) {
269 attrs->ia_atime = st.atime;
270 attrs->ia_mtime = st.mtime;