Re: md-cache: May bug found in md-cache.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Amar,

 

it should be done. Thank you for the explanation

 

Regards

David

 

Von: Amar Tumballi Suryanarayan <atumball@xxxxxxxxxx>
Gesendet: Mittwoch, 20. Februar 2019 14:55
An: David Spisla <david.spisla@xxxxxxxxxxxx>
Cc: Gluster Devel <gluster-devel@xxxxxxxxxxx>
Betreff: Re: [Gluster-devel] md-cache: May bug found in md-cache.c

 

Hi David,

 

 

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 <david.spisla@xxxxxxxxxxxx> wrote:

Hello Amar,

 

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

 

Regards

David

 

Von: Amar Tumballi Suryanarayan <atumball@xxxxxxxxxx>
Gesendet: Mittwoch, 20. Februar 2019 14:18
An: David Spisla <spisla80@xxxxxxxxx>
Cc: Gluster Devel <gluster-devel@xxxxxxxxxxx>
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 <spisla80@xxxxxxxxx> wrote:

Hello,

 

I already open a bug:

 

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 <spisla80@xxxxxxxxx>:

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


 

--

Amar Tumballi (amarts)


 

--

Amar Tumballi (amarts)

_______________________________________________
Gluster-devel mailing list
Gluster-devel@xxxxxxxxxxx
https://lists.gluster.org/mailman/listinfo/gluster-devel

[Index of Archives]     [Gluster Users]     [Ceph Users]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux