Lines Matching refs:attrs
195 int set_attr(const char *file, struct hostfs_iattr *attrs, int fd)
201 if (attrs->ia_valid & HOSTFS_ATTR_MODE) {
203 if (fchmod(fd, attrs->ia_mode) != 0)
205 } else if (chmod(file, attrs->ia_mode) != 0) {
209 if (attrs->ia_valid & HOSTFS_ATTR_UID) {
211 if (fchown(fd, attrs->ia_uid, -1))
213 } else if (chown(file, attrs->ia_uid, -1)) {
217 if (attrs->ia_valid & HOSTFS_ATTR_GID) {
219 if (fchown(fd, -1, attrs->ia_gid))
221 } else if (chown(file, -1, attrs->ia_gid)) {
225 if (attrs->ia_valid & HOSTFS_ATTR_SIZE) {
227 if (ftruncate(fd, attrs->ia_size))
229 } else if (truncate(file, attrs->ia_size)) {
240 if (attrs->ia_valid & ma) {
250 if (attrs->ia_valid & HOSTFS_ATTR_ATIME_SET) {
251 times[0].tv_sec = attrs->ia_atime.tv_sec;
252 times[0].tv_usec = attrs->ia_atime.tv_nsec / 1000;
254 if (attrs->ia_valid & HOSTFS_ATTR_MTIME_SET) {
255 times[1].tv_sec = attrs->ia_mtime.tv_sec;
256 times[1].tv_usec = attrs->ia_mtime.tv_nsec / 1000;
268 if (attrs->ia_valid & (HOSTFS_ATTR_ATIME | HOSTFS_ATTR_MTIME)) {
270 attrs->ia_atime = st.atime;
271 attrs->ia_mtime = st.mtime;