Re: [Gluster-devel] md-cache: May bug found in md-cache.c

2019-02-21 Thread David Spisla
Hello Amar,

it should be done. Thank you for the explanation

Regards
David

Von: Amar Tumballi Suryanarayan 
Gesendet: Mittwoch, 20. Februar 2019 14:55
An: David Spisla 
Cc: Gluster Devel 
Betreff: Re: [Gluster-devel] md-cache: May bug found in md-cache.c

Hi David,

https://docs.gluster.org/en/latest/Developer-guide/Backport-Guidelines/ gives 
more details about it.

But easiest is to go to your patch (https://review.gluster.org/22234), and then 
click on 'Cherry Pick' button. In the pop-up, 'branch:' field, give 'release-6' 
and Submit. If you want it in release-5 branch too, repeat the same, with 
branch being 'release-5'. Siimlarly we need 'clone-of' bug for both the 
branches (the original bug used in patch is for master branch).

That should be it. Rest, we can take care.

Thanks a lot!

Regards,
Amar

On Wed, Feb 20, 2019 at 6:58 PM David Spisla 
mailto:david.spi...@iternity.com>> wrote:
Hello Amar,

no problem. How can I do that? Can you please tell me the procedure?

Regards
David

Von: Amar Tumballi Suryanarayan 
mailto:atumb...@redhat.com>>
Gesendet: Mittwoch, 20. Februar 2019 14:18
An: David Spisla mailto:spisl...@gmail.com>>
Cc: Gluster Devel mailto:gluster-devel@gluster.org>>
Betreff: Re: [Gluster-devel] md-cache: May bug found in md-cache.c

Hi David,

Thanks for the patch, it got merged in master now. Can you please post it into 
release branches, so we can take them in release-6, release-5 branch, so next 
releases can have them.

Regards,
Amar

On Tue, Feb 19, 2019 at 8:49 PM David Spisla 
mailto:spisl...@gmail.com>> wrote:
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 
mailto:spisl...@gmail.com>>:
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
Gluster-devel@gluster.

Re: [Gluster-devel] md-cache: May bug found in md-cache.c

2019-02-21 Thread David Spisla
Hello Amar,

no problem. How can I do that? Can you please tell me the procedure?

Regards
David

Von: Amar Tumballi Suryanarayan 
Gesendet: Mittwoch, 20. Februar 2019 14:18
An: David Spisla 
Cc: Gluster Devel 
Betreff: Re: [Gluster-devel] md-cache: May bug found in md-cache.c

Hi David,

Thanks for the patch, it got merged in master now. Can you please post it into 
release branches, so we can take them in release-6, release-5 branch, so next 
releases can have them.

Regards,
Amar

On Tue, Feb 19, 2019 at 8:49 PM David Spisla 
mailto:spisl...@gmail.com>> wrote:
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 
mailto:spisl...@gmail.com>>:
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
Gluster-devel@gluster.org<mailto:Gluster-devel@gluster.org>
https://lists.gluster.org/mailman/listinfo/gluster-devel


--
Amar Tumballi (amarts)
___
Gluster-devel mailing list
Gluster-devel@gluster.org
https://lists.gluster.org/mailman/listinfo/gluster-devel

Re: [Gluster-devel] md-cache: May bug found in md-cache.c

2019-02-20 Thread Amar Tumballi Suryanarayan
Hi David,

https://docs.gluster.org/en/latest/Developer-guide/Backport-Guidelines/
gives more details about it.

But easiest is to go to your patch (https://review.gluster.org/22234), and
then click on 'Cherry Pick' button. In the pop-up, 'branch:' field, give
'release-6' and Submit. If you want it in release-5 branch too, repeat the
same, with branch being 'release-5'. Siimlarly we need 'clone-of' bug for
both the branches (the original bug used in patch is for master branch).

That should be it. Rest, we can take care.

Thanks a lot!

Regards,
Amar

On Wed, Feb 20, 2019 at 6:58 PM David Spisla 
wrote:

> Hello Amar,
>
>
>
> no problem. How can I do that? Can you please tell me the procedure?
>
>
>
> Regards
>
> David
>
>
>
> *Von:* Amar Tumballi Suryanarayan 
> *Gesendet:* Mittwoch, 20. Februar 2019 14:18
> *An:* David Spisla 
> *Cc:* Gluster Devel 
> *Betreff:* Re: [Gluster-devel] md-cache: May bug found in md-cache.c
>
>
>
> Hi David,
>
>
>
> Thanks for the patch, it got merged in master now. Can you please post it
> into release branches, so we can take them in release-6, release-5 branch,
> so next releases can have them.
>
>
>
> Regards,
>
> Amar
>
>
>
> On Tue, Feb 19, 2019 at 8:49 PM David Spisla  wrote:
>
> 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 <
> spisl...@gmail.com>:
>
> 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 

Re: [Gluster-devel] md-cache: May bug found in md-cache.c

2019-02-20 Thread Amar Tumballi Suryanarayan
Hi David,

Thanks for the patch, it got merged in master now. Can you please post it
into release branches, so we can take them in release-6, release-5 branch,
so next releases can have them.

Regards,
Amar

On Tue, Feb 19, 2019 at 8:49 PM David Spisla  wrote:

> 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 <
> spisl...@gmail.com>:
>
>> 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
> Gluster-devel@gluster.org
> https://lists.gluster.org/mailman/listinfo/gluster-devel



-- 
Amar Tumballi (amarts)
___
Gluster-devel mailing list
Gluster-devel@gluster.org
https://lists.gluster.org/mailman/listinfo/gluster-devel

Re: [Gluster-devel] md-cache: May bug found in md-cache.c

2019-02-19 Thread David Spisla
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 :

> 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
Gluster-devel@gluster.org
https://lists.gluster.org/mailman/listinfo/gluster-devel

[Gluster-devel] md-cache: May bug found in md-cache.c

2019-02-19 Thread David Spisla
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
Gluster-devel@gluster.org
https://lists.gluster.org/mailman/listinfo/gluster-devel