From owner-freebsd-fs@FreeBSD.ORG Sat Mar 26 09:02:11 2005 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6B50216A4CE; Sat, 26 Mar 2005 09:02:11 +0000 (GMT) Received: from salmon.maths.tcd.ie (salmon.maths.tcd.ie [134.226.81.11]) by mx1.FreeBSD.org (Postfix) with SMTP id 63E2E43D1D; Sat, 26 Mar 2005 09:02:10 +0000 (GMT) (envelope-from dwmalone@maths.tcd.ie) Received: from walton.maths.tcd.ie by salmon.maths.tcd.ie with SMTP id ; 26 Mar 2005 09:02:09 +0000 (GMT) To: David Schultz In-reply-to: Your message of "Fri, 25 Mar 2005 22:10:18 EST." <20050326031018.GB41481@VARK.MIT.EDU> Date: Sat, 26 Mar 2005 09:02:09 +0000 From: David Malone Message-ID: <200503260902.ab77979@salmon.maths.tcd.ie> cc: freebsd-fs@FreeBSD.ORG Subject: Re: UFS Subdirectory limit. X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Mar 2005 09:02:11 -0000 > - make a new st_nlink field that's 32 bits and put it in the spare > 32-bit field in struct stat > - rename the old st_nlink to st_onlink and leave it at 16 bits > - the kernel would fill in st_onlink with max(st_nlink,SHORT_MAX) Hmmm - interesting - I hadn't realised there was spare space in struct stat. I guess we could get away with this and there's space in both ufs1 and ufs2 inodes. I think we'd need to redefinte nlink_t, which would need an ABI bump. One problem I can think of might be non-obvious failures of old programs on directories with lots of subdirectories. The hacky scheme ends up with a link count on 2 on all directories, which produces a reasonably obvious failure. David.