2006-12-18 06:10:05

by Chuck Ebbert

[permalink] [raw]
Subject: 2.6.19.1 bug? tar: file changed as we read it

Trying to backup up a filesystem mounted via CIFS, I got these messages
from tar:

tar: t/2.6.10-orig/net/ipv4/netfilter/ipt_CONNMARK.c: File shrank by 1178 bytes; padding with zeros
tar: t/2.6.10-orig/net/ipv4/netfilter/ipt_TCPMSS.c: File shrank by 4177 bytes; padding with zeros
tar: t/2.6.10-orig/net/ipv4/netfilter/ipt_DSCP.c: File shrank by 1172 bytes; padding with zeros
tar: t/2.6.10-orig/net/ipv4/netfilter/ipt_tos.c: file changed as we read it
tar: t/2.6.10-orig/net/ipv4/netfilter/ipt_ECN.c: File shrank by 1638 bytes; padding with zeros
tar: t/2.6.10-orig/net/ipv4/netfilter/ipt_mark.c: file changed as we read it
tar: t/2.6.10-orig/net/ipv6/netfilter/ip6t_mark.c: file changed as we read it

This was with kernel 2.6.19.1 SMP on x86_64, creating a tar file on a local
jfs filesystem (t is the source path on a cifs mount.)

Using 2.6.18.6-pre2 uniprocessor i386, with smbfs instead of cifs, everything
works fine so I'm pretty sure the server is OK.

Does this match any known problems?

--
MBTI: IXTP


2006-12-18 07:37:06

by Avi Kivity

[permalink] [raw]
Subject: Re: 2.6.19.1 bug? tar: file changed as we read it

Chuck Ebbert wrote:
> Trying to backup up a filesystem mounted via CIFS, I got these messages
> from tar:
>
> tar: t/2.6.10-orig/net/ipv4/netfilter/ipt_CONNMARK.c: File shrank by 1178 bytes; padding with zeros
> tar: t/2.6.10-orig/net/ipv4/netfilter/ipt_TCPMSS.c: File shrank by 4177 bytes; padding with zeros
> tar: t/2.6.10-orig/net/ipv4/netfilter/ipt_DSCP.c: File shrank by 1172 bytes; padding with zeros
> tar: t/2.6.10-orig/net/ipv4/netfilter/ipt_tos.c: file changed as we read it
> tar: t/2.6.10-orig/net/ipv4/netfilter/ipt_ECN.c: File shrank by 1638 bytes; padding with zeros
> tar: t/2.6.10-orig/net/ipv4/netfilter/ipt_mark.c: file changed as we read it
> tar: t/2.6.10-orig/net/ipv6/netfilter/ip6t_mark.c: file changed as we read it
>
> This was with kernel 2.6.19.1 SMP on x86_64, creating a tar file on a local
> jfs filesystem (t is the source path on a cifs mount.)
>
> Using 2.6.18.6-pre2 uniprocessor i386, with smbfs instead of cifs, everything
> works fine so I'm pretty sure the server is OK.
>
> Does this match any known problems?
>

In 2.6.20-rc1, some of these files have other files with the same name
in the same directory (modulo case). Perhaps this is confusing cifs.

Can you check where all of the files in your case share that property?

example:

[avi@firebolt linux-2.6]$ find net -iname ipt_tos.c
net/ipv4/netfilter/ipt_TOS.c
net/ipv4/netfilter/ipt_tos.c

[avi@firebolt linux-2.6]$ find net -iname ipt_ecn.c
net/ipv4/netfilter/ipt_ECN.c
net/ipv4/netfilter/ipt_ecn.c


--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.

2006-12-18 16:18:46

by Chuck Ebbert

[permalink] [raw]
Subject: Re: 2.6.19.1 bug? tar: file changed as we read it

In-Reply-To: <[email protected]>

On Mon, 18 Dec 2006 09:17:32 +0200, Ava Kivity wrote:

> In 2.6.20-rc1, some of these files have other files with the same name
> in the same directory (modulo case). Perhaps this is confusing cifs.
>
> Can you check where all of the files in your case share that property?
>
> example:
>
> [avi@firebolt linux-2.6]$ find net -iname ipt_tos.c
> net/ipv4/netfilter/ipt_TOS.c
> net/ipv4/netfilter/ipt_tos.c
>
> [avi@firebolt linux-2.6]$ find net -iname ipt_ecn.c
> net/ipv4/netfilter/ipt_ECN.c
> net/ipv4/netfilter/ipt_ecn.c

Yes, that's it.

Using smbfs, both files have the same size and contents even though
they're really different:

$ ll ipt_dscp* ipt_DSCP*
-r--r----- 1 me me 2753 Jan 29 2004 ipt_dscp.c
-r--r----- 1 me me 2753 Jan 29 2004 ipt_DSCP.c
$ ll ipt_dscp.c ipt_DSCP.c
-r--r----- 1 me me 2753 Jan 29 2004 ipt_dscp.c
-r--r----- 1 me me 2753 Jan 29 2004 ipt_DSCP.c

With cifs, a directory search shows different sizes but opening
them by name gives identical contents:

$ ll ipt_dscp* ipt_DSCP*
-r-------- 1 me me 1581 Jan 28 2004 ipt_dscp.c
-r-------- 1 me me 2753 Jan 29 2004 ipt_DSCP.c
$ ll ipt_dscp.c ipt_DSCP.c
-r-------- 1 me me 1581 Jan 28 2004 ipt_dscp.c
-r-------- 1 me me 1581 Jan 28 2004 ipt_DSCP.c
$ diff ipt_dscp.c ipt_DSCP.c
$

So where is the bug? On the server?

--
MBTI: IXTP

2006-12-18 16:41:53

by simo

[permalink] [raw]
Subject: Re: [linux-cifs-client] Re: 2.6.19.1 bug? tar: file changed as we read it

On Mon, 2006-12-18 at 11:13 -0500, Chuck Ebbert wrote:

> With cifs, a directory search shows different sizes but opening
> them by name gives identical contents:
>
> $ ll ipt_dscp* ipt_DSCP*
> -r-------- 1 me me 1581 Jan 28 2004 ipt_dscp.c
> -r-------- 1 me me 2753 Jan 29 2004 ipt_DSCP.c
> $ ll ipt_dscp.c ipt_DSCP.c
> -r-------- 1 me me 1581 Jan 28 2004 ipt_dscp.c
> -r-------- 1 me me 1581 Jan 28 2004 ipt_DSCP.c
> $ diff ipt_dscp.c ipt_DSCP.c
> $
>
> So where is the bug? On the server?

What is the server?
Samba? Which vertsion?
Do you use unix extensions? Or "case sensitive = yes" ?

Simo.

--
Simo Sorce
Samba Team GPL Compliance Officer
email: [email protected]
http://samba.org