static void convert_stat(const struct stat *stbuf, struct fuse_attr *attr) { attr->ino = stbuf->st_ino; attr->mode = stbuf->st_mode; attr->nlink = stbuf->st_nlink; attr->uid = stbuf->st_uid; attr->gid = stbuf->st_gid; attr->rdev = stbuf->st_rdev; attr->size = stbuf->st_size; attr->blksize = stbuf->st_blksize; attr->blocks = stbuf->st_blocks; attr->atime = stbuf->st_atime; attr->mtime = stbuf->st_mtime; attr->ctime = stbuf->st_ctime; attr->atimensec = ST_ATIM_NSEC(stbuf); attr->mtimensec = ST_MTIM_NSEC(stbuf); attr->ctimensec = ST_CTIM_NSEC(stbuf); #ifdef __APPLE__ attr->flags = stbuf->st_flags; #ifdef _DARWIN_USE_64_BIT_INODE attr->crtime = stbuf->st_birthtime; attr->crtimensec= (uint32_t)(stbuf->st_birthtimensec); #else attr->crtime = (__u64)-1; attr->crtimensec= (__u32)-1; #endif #endif /* __APPLE__ */ }
static void convert_stat(const struct stat *stbuf, struct fuse_attr *attr) { attr->ino = stbuf->st_ino; attr->mode = stbuf->st_mode; attr->nlink = stbuf->st_nlink; attr->uid = stbuf->st_uid; attr->gid = stbuf->st_gid; attr->rdev = stbuf->st_rdev; attr->size = stbuf->st_size; attr->blocks = stbuf->st_blocks; attr->atime = stbuf->st_atime; attr->mtime = stbuf->st_mtime; attr->ctime = stbuf->st_ctime; attr->atimensec = ST_ATIM_NSEC(stbuf); attr->mtimensec = ST_MTIM_NSEC(stbuf); attr->ctimensec = ST_CTIM_NSEC(stbuf); }
static void convert_stat(const struct stat *stbuf, struct fuse_attr *attr) { attr->ino = stbuf->st_ino; attr->mode = stbuf->st_mode; attr->nlink = stbuf->st_nlink; attr->uid = stbuf->st_uid; attr->gid = stbuf->st_gid; attr->rdev = stbuf->st_rdev; attr->size = stbuf->st_size; attr->blocks = stbuf->st_blocks; attr->atime = stbuf->st_atime; attr->mtime = stbuf->st_mtime; attr->ctime = stbuf->st_ctime; attr->atimensec = ST_ATIM_NSEC(stbuf); attr->mtimensec = ST_MTIM_NSEC(stbuf); attr->ctimensec = ST_CTIM_NSEC(stbuf); #ifdef POSIXACLS attr->filling = 0; /* JPA trying to be safe */ #endif }
static void glfs_iatt_from_stat (struct stat *stat, int valid, struct iatt *iatt, int *glvalid) { /* validate in args */ if ((stat == NULL) || (iatt == NULL) || (glvalid == NULL)) { errno = EINVAL; return; } *glvalid = 0; if (valid & GFAPI_SET_ATTR_MODE) { iatt->ia_prot = ia_prot_from_st_mode (stat->st_mode); *glvalid |= GF_SET_ATTR_MODE; } if (valid & GFAPI_SET_ATTR_UID) { iatt->ia_uid = stat->st_uid; *glvalid |= GF_SET_ATTR_UID; } if (valid & GFAPI_SET_ATTR_GID) { iatt->ia_gid = stat->st_gid; *glvalid |= GF_SET_ATTR_GID; } if (valid & GFAPI_SET_ATTR_ATIME) { iatt->ia_atime = stat->st_atime; iatt->ia_atime_nsec = ST_ATIM_NSEC (stat); *glvalid |= GF_SET_ATTR_ATIME; } if (valid & GFAPI_SET_ATTR_MTIME) { iatt->ia_mtime = stat->st_mtime; iatt->ia_mtime_nsec = ST_MTIM_NSEC (stat); *glvalid |= GF_SET_ATTR_MTIME; } return; }