Hello, I already open a bug: https://bugzilla.redhat.com/show_bug.cgi?id=1678726
There is also a link to a bug fix patch Regards David Spisla Am Di., 19. Feb. 2019 um 13:07 Uhr schrieb David Spisla <[email protected] >: > Hi folks, > > The 'struct md_cache' in md-cache.c uses int data types which are not in > common with the data types used in the 'struct iatt' in iatt.h . If one > take a closer look to the implementations one can see that the struct in > md-cache.c uses still the int data types like in the struct 'old_iatt' . > This can lead to unexpected side effects and some values of iatt maybe will > not mapped correctly. I would suggest to open a bug report. What do you > think? > > Additional info: > > struct md_cache { > ia_prot_t md_prot; > uint32_t md_nlink; > uint32_t md_uid; > uint32_t md_gid; > uint32_t md_atime; > uint32_t md_atime_nsec; > uint32_t md_mtime; > uint32_t md_mtime_nsec; > uint32_t md_ctime; > uint32_t md_ctime_nsec; > uint64_t md_rdev; > uint64_t md_size; > uint64_t md_blocks; > uint64_t invalidation_time; > uint64_t generation; > dict_t *xattr; > char *linkname; > time_t ia_time; > time_t xa_time; > gf_boolean_t need_lookup; > gf_boolean_t valid; > gf_boolean_t gen_rollover; > gf_boolean_t invalidation_rollover; > gf_lock_t lock; > }; > > struct iatt { > uint64_t ia_flags; > uint64_t ia_ino; /* inode number */ > uint64_t ia_dev; /* backing device ID */ > uint64_t ia_rdev; /* device ID (if special file) */ > uint64_t ia_size; /* file size in bytes */ > uint32_t ia_nlink; /* Link count */ > uint32_t ia_uid; /* user ID of owner */ > uint32_t ia_gid; /* group ID of owner */ > uint32_t ia_blksize; /* blocksize for filesystem I/O */ > uint64_t ia_blocks; /* number of 512B blocks allocated */ > int64_t ia_atime; /* last access time */ > int64_t ia_mtime; /* last modification time */ > int64_t ia_ctime; /* last status change time */ > int64_t ia_btime; /* creation time. Fill using statx */ > uint32_t ia_atime_nsec; > uint32_t ia_mtime_nsec; > uint32_t ia_ctime_nsec; > uint32_t ia_btime_nsec; > uint64_t ia_attributes; /* chattr related:compressed, immutable, > * append only, encrypted etc.*/ > uint64_t ia_attributes_mask; /* Mask for the attributes */ > > uuid_t ia_gfid; > ia_type_t ia_type; /* type of file */ > ia_prot_t ia_prot; /* protection */ > }; > > struct old_iatt { > uint64_t ia_ino; /* inode number */ > uuid_t ia_gfid; > uint64_t ia_dev; /* backing device ID */ > ia_type_t ia_type; /* type of file */ > ia_prot_t ia_prot; /* protection */ > uint32_t ia_nlink; /* Link count */ > uint32_t ia_uid; /* user ID of owner */ > uint32_t ia_gid; /* group ID of owner */ > uint64_t ia_rdev; /* device ID (if special file) */ > uint64_t ia_size; /* file size in bytes */ > uint32_t ia_blksize; /* blocksize for filesystem I/O */ > uint64_t ia_blocks; /* number of 512B blocks allocated */ > uint32_t ia_atime; /* last access time */ > uint32_t ia_atime_nsec; > uint32_t ia_mtime; /* last modification time */ > uint32_t ia_mtime_nsec; > uint32_t ia_ctime; /* last status change time */ > uint32_t ia_ctime_nsec; > }; >
_______________________________________________ Gluster-devel mailing list [email protected] https://lists.gluster.org/mailman/listinfo/gluster-devel
