From owner-freebsd-bugs@FreeBSD.ORG Thu Jul 24 20:40:35 2014 Return-Path: Delivered-To: freebsd-bugs@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id CD5E4248 for ; Thu, 24 Jul 2014 20:40:35 +0000 (UTC) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B56B32613 for ; Thu, 24 Jul 2014 20:40:35 +0000 (UTC) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.14.8/8.14.8) with ESMTP id s6OKeZQX081109 for ; Thu, 24 Jul 2014 20:40:35 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 121656] [libc] [patch] telldir(3) issues Date: Thu, 24 Jul 2014 20:40:35 +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: 7.0-RELEASE X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: jhb@FreeBSD.org X-Bugzilla-Status: In Discussion X-Bugzilla-Priority: Normal X-Bugzilla-Assigned-To: freebsd-bugs@FreeBSD.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cc 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-bugs@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Jul 2014 20:40:35 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=121656 John Baldwin changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jhb@FreeBSD.org --- Comment #5 from John Baldwin --- Much of this patch is not needed. The existing dd_td list is already per-directory instead of being a global cache table. Also, the problem description is not at all clear. I think one of the root bugs is that if you call 'seekdir() followed by telldir()', POSIX requires the return value of telldir() to match the value passed to seekdir(). Fixing this means removing the (I think dubious) SINGLEUSE code and fixing telldir() to look for an existing loc structure for the current position instead of always allocating a new one. That should be a much smaller patch. The only additional complication is if the dd_loc list should instead be changed so it is easier to locate an existing loc for the current position (i.e. either sorting the list or using a hash table) -- You are receiving this mail because: You are the assignee for the bug.