From owner-freebsd-fs@freebsd.org Wed Sep 30 21:11:17 2015 Return-Path: Delivered-To: freebsd-fs@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E8916A0BA5D for ; Wed, 30 Sep 2015 21:11:17 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D54AC19A2 for ; Wed, 30 Sep 2015 21:11:17 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id t8ULBHSf089726 for ; Wed, 30 Sep 2015 21:11:17 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: freebsd-fs@FreeBSD.org Subject: [Bug 159402] [zfs][loader] symlinks cause I/O errors Date: Wed, 30 Sep 2015 21:11:18 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: kern X-Bugzilla-Version: 9.0-CURRENT X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: rg@progtech.net X-Bugzilla-Status: In Progress X-Bugzilla-Priority: Normal X-Bugzilla-Assigned-To: freebsd-fs@FreeBSD.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Sep 2015 21:11:18 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=159402 --- Comment #1 from Rolf Grossmann --- I'm also experiencing this problem. However my understanding of the zfs code ended when I couldn't find documentation on ZFS system attributes (other than the comment in /sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c). The problem seems (to my limited understanding) that symlinks are now stored in system attributes blocks instead of the physical znode. However the code in /sys/boot/zfs/zfsimpl.c uses some magical constants from /sys/cddl/boot/zfs/zfsimpl.h to determine e.g. the file type in zfs_dnode_stat(). However when zfs_lookup() hits a symlink, it doesn't check for the SA block. Instead it finds that the link target can't be in dn_bonus (even clang notices) and tries to read file contents for it. Of course there aren't any, which results in the error message. Now id anybody could point out how to get the link data offset in the SA block, I'd prepare a patch. The zfs_sa_readlink() function in /sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_sa.c did not help :( -- You are receiving this mail because: You are the assignee for the bug.