[LU-3518] liblustreapi.a not forward compatible between 2.1.5 and 2.3.0 (maybe others) Created: 26/Jun/13  Updated: 21/Apr/14  Resolved: 21/Apr/14

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.3.0, Lustre 2.1.5
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: Paul Kolano Assignee: Hongchao Zhang
Resolution: Duplicate Votes: 0
Labels: mn1
Environment:

client215[501]~> uname -a
Linux client215 2.6.32.54-0.3.1.20120223-nasa #1 SMP Fri Feb 24 00:06:41 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

client215[503]~> cat /etc/SuSE-release
SUSE Linux Enterprise Server 11 (x86_64)
VERSION = 11
PATCHLEVEL = 1

client215[504]~> rpm -qf /usr/lib64/liblustreapi.a
lustre-client-2.1.5-1nasC_ofed154_2.6.32.54_0.3.1.20120223_nasa

client230[615]~> uname -a
Linux client230 3.0.74-0.6.6.2.20130516-nasuv #1 SMP Fri May 17 02:07:25 UTC 2013 (395d734) x86_64 x86_64 x86_64 GNU/Linux

client230[616]~> cat /etc/SuSE-release
SUSE Linux Enterprise Server 11 (x86_64)
VERSION = 11
PATCHLEVEL = 2

client230[617]~> rpm -qf /usr/lib64/liblustreapi.a
lustre-client-2.3.0-3nasC_ofed154_3.0.74_0.6.6.2.20130516_nasuv


Issue Links:
Duplicate
duplicates LU-812 Support for Linux 3.0 kernels Resolved
Severity: 3
Rank (Obsolete): 8851

 Description   

Binaries utilizing liblustreapi.a compiled with 2.1.5 do not function
properly with 2.3.0. This may affect other versions as well, but these
are what we're currently running.

Here is a simple reproducer (call bug.c):

#include <stdio.h>
#include <lustre/liblustreapi.h>

int main(int argc, char *argv[]) {
// set stripe count to 2 with default stripe size
if (llapi_file_create(argv[1], 0, -1, 2, 0))

{ perror("problem"); }

}

Compile as follows:

gcc bug.c -Wl,-Bstatic -llustreapi -Wl,-Bdynamic

Give a non-existing file name on lustre as an argument. When you
compile on a 2.1.5 system, it works fine on 2.1.5 systems:

client215[556]/nobackupp2/user1> ~/a.out aaa
client215[557]/nobackupp2/user1>

but gives a bogus error on 2.3.0 systems:

client230[590]/nobackupp2/pkolano> ~/a.out bbb
error on ioctl 0x4008669a for 'bbb' (3): stripe already set
problem: File exists

When you compile on a 2.3.0 system, it works fine on both:

client215[568]/nobackupp2/user1> ~/a.out aaa
client215[569]/nobackupp2/user1>

client230[602]/nobackupp2/user1> ~/a.out bbb
client230[603]/nobackupp2/user1>



 Comments   
Comment by Peter Jones [ 27/Jun/13 ]

Hongchao

Could you please help with this one?

Thanks

Peter

Comment by Hongchao Zhang [ 28/Jun/13 ]

status update:
the cause of the issue was not clear yet, could need some more time
to investigate, will update it once there is any progress, thanks.

Comment by Hongchao Zhang [ 01/Jul/13 ]

the issue could be related to OS, I have tried it on RHEL5 (2.6.18-348) and RHEL6 (2.6.32-279.2.1), it's okay.
did you ever encounter this issue on other platform except SUSE?

Comment by Peter Jones [ 01/Jul/13 ]

Hongchao

Why don't you try to reproduce on SLES yourself?

Peter

Comment by Hongchao Zhang [ 03/Jul/13 ]

this issue is caused by the conflict between O_LOV_DELAY_CREATE and FMODE_NONOTIFY (introduced since 2.6.36).
the patch http://review.whamcloud.com/#/c/3779/ in LU-812 has fixed it.

Comment by Hongchao Zhang [ 10/Jul/13 ]

the patch against b2_1 is tracked at http://review.whamcloud.com/#/c/6933/

Comment by Jay Lan (Inactive) [ 18/Nov/13 ]

Your patch worked for us.

One concern. If this patch is landed to b2_1, wouldn't it make later 2.1.x release binary incompatible with releases without the patch?

Comment by Hongchao Zhang [ 26/Nov/13 ]

Hi,
Yes, the binary built against the b2_1 without the patch would be incompatible about the flag O_LOV_DELAY_CREATE.
and it will affect the applications using this flag and won't affect the server side for the patch only affects the clients.

Comment by John Fuchs-Chesney (Inactive) [ 08/Mar/14 ]

Jay,
Did we get this answered to your satisfaction?
If so, can I go ahead and mark the ticket as resolved?
Thanks,
~ jfc.

Comment by Peter Jones [ 21/Apr/14 ]

Seems to be a duplicate of LU-812

Generated at Sat Feb 10 01:34:36 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.