[lustre-discuss] Wrong striping when creating files inside a directory with explicit layout

Santiago Freire - InCo sfreire at fing.edu.uy
Sun Dec 7 10:24:48 PST 2025


Hello everyone.

I am observing unexpected behavior regarding file striping in a 
directory that has an explicitly configured layout. I'm launching an 
application that writes *new *files on a given directory, which is empty 
and I previously set its layout using |lfs setstripe| with a fixed 
stripe count, stripe size, and a specific set of OSTs (command lfs 
setstripe -S 4M -c 3 -o 1,2,3 target_directory). Running simple tools 
such as |dd| inside that directory produces files with the correct 
stripe pattern, checked using lfs getstripe.

However, when my application creates new files in that same directory, 
*all* of those files end up with a different layout: some are created 
with a stripe count of 1 and almost always put in the OST with index 1, 
others are placed n OSTs that are not part of the directory’s configured 
offset/OST set (for example, striped across OSTs 0, 1 and 2). This 
happens even though the files did not exist beforehand and the directory 
was empty with the correct striping applied. The application creates 
files with standard POSIX I/O (|open()| followed by appends and writes), 
nothing exotic or MPI-IO-related.

Given that the directory layout is correct and tools like |dd| follow it 
reliably, I am trying to understand under what circumstances Lustre 
would ignore the directory’s default layout when creating new regular 
files. I would appreciate any insight or guidance on what might explain 
this behaviour, and how could I fix it.

I'm using Lustre 2.15.7, with RHEL 9.6 for the clients and RHEL 8.10 for 
the OSSs/MDS/MGS.

Thank you very much in advance.

Best regards,
Santiago

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lustre.org/pipermail/lustre-discuss-lustre.org/attachments/20251207/7def9a14/attachment.htm>


More information about the lustre-discuss mailing list