From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id D2D217CBF for ; Tue, 30 Jul 2013 14:10:36 -0500 (CDT) Message-ID: <51F80FA8.4060304@sgi.com> Date: Tue, 30 Jul 2013 14:10:32 -0500 From: Mark Tinguely MIME-Version: 1.0 Subject: Re: [PATCH 48/49] xfs: Add read-only support for dirent filetype field References: <1374215120-7271-1-git-send-email-david@fromorbit.com> <1374215120-7271-49-git-send-email-david@fromorbit.com> In-Reply-To: <1374215120-7271-49-git-send-email-david@fromorbit.com> List-Id: XFS Filesystem from SGI List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: xfs-bounces@oss.sgi.com Sender: xfs-bounces@oss.sgi.com To: Dave Chinner Cc: xfs@oss.sgi.com On 07/19/13 01:25, Dave Chinner wrote: > From: Dave Chinner > > Add support for the file type field in directory entries so that > readdir can return the type of the inode the dirent points to to > userspace without first having to read the inode off disk. > > The encoding of the type field is a single byte that is added to the > end of the directory entry name length. For all intents and > purposes, it appends a "hidden" byte to the name field which > contains the type information. As the directory entry is already of > dynamic size, helpers are already required to access and decode the > direct entry structures. > > Hence the relevent extraction and iteration helpers are updated to > understand the hidden byte. Helpers for reading and writing the > filetype field from the directory entries are also added. Only the > read helpers are used by this patch. It also adds all the code > necessary to read the type information out of the dirents on disk. > > Further we add the superblock feature bit and helpers to indicate > that we understand the on-disk format change. This is not a > compatible change - existing kernels cannot read the new format > successfully - so an incompatible feature flag is added. We don't > yet allow filesystems to mount with this flag yet - that will be > added once write support is added. > > Finally, the code to take the type from the VFS, convert it to an > XFS on-disk type and put it into the xfs_name structures passed > around is added, but the directory code does not use this field yet. > That will be in the next patch. > > Signed-off-by: Dave Chinner > --- > > +static inline int xfs_sb_version_hasftype(struct xfs_sb *sbp) > +{ > + return XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_5&& > + xfs_sb_has_incompat_feature(sbp, XFS_SB_FEAT_INCOMPAT_FTYPE); > } > This feature should support inode version 2 and 3. --Mark. _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs