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

[Linux-cluster] Re: usage.txt hint



On Thursday 24 February 2005 10:03 am, Bruce Korb wrote:
> Hi,
> 
> I'm just getting started figuring this stuff out.

Another hint to the novice:  the kernel sources not only have to
be configured, but built as well!  Anyway, I did so and get
this in my build of the clustering software:

  CC [M]  /home/bkorb/RHCluster/build-cluster/gfs-kernel/src/gfs/quota.o
/home/bkorb/RHCluster/build-cluster/gfs-kernel/src/gfs/quota.c: \
 In function `print_quota_message':
/home/bkorb/RHCluster/build-cluster/gfs-kernel/src/gfs/quota.c:993: \
 warning: passing arg 2 of pointer to function makes integer from pointer without a cast
/home/bkorb/RHCluster/build-cluster/gfs-kernel/src/gfs/quota.c:993: \
 warning: passing arg 3 of pointer to function makes pointer from integer without a cast
/home/bkorb/RHCluster/build-cluster/gfs-kernel/src/gfs/quota.c:993: \
 error: too few arguments to function
make[5]: *** [/home/bkorb/RHCluster/build-cluster/gfs-kernel/src/gfs/quota.o] Error 1
make[4]: *** [_module_/home/bkorb/RHCluster/build-cluster/gfs-kernel/src/gfs] Error 2
make[4]: Leaving directory `/usr/src/linux-build'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/home/bkorb/RHCluster/build-cluster/gfs-kernel/src/gfs'
make[2]: *** [install] Error 2
make[2]: Leaving directory `/home/bkorb/RHCluster/build-cluster/gfs-kernel/src'
make[1]: *** [install] Error 2
make[1]: Leaving directory `/home/bkorb/RHCluster/build-cluster/gfs-kernel'
make: *** [all] Error 2

I can unwind the issue farther than the source below, but
if there is already a known issue & resolution, then I'd avoid
the bother:

static int
print_quota_message(struct gfs_sbd *sdp, struct gfs_quota_data *qd, char *type)
{
	ENTER(GFN_PRINT_QUOTA_MESSAGE)
	struct tty_struct *tty;
	char *line;
	int len;

	line = kmalloc(256, GFP_KERNEL);
	if (!line)
		RETURN(GFN_PRINT_QUOTA_MESSAGE, -ENOMEM);

	len = snprintf(line, 256, "GFS: fsid=%s: quota %s for %s %u\r\n",
		       sdp->sd_fsname, type,
		       (test_bit(QDF_USER, &qd->qd_flags)) ? "user" : "group",
		       qd->qd_id);

	if (current->signal) {
		tty = current->signal->tty;
		if (tty && tty->driver->write)
			tty->driver->write(tty, line, len);  <<--------- line at issue
//  Of course, the usage of "len" is bogus, too.  You have not verified
//  that "len" is less than 256.  If you a priori know it is less than
//  256, then you could as well use "sprintf" instead.
	}

	kfree(line);

	RETURN(GFN_PRINT_QUOTA_MESSAGE, 0);
}


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