Hi,

----- Original Message -----
| Add rg_data0, rg_data and rg_bitbytes to struct gfs2_rgrp. The fields
| are identical to their counterparts in struct gfs2_rindex and are
| intended to reduce the use of the rindex. For now the fields are only
| written back as the in-memory equivalents in struct gfs2_rgrpd are set
| using values from the rindex. However, they are needed at this point so
| that userspace can make use of them, allowing a migration away from the
| rindex over time.
| 
| The new fields take up previously reserved space which was explicitly
| zeroed on write so, in clusters with mixed kernels, these fields could
| get zeroed after being set and this should not be treated as an error.
| 
| Signed-off-by: Andrew Price <[email protected]>
(snip)
| @@ -1053,6 +1054,10 @@ static void gfs2_rgrp_out(struct gfs2_rgrpd *rgd, void
| *buf)
|       if (next != NULL && next->rd_addr > rgd->rd_addr)
|               str->rg_skip = cpu_to_be32(next->rd_addr - rgd->rd_addr);
|       str->rg_igeneration = cpu_to_be64(rgd->rd_igeneration);
| +     str->rg_data0 = cpu_to_be64(rgd->rd_data0);
| +     str->rg_data = cpu_to_be64(rgd->rd_data);
| +     str->rg_bitbytes = cpu_to_be64(rgd->rd_bitbytes);

These last two should be cpu_to_be32() not 64()

Regards,

Bob Peterson
Red Hat File Systems

Reply via email to