Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Sep 2009 16:05:20 +0000 (UTC)
From:      Pawel Jakub Dawidek <pjd@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs zfs_vfsops.c
Message-ID:  <200909131605.n8DG5Ut5038058@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
pjd         2009-09-13 16:05:20 UTC

  FreeBSD src repository

  Modified files:
    sys/cddl/contrib/opensolaris/uts/common/fs/zfs zfs_vfsops.c 
  Log:
  SVN rev 197167 on 2009-09-13 16:05:20Z by pjd
  
  Work-around READDIRPLUS problem with .zfs/ and .zfs/snapshot/ directories
  by just returning EOPNOTSUPP. This will allow NFS server to fall back to
  regular READDIR.
  
  Note that converting inode number to snapshot's vnode is expensive operation.
  Snapshots are stored in AVL tree, but based on their names, not inode numbers,
  so to convert inode to snapshot vnode we have to interate over all snalshots.
  
  This is not a problem in OpenSolaris, because in their READDIRPLUS
  implementation they use VOP_LOOKUP() on d_name, instead of VFS_VGET() on
  d_fileno as we do.
  
  PR:             kern/125149
  Reported by:    Weldon Godfrey <wgodfrey@ena.com>
  Analysis by:    Jaakko Heinonen <jh@saunalahti.fi>
  MFC after:      3 days
  
  Revision  Changes    Path
  1.28      +14 -0     src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200909131605.n8DG5Ut5038058>