From owner-freebsd-fs@FreeBSD.ORG Sat Nov 22 16:22:04 2014 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DE18D93C for ; Sat, 22 Nov 2014 16:22:04 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2001:1868:205::9]) (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 C9660334 for ; Sat, 22 Nov 2014 16:22:04 +0000 (UTC) Received: from hch by bombadil.infradead.org with local (Exim 4.80.1 #2 (Red Hat Linux)) id 1XsDRh-00024l-4J; Sat, 22 Nov 2014 16:22:01 +0000 Date: Sat, 22 Nov 2014 08:22:01 -0800 From: Christoph Hellwig To: Konstantin Belousov Subject: Re: RFC: patch to make d_fileno 64bits Message-ID: <20141122162201.GA27585@infradead.org> References: <20141121155754.GN17068@kib.kiev.ua> <420608613.5215411.1416613552066.JavaMail.root@uoguelph.ca> <20141122153427.GW17068@kib.kiev.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141122153427.GW17068@kib.kiev.ua> User-Agent: Mutt/1.5.23 (2014-03-12) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html Cc: FreeBSD Filesystems X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Nov 2014 16:22:05 -0000 On Sat, Nov 22, 2014 at 05:34:27PM +0200, Konstantin Belousov wrote: > For syscalls 156 and 196 (and some more), the converter must be written > in the vfs_syscalls.c which translates the new dirents into old dirents, > at the level of best efforts. FYI, you might want to look at the high level construct we use for that in Linux, where we pass a function pointer to format the dirent to the VOP_READDIR equivalent. The function pointer is passed by the caller and can format all kinds of different dirent stuctures. This hasn't just been helpful for the 64bit ino dirent transition, but also for foreign OS compatibility layers and in-kernel consumers like nfsd.