On Jun 09, 2007 14:26 -0600, Lee Ward wrote:
> On Fri, 2007-06-08 at 17:27 -0600, Andreas Dilger wrote:
> > On Jun 08, 2007 15:38 -0600, Lee Ward wrote:
> > > There are no Lustre ioctl's of any kind implemented in liblustre. The
> > > Lustre client driver takes them but just returns an error. Maybe my info
> > > dated here? I admit it's been a coupe of months since I last looked at
> > > this.
> >
> > Actually, it is possible for a catamount client to use llapi_file_create()
> > to specify striping on a newly-created file, and that internally calls the
> > ioctl that the Lustre ADIO driver as presented here calls explicitly.
>
> In the code I have, calling the SYSIO supplied ioctl() routine in turn
> calls llu_iop_ioctl(), which does not have cases for {set,get}stripe
> operations.
>
> Are you saying that there is a special llapi_file_create for the XT
> machines that bypasses SYSIO?
No, this is actually implemented in llu_iop_ioctl() via bug 10291.
static int llu_iop_ioctl(struct inode *ino, unsigned long int request,
va_list ap)
{
:
:
case LL_IOC_LOV_SETSTRIPE:
arg = va_arg(ap, unsigned long);
rc = llu_lov_setstripe(ino, arg);
break;
case LL_IOC_LOV_GETSTRIPE:
arg = va_arg(ap, unsigned long);
rc = llu_lov_getstripe(ino, arg);
break;
:
:
}
I initially thought the reason you don't have this is that it was added in
1.4.7 (back in June 2006) but the version of Lustre you have installed is
based on Lustre 1.4.6. That said, looking in the Unicos 1.5.39 release I
see that this included, and my (sparse) history of Cray releases show it
was added around Unicos 1.4.30 or so.
Cheers, Andreas
--
Andreas Dilger
Principal Software Engineer
Cluster File Systems, Inc.
_______________________________________________
Lustre-discuss mailing list
[email protected]
https://mail.clusterfs.com/mailman/listinfo/lustre-discuss