Thomas,

This is expected, but it's also something we'd like to fix - See LU-9341.


Basically, append tries to instantiate the layout from 0 to infinity, and it 
fails because your layout is incomplete (ie doesn't go to infinity).

May I ask why you're creating a file with an incomplete layout?  Do you have a 
use case in mind?


- Patrick

________________________________
From: lustre-discuss <[email protected]> on behalf of 
LEIBOVICI Thomas <[email protected]>
Sent: Friday, February 22, 2019 10:27:48 AM
To: [email protected]
Subject: [lustre-discuss] EINVAL error when writing to a PFL file (lustre 
2.12.0)

Hello,

Is it expected to get an error when appending a PFL file made of 2
regions [0 - 1M] and [1M to 6M]
even if writing in this range?

I get an error when appending it, even when writting in the very first
bytes:

[root@vm0]# lfs setstripe  -E 1M -c 1 -E 6M -c 2 /mnt/lustre/m_fou3

[root@vm0]# lfs getstripe /mnt/lustre/m_fou3
/mnt/lustre/m_fou3
   lcm_layout_gen:    2
   lcm_mirror_count:  1
   lcm_entry_count:   2
     lcme_id:             1
     lcme_mirror_id:      0
     lcme_flags:          init
     lcme_extent.e_start: 0
     lcme_extent.e_end:   1048576
       lmm_stripe_count:  1
       lmm_stripe_size:   1048576
       lmm_pattern:       raid0
       lmm_layout_gen:    0
       lmm_stripe_offset: 3
       lmm_objects:
       - 0: { l_ost_idx: 3, l_fid: [0x100030000:0x9cf:0x0] }

     lcme_id:             2
     lcme_mirror_id:      0
     lcme_flags:          0
     lcme_extent.e_start: 1048576
     lcme_extent.e_end:   6291456
       lmm_stripe_count:  2
       lmm_stripe_size:   1048576
       lmm_pattern:       raid0
       lmm_layout_gen:    0
       lmm_stripe_offset: -1

[root@vm0]# stat -c %s /mnt/lustre/m_fou3
14

* append fails:

[root@vm0]# echo qsdkjqslkdjkj >> /mnt/lustre/m_fou3
bash: echo: write error: Invalid argument

# strace indicates that write() gets the error:

write(1, "qsdkjqslkdjkj\n", 14)         = -1 EINVAL (Invalid argument)

* no error in case of an open/truncate:

[root@vm0]# echo qsdkjqslkdjkj > /mnt/lustre/m_fou3

OK

Is it expected or should I open a ticket?

Thomas

_______________________________________________
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

Reply via email to