No error will be returned on open since O_LOV_DELAY_CREATE for modern Lustre is just a combination of regular flags that do not make sense for regular files and would typically be ignored.
Cheers, Andreas > On May 4, 2016, at 13:57, John Bauer <[email protected]> wrote: > > Andreas, > > I was wondering about that. Does the same apply to specifying > O_LOV_DELAY_CREATE in of flags? > Thanks. > > John > > Sent from my iPhone > >> On May 4, 2016, at 2:49 PM, Dilger, Andreas <[email protected]> wrote: >> >> If you want to reduce the syscall count, then calling statfs() for each file >> is not strictly necessary. If you are calling the >> ioctl(LL_IOC_LOV_SETSTRIPE) then this is virtually guaranteed to fail on >> anything but Lustre (both because the ioctl number isn't assigned to >> anything else in the kernel, and because the data passed should be validated >> by anything else using the ioctl). >> >> Cheers, Andreas >> -- >> Andreas Dilger >> Lustre Principal Architect >> Intel High Performance Data Division >> >> On 2016/05/04, 13:09, "John Bauer" >> <[email protected]<mailto:[email protected]>> wrote: >> >> >> Andreas, >> >> Thanks again for the reply. I will have a look at this and see if I can fit >> it into my library. Having a look at the code for llapi_file_open at >> review.whamcloud.com it seems the most important error to check is that the >> file is on a Lustre file system. I will make the check by calling statfs ( >> after the file is opened/created ) and checking >> fsinfo.f_type==LUSTRE_SUPER_MAGIC. >> >> John >> >> On 5/3/2016 2:43 PM, Dilger, Andreas wrote: >> >> You can open files with O_LOV_DELAY_CREATE to delay layout assignment, and >> then use ioctl(fd, LL_IOC_LOV_SETSTRIPE, lum) to specify the striping >> afterward, but this misses a lot of the error checking and other layout >> handling in llapi_file_open() and friends. >> >> We haven't had a request for llapi_fd_set_stripe() and/or >> llapi_layout_fd_set() or similar, but I can see that this would be useful. >> Could you please file an improvement request for this in Jira. >> >> Cheers, Andreas >> -- >> Andreas Dilger >> Lustre Principal Architect >> Intel High Performance Data Division >> >> On 2016/05/03, 06:23, "John Bauer" >> <[email protected]<mailto:[email protected]><mailto:[email protected]><mailto:[email protected]>> >> wrote: >> >> >> Has any there been any discussion as to allowing a user to modify the >> striping of a file until the first extent is made? There are a lot of opens >> that can not be easily replaced with llapi_file_open(), such as openat() >> family, mkstemp() family, and fopen() family. >> >> It seems that it should be feasible to change the file's striping even after >> the file is created but not written to. >> >> It would be really handy to have a function llapi_fd_set_stripe( int fd, ... >> ) to set the striping for a file that has been opened but not written to. I >> have gotten past my immediate need for setting the striping of a file opened >> with fopen64() by doing the llapi_file_open() and then using the resulting >> fd in fdopen(). But this approach is not applicable to all listed above. >> >> >> Thanks, John >> >> -- >> I/O Doctors, LLC >> 507-766-0378 >> [email protected]<mailto:[email protected]><mailto:[email protected]><mailto:[email protected]> >> >> >> -- >> I/O Doctors, LLC >> 507-766-0378 >> [email protected]<mailto:[email protected]> > _______________________________________________ > lustre-discuss mailing list > [email protected] > http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org _______________________________________________ lustre-discuss mailing list [email protected] http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org
