From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bob Peterson Date: Tue, 2 Jul 2013 08:39:06 -0400 (EDT) Subject: [Cluster-devel] gfs2-utils: master - mkfs.gfs2: Move the new rgrp creation code into libgfs2 In-Reply-To: <20130702092636.3ECC760DED@fedorahosted.org> References: <20130702092636.3ECC760DED@fedorahosted.org> Message-ID: <1983072178.106607948.1372768746625.JavaMail.root@redhat.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hi, Comments embedded. ----- Original Message ----- | mkfs.gfs2: Move the new rgrp creation code into libgfs2 (snip) | +// Temporary function to aid in API migration This ^ is a C++ comment, and should be: /* ... */ | + * rglen: The required length of the resource group. If its is 0 the default "If its is 0" should be "If it is 0" (Sorry: Grammar Nazi at work here. :) ) | + rg->ri.ri_length = rgblocks2bitblocks(rgs->bsize, rglen, &rg->ri.ri_data); | + rg->ri.ri_data0 = rg->ri.ri_addr + rg->ri.ri_length; | + rg->ri.ri_bitbytes = rg->ri.ri_data / GFS2_NBBY; | + rg->rg.rg_header.mh_magic = GFS2_MAGIC; | + rg->rg.rg_header.mh_type = GFS2_METATYPE_RG; | + rg->rg.rg_header.mh_format = GFS2_FORMAT_RG; I don't know if this memory gets zeroed out, but perhaps we should explicitly zero out rg->rg.rg_header.__pad0 as well. There have been times when we reused unused fields like this for things like generation numbers (mainly for debugging purposes) so I'd hate to have this value uninitialized. If the struct is zeroed out, don't worry about it. | +/** | + * Write a resource group to a file descriptor. | + * Returns 0 on success or non-zero on failure with errno set | + */ | +int lgfs2_rgrp_write(int fd, lgfs2_rgrp_t rg, unsigned bsize) | +{ | + ssize_t ret = 0; | + size_t len = rg->ri.ri_length * bsize; | + unsigned int i; | + const struct gfs2_meta_header bmh = { | + .mh_magic = GFS2_MAGIC, | + .mh_type = GFS2_METATYPE_RB, | + .mh_format = GFS2_FORMAT_RB, Here again, maybe we should set __pad0 explicitly rather than leaving the value uninitialized. The rest looks good to me. Regards, Bob Peterson Red Hat File Systems