Bug 1566207 - Linux kernel untar failed with "xz: (stdin): Read error: Invalid argument" immediate after add-brick
Summary: Linux kernel untar failed with "xz: (stdin): Read error: Invalid argument" im...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: distribute
Version: mainline
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
Assignee: Susant Kumar Palai
QA Contact:
URL:
Whiteboard:
Depends On: 1563692
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-04-11 19:00 UTC by Susant Kumar Palai
Modified: 2018-06-20 18:04 UTC (History)
5 users (show)

Fixed In Version: glusterfs-v4.1.0
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1563692
Environment:
Last Closed: 2018-06-20 18:04:29 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Comment 1 Susant Kumar Palai 2018-04-11 19:01:33 UTC
Description of problem:
=======================
Linux kernel untar failed with "xz: (stdin): Read error: Invalid argument" immediate after add-brick

linux-4.4.36/arch/arm/boot/dts/imx28-cfa10058.dts
linux-4.4.36/arch/arm/boot/dts/imx28-duckbill.dts
xz: (stdin): Read error: Invalid argument
linux-4.4.36/arch/arm/boot/dts/imx28-eukrea-mbmx283lc.dts
linux-4.4.36/arch/arm/boot/dts/imx28-eukrea-mbmx287lc.dts
linux-4.4.36/arch/arm/boot/dts/imx28-eukrea-mbmx28lc.dtsi
linux-4.4.36/arch/arm/boot/dts/imx28-evk.dts
linux-4.4.36/arch/arm/boot/dts/imx28-m28.dtsi
linux-4.4.36/arch/arm/boot/dts/imx28-m28cu3.dts
linux-4.4.36/arch/arm/boot/dts/imx28-m28evk.dts
linux-4.4.36/arch/arm/boot/dts/imx28-pinfunc.h
linux-4.4.36/arch/arm/boot/dts/imx28-sps1.dts
linux-4.4.36/arch/arm/boot/dts/imx28-tx28.dts
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now


How reproducible:
=================
2/2

Steps to Reproduce:
===================
1) create a x3 volume and start it.
2) FUSE mount on multiple clients (here used 2 servers as clients out of 4).
3) from one client start linux-4.4.36.tar.xz untar and from another client start  sending "ls -lRt" in a loop.
4) Now add bricks to the volume.

Actual results:
===============
Linux kernel untar failed with "xz: (stdin): Read error: Invalid argument" 

Expected results:
=================
Untar should not fail during add-brick

Comment 2 Worker Ant 2018-04-11 19:10:13 UTC
REVIEW: https://review.gluster.org/19849 (fuse: do fd_resolve in fuse_getattr if fd is received) posted (#2) for review on master by Susant Palai

Comment 3 Worker Ant 2018-04-18 15:04:36 UTC
COMMIT: https://review.gluster.org/19849 committed in master by "Raghavendra G" <rgowdapp> with a commit message- fuse: do fd_resolve in fuse_getattr if fd is received

problem: With the current code, post graph switch the old fd is received for
fuse_getattr and since it is associated with old inode, it does not
have the inode ctx across xlators in new graph. Hence, dht
errored out saying "no layout" for fstat call. Hence the EINVAL.

Solution: if fd is passed, init and resolve fd to carry on getattr

test case:
- Created a single brick distributed volume
- Started untar
- Added a new-brick

Without this fix, untar used to abort with ERROR.

Change-Id: I5805c463fb9a04ba5c24829b768127097ff8b9f9
fixes: bz#1566207
Signed-off-by: Susant Palai <spalai>

Comment 4 Shyamsundar 2018-06-20 18:04:29 UTC
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-v4.1.0, please open a new bug report.

glusterfs-v4.1.0 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution.

[1] http://lists.gluster.org/pipermail/announce/2018-June/000102.html
[2] https://www.gluster.org/pipermail/gluster-users/


Note You need to log in before you can comment on or make changes to this bug.