Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Sep 2009 11:13:40 +0000 (UTC)
From:      Pawel Jakub Dawidek <pjd@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src UPDATING src/cddl/compat/opensolaris/include assert.h src/cddl/contrib/opensolaris/cmd/zdb zdb.c src/cddl/contrib/opensolaris/head assert.h src/cddl/contrib/opensolaris/lib/libzfs/common libzfs_mount.c src/sbin/mount mount.8 mount.c ...
Message-ID:  <200909151118.n8FBIadV087102@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
pjd         2009-09-15 11:13:40 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_8)
    .                    UPDATING 
    cddl/contrib/opensolaris/cmd/zdb zdb.c 
    cddl/contrib/opensolaris/lib/libzfs/common libzfs_mount.c 
    sbin/mount           mount.8 mount.c 
    sys/cddl/compat/opensolaris/kern opensolaris_vfs.c 
    sys/cddl/compat/opensolaris/sys mutex.h proc.h vfs.h 
    sys/cddl/contrib/opensolaris/uts/common/fs/zfs dmu_send.c 
                                                   dnode.c 
                                                   dnode_sync.c 
                                                   dsl_dataset.c 
                                                   vdev_geom.c 
                                                   zap_micro.c 
                                                   zfs_ctldir.c 
                                                   zfs_ioctl.c 
                                                   zfs_vfsops.c 
                                                   zfs_vnops.c 
                                                   zfs_znode.c 
                                                   zvol.c 
    sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys dnode.h 
                                                       zfs_znode.h 
    sys/cddl/contrib/opensolaris/uts/common/sys callb.h 
  Added files:           (Branch: RELENG_8)
    cddl/compat/opensolaris/include assert.h 
  Removed files:         (Branch: RELENG_8)
    cddl/contrib/opensolaris/head assert.h 
  Log:
  SVN rev 197215 on 2009-09-15 11:13:40Z by pjd
  
  MFC r196456,r196457,r196458,r196662,r196702,r196703,r196919,r196927,r196928,
  r196943,r196944,r196947,r196950,r196953,r196954,r196965,r196978,r196979,
  r196980,r196982,r196985,r196992,r197131,r197133,r197150,r197151,r197152,
  r197153,r197167,r197172,r197177,r197200,r197201:
  
  r196456:
  - Give minclsyspri and maxclsyspri real values (consulted with kmacy).
  - Honour 'pri' argument for thread_create().
  
  r196457:
  Set priority of vdev_geom threads and zvol threads to PRIBIO.
  
  r196458:
  - Hide ZFS kernel threads under zfskern process.
  - Use better (shorter) threads names:
          'zvol:worker zvol/tank/vol00' -> 'zvol tank/vol00'
          'vdev:worker da0' -> 'vdev da0'
  
  r196662:
  Add missing mountpoint vnode locking.
  This fixes panic on assertion with DEBUG_VFS_LOCKS and vfs.usermount=1 when
  regular user tries to mount dataset owned by him.
  
  r196702:
  Remove empty directory.
  
  r196703:
  Backport the 'dirtying dbuf' panic fix from newer ZFS version.
  
  Reported by:    Thomas Backman <serenity@exscape.org>
  
  r196919:
  bzero() on-stack argument, so mutex_init() won't misinterpret that the
  lock is already initialized if we have some garbage on the stack.
  
  PR:     kern/135480
  Reported by:    Emil Mikulic <emikulic@gmail.com>
  
  r196927:
  Changing provider size is not really supported by GEOM, but doing so when
  provider is closed should be ok.
  When administrator requests to change ZVOL size do it immediately if ZVOL
  is closed or do it on last ZVOL close.
  
  PR:     kern/136942
  Requested by:   Bernard Buri <bsd@ask-us.at>
  
  r196928:
  Teach zdb(8) how to obtain GEOM provider size.
  
  PR:     kern/133134
  Reported by:    Philipp Wuensche <cryx-freebsd@h3q.com>
  
  r196943:
  - Avoid holding mutex around M_WAITOK allocations.
  - Add locking for mnt_opt field.
  
  r196944:
  Don't recheck ownership on update mount. This will eliminate LOR between
  vfs_busy() and mount mutex. We check ownership in vfs_domount() anyway.
  
  Noticed by:     kib
  Reviewed by:    kib
  
  r196947:
  Defer thread start until we set priority.
  
  Reviewed by:    kib
  
  r196950:
  Fix detection of file system being shared. Now zfs unshare/destroy/rename
  command will properly remove exported file systems.
  
  r196953:
  When snapshot mount point is busy (for example we are still in it)
  we will fail to unmount it, but it won't be removed from the tree,
  so in that case there is no need to reinsert it.
  
  Reported by:    trasz
  
  r196954:
  If we have to use avl_find(), optimize a bit and use avl_insert() instead of
  avl_add() (the latter is actually a wrapper around avl_find() + avl_insert()).
  Fix similar case in the code that is currently commented out.
  
  r196965:
  Fix reference count leak for a case where snapshot's mount point is updated.
  
  r196978:
  Call ZFS_EXIT() after locking the vnode.
  
  r196979:
  On FreeBSD we don't have to look for snapshot's mount point,
  because fhtovp method is already called with proper mount point.
  
  r196980:
  When we automatically mount snapshot we want to return vnode of the mount point
  from the lookup and not covered vnode. This is one of the fixes for using .zfs/
  over NFS.
  
  r196982:
  We don't export individual snapshots, so mnt_export field in snapshot's
  mount point is NULL. That's why when we try to access snapshots over NFS
  use mnt_export field from the parent file system.
  
  r196985:
  Only log successful commands! Without this fix we log even unsuccessful
  commands executed by unprivileged users. Action is not really taken, but it is
  logged to pool history, which might be confusing.
  
  Reported by:    Denis Ahrens <denis@h3q.com>
  
  r196992:
  Implement __assert() for Solaris-specific code. Until now Solaris code was
  using Solaris prototype for __assert(), but FreeBSD's implementation.
  Both take different arguments, so we were either core-dumping in assert()
  or printing garbage.
  
  Reported by:    avg
  
  r197131:
  Tighten up the check for race in zfs_zget() - ZTOV(zp) can not only contain
  NULL, but also can point to dead vnode, take that into account.
  
  PR:     kern/132068
  Reported by:    Edward Fisk <7ogcg7g02@sneakemail.com>, kris
  Fix based on patch from:        Jaakko Heinonen <jh@saunalahti.fi>
  
  r197133:
  - Protect reclaim with z_teardown_inactive_lock.
  - Be prepared for dbuf to disappear in zfs_reclaim_complete() and check if
    z_dbuf field is NULL - this might happen in case of rollback or forced
    unmount between zfs_freebsd_reclaim() and zfs_reclaim_complete().
  - On forced unmount wait for all znodes to be destroyed - destruction can be
    done asynchronously via zfs_reclaim_complete().
  
  r197150:
  There is a bug where mze_insert() can trigger an assert() of inserting
  the same entry twice. This bug is not fixed yet, but leads to situation
  where when try to access corrupted directory the kernel will panic.
  Until the bug is properly fixed, try to recover from it and log that it
  happened.
  
  Reported by:    marck
  OpenSolaris bug:        6709336
  
  r197151:
  Be sure not to overflow struct fid.
  
  r197152:
  Extend scope of the z_teardown_lock lock for consistency and "just in case".
  
  r197153:
  When zfs.ko is compiled with debug, make sure that znode and vnode point at
  each other.
  
  r197167:
  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>
  
  r197172:
  Add missing \n.
  
  Reported by:    marck
  
  r197177:
  Support both case: when snapshot is already mounted and when it is not yet
  mounted.
  
  r197200:
  Modify mount(8) to skip MNT_IGNORE file systems by default, just like df(1)
  does. This is not POLA violation, because there is no single file system in the
  base that use MNT_IGNORE currently, although ZFS snapshots will be mounted with
  MNT_IGNORE after next commit.
  
  Reviewed by:    kib
  
  r197201:
  - Mount ZFS snapshots with MNT_IGNORE flag, so they are not visible in regular
    df(1) and mount(8) output. This is a bit smilar to OpenSolaris and follows
    ZFS route of not listing snapshots by default with 'zfs list' command.
  - Add UPDATING entry to note that ZFS snapshots are no longer visible in
    mount(8) and df(1) output by default.
  
  Reviewed by:    kib
  
  Approved by:    re (bz)
  
  Revision   Changes    Path
  1.632.2.4  +4 -0      src/UPDATING
  1.1.2.2    +55 -0     src/cddl/compat/opensolaris/include/assert.h (new)
  1.5.2.1    +8 -0      src/cddl/contrib/opensolaris/cmd/zdb/zdb.c
  1.3.2.1    +0 -81     src/cddl/contrib/opensolaris/head/assert.h (dead)
  1.3.2.1    +5 -0      src/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c
  1.90.2.2   +6 -0      src/sbin/mount/mount.8
  1.107.2.2  +3 -0      src/sbin/mount/mount.c
  1.15.2.2   +59 -40    src/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c
  1.7.2.2    +1 -1      src/sys/cddl/compat/opensolaris/sys/mutex.h
  1.6.2.2    +20 -7     src/sys/cddl/compat/opensolaris/sys/proc.h
  1.4.2.2    +2 -2      src/sys/cddl/compat/opensolaris/sys/vfs.h
  1.4.2.1    +4 -3      src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c
  1.4.2.1    +8 -8      src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c
  1.4.2.1    +26 -10    src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c
  1.5.2.1    +1 -0      src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c
  1.3.2.1    +2 -1      src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h
  1.5.2.1    +19 -0     src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h
  1.8.2.1    +7 -3      src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c
  1.4.2.1    +16 -5     src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c
  1.14.2.2   +29 -16    src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c
  1.12.2.2   +5 -2      src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
  1.18.2.2   +75 -9     src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c
  1.46.2.5   +21 -8     src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
  1.24.2.1   +12 -4     src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c
  1.6.2.1    +23 -7     src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c
  1.3.2.1    +0 -2      src/sys/cddl/contrib/opensolaris/uts/common/sys/callb.h



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