From owner-freebsd-bugs@FreeBSD.ORG Fri Apr 3 07:54:27 2015 Return-Path: Delivered-To: freebsd-bugs@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 354D4585 for ; Fri, 3 Apr 2015 07:54:27 +0000 (UTC) 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 1BE4314A for ; Fri, 3 Apr 2015 07:54:27 +0000 (UTC) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.14.9/8.14.9) with ESMTP id t337sQJe044900 for ; Fri, 3 Apr 2015 07:54:26 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 199140] unlinking symlinks oddly slow on UFS Date: Fri, 03 Apr 2015 07:54:27 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: kern X-Bugzilla-Version: 9.3-RELEASE X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: sigsys@gmail.com X-Bugzilla-Status: New X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: freebsd-bugs@FreeBSD.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform op_sys bug_status bug_severity priority component assigned_to reporter Message-ID: 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-1 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Apr 2015 07:54:27 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=199140 Bug ID: 199140 Summary: unlinking symlinks oddly slow on UFS Product: Base System Version: 9.3-RELEASE Hardware: Any OS: Any Status: New Severity: Affects Only Me Priority: --- Component: kern Assignee: freebsd-bugs@FreeBSD.org Reporter: sigsys@gmail.com On a UFS2 filesystem with soft updates, deleting a directory of thousands of symlinks is hundreds of times slower than deleting regular files. It looks like the writes are synchronous. $ mkdir test1 && for f in `seq 5000`; do touch "test1/$f"; done $ mkdir test2 && for f in `seq 5000`; do echo test > "test2/$f"; done $ mkdir test3 && for f in `seq 5000`; do ln -s test "test3/$f"; done $ sync $ time rm -r test1 0.20 real 0.01 user 0.17 sys $ time rm -r test2 0.30 real 0.00 user 0.25 sys $ time rm -r test3 94.73 real 0.02 user 0.72 sys But if the symlinks are made large enough that their targets cannot be stored in the inode directly, then unlinking them is fast! $ test="$(perl -e 'print "x"x1023')" $ mkdir test4 && for f in `seq 5000`; do ln -s "$test" "test4/$f"; done $ time rm -r test4 0.17 real 0.00 user 0.17 sys -- You are receiving this mail because: You are the assignee for the bug.