From owner-freebsd-fs@FreeBSD.ORG Wed Dec 1 09:12:19 2010 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5C89D106564A for ; Wed, 1 Dec 2010 09:12:19 +0000 (UTC) (envelope-from gleb.kurtsou@gmail.com) Received: from mail-ew0-f54.google.com (mail-ew0-f54.google.com [209.85.215.54]) by mx1.freebsd.org (Postfix) with ESMTP id E09648FC08 for ; Wed, 1 Dec 2010 09:12:18 +0000 (UTC) Received: by ewy24 with SMTP id 24so3465722ewy.13 for ; Wed, 01 Dec 2010 01:12:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:date:from:to:subject :message-id:mime-version:content-type:content-disposition:user-agent; bh=3PQmuwGgOOeBrsxbkqDj5RgqJaF5C8nwKOcFbLsXyIU=; b=c4eUXtaKCVkdF/t6/dnDf+PDX7qOiQZth5l7mbYeY8ps0//H96Pdx56tP1DHBPhLi0 bxfiBNAdKinfCFaloNLhAuSnuQCR+vteLFI9GU1cT+h+pvQVaNHIMS3nQTZqcylyWGBu xntNnweLO6NInFU4Ek8yTUyruRd2A0kOfG3GI= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:from:to:subject:message-id:mime-version:content-type :content-disposition:user-agent; b=YaGjv7rMgyTsDBuToDm/W4/WrHsEmEyB7C9Gh2HCPgy93LLb+wpvyBYAFuxJcZkdbD Iaf3sjgq/mt6pUT32mauOx1FsiOBoGWosjcY1GP+cNkhGtVzqshta31tcZA40LUO/XjZ OG43QWmBiI7J2xBAA0tvCKPwSD1YMME4JAvDo= Received: by 10.213.15.135 with SMTP id k7mr9699931eba.76.1291194737690; Wed, 01 Dec 2010 01:12:17 -0800 (PST) Received: from localhost ([212.98.186.134]) by mx.google.com with ESMTPS id q58sm7315185eeh.3.2010.12.01.01.12.16 (version=TLSv1/SSLv3 cipher=RC4-MD5); Wed, 01 Dec 2010 01:12:17 -0800 (PST) Date: Wed, 1 Dec 2010 11:12:03 +0200 From: Gleb Kurtsou To: freebsd-fs@freebsd.org Message-ID: <20101201091203.GA3933@tops> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) Subject: [rfc] 64-bit inode numbers X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Dec 2010 09:12:19 -0000 Hi, I've been working on adding support for 64 bit ino_t and 32 bit nlink_t. I have a patchset which is still work in progress, but I wasn't able to find time to continue the project for a month already. Notes: * Keep using 32 bit inodes in UFS and UFS boot code: UFS is a critical component and switching it to 64bit ino_t won't improve anything * Don't use nlink_t in UFS on-disk structs, introduce ufs_ino_t * Deprecate incomplete set of NetBSD emulation nstat* syscalls. Remove COMPAT_FREEBSD32 support which was never functional, mark as COMPAT8 * Implement both kernel level and libc compatibility shims, support COMPAT_FREEBSD32 * Add d_off (now unused) to struct dirent to facilitate removing cookies argument from VOP_READDIR. (both OpenSolaris and Linux do the same) * Libc compatibility shims for struct dirent users Tar archive of individual patches to make review easier. First several patches are bug fixes and can be commited as they are: https://github.com/downloads/glk/freebsd-ino64/freebsd-ino64-patch.tgz The same but as a single patch: https://github.com/downloads/glk/freebsd-ino64/freebsd-ino64.big.patch.gz Patches are against recent CURRENT: svn r215808. Code is also hosted on gitorious: http://gitorious.org/~glk/glk-freebsd-ino64 Thanks, Gleb.