Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 11 Apr 2009 21:14:01 -0700
From:      Tim Kientzle <kientzle@freebsd.org>
To:        John Nielsen <lists@jnielsen.net>
Cc:        freebsd-current@freebsd.org
Subject:   Re: ZFS/extattr lockup (was Re: bsdtar lockup on Current-03/10/2009)
Message-ID:  <49E16A89.3030108@freebsd.org>
In-Reply-To: <200903112229.41052.lists@jnielsen.net>
References:  <200903100104.53847.ken__6247.10998167775$1236647281$gmane$org@mthelicon.com>	<200903102310.32735.lists@jnielsen.net>	<49B73F99.9010200@freebsd.org> <200903112229.41052.lists@jnielsen.net>

next in thread | previous in thread | raw e-mail | index | archive | help
John Nielsen wrote:
> On Wednesday 11 March 2009 12:35:37 am Tim Kientzle wrote:
>> John Nielsen wrote:
>>> I today noticed the same problem on -CURRENT i386 built March 9.
>>> ...  using ZFS and initially
>>> thought that was the source of the regression but I haven't produced
>>> the lockup with anything but tar and the extattr removal hack seems
>>> to have fixed it for now ...
>> The common element so far seems to be ZFS.  Can you verify that
>>
>>    $ lsextattr -h user <filename>
>>
>> hangs on your system as well?  That invokes the same
>> extattr_list_link system call used by tar to enumerate
>> the extended attributes on a file.
> 
> Confirmed. I ran the command on a file in /root (UFS) with no problem. 
> Running again on a file in /home/john (ZFS) caused the hang.

John Baldwin committed a fix for the ZFS problem
(r189967, 2009-03-18 16:19:44UTC), so this should be fixed.

Could you verify that lsextattr no longer hangs
the kernel after this point?

Could you verify that re-enabling extended attribute
archiving in tar no longer hangs?

I'd like to enable the extended attribute support
in tar for real if this is really fixed.

Thanks,

Tim

P.S.  Here's the patch to enable extended attribute
archiving in tar:

Index: lib/libarchive/config_freebsd.h
===================================================================
--- config_freebsd.h    (revision 190954)
+++ config_freebsd.h    (working copy)
@@ -34,12 +34,8 @@
  #define        HAVE_ACL_SET_FD_NP 1
  #define        HAVE_ACL_SET_FILE 1
  #define        HAVE_ACL_USER 1
-#if 0
-/* XXX Temporarily disable support for reading extended attributes from
- * disk, as it seems to be badly broken on ZFS. XXX */
  #define        HAVE_EXTATTR_GET_FILE 1
  #define        HAVE_EXTATTR_LIST_FILE 1
-#endif
  #define        HAVE_EXTATTR_SET_FD 1
  #define        HAVE_EXTATTR_SET_FILE 1
  #define        HAVE_SYS_ACL_H 1




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49E16A89.3030108>