tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Adding functions to libutil, part 1
Hi Michael,
On Fri, Jun 21, 2024 at 05:50:56AM -0000, Michael van Elst wrote:
> reinoud%netbsd.org@localhost (Reinoud Zandijk) writes:
>
> > int getdiskinfo(const char *s, int fd, const char *dt, struct disk_geom *geo,
> > struct dkwedge_info *dkw);
> > int getdisksize(const char *name, u_int *secsize, off_t *mediasize);
>
>
> There are kernel functions of the same name:
>
> int getdiskinfo(struct vnode *vp, struct dkwedge_info *dkw)
> int getdisksize(struct vnode *vp, uint64_t *numsecp, unsigned int *secsizep);
>
> Maybe these should be aligned somewhat (starting with argument order).
That would be more sane yes; the whole arguments for getdiskinfo are now
(name of device, filehandle, fstab type, disk_geom return, dkwedge_info return).
The name is only used for error printing and it could at least use the
filehandle for fstat() :) The optional disktab entry is a bit ... odd; its
only function seems to be to error out if it not known and the result is not
even used. This argument is only used by newfs{,_ext2fs, _lfs} and I think
this parameter can go.
More sane would be:
int getdiskinfo(int fd, struct disk_geom *geo, struct dkwedge_info *dkw);
with dkwedge_info still at the end as it is optional. getdisksize() could be
removed as it doesn't have callers in userland anyway.
> IMO moving the functionality into libutil is a good thing. But just
> moving the code (and multiplying its users) is maybe not.
Indeed.
Reinoud
Home |
Main Index |
Thread Index |
Old Index