Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 02 Aug 2011 21:59:37 +0200
From:      "Ronald Klop" <ronald-freebsd8@klop.yi.org>
To:        freebsd-stable@freebsd.org
Subject:   zpool doesn't upgrade - Re: ZFS directory with a large number of files
Message-ID:  <op.vzlq5nt28527sy@pinky>
In-Reply-To: <CAJGy1F11p9rdvR5ESDf6AVqiCJmuu99YutqngmnYZW%2B3eHLWYg@mail.gmail.com>
References:  <CAJGy1F0d7jeyaFuNdXe%2BucTL2r7R4suCyu8xG7WRHenMFZH-6g@mail.gmail.com> <20110802090830.GA92646@icarus.home.lan> <CAJGy1F0V65YB7L_1T-26O_gUkUUzn6mef036iuAw6HRGjxFRQA@mail.gmail.com> <20110802094226.GA93114@icarus.home.lan> <42039B84-D6CE-4780-AA70-8500B1B32036@gsoft.com.au> <4E37CD13.1070402@digsys.bg> <CAJGy1F11p9rdvR5ESDf6AVqiCJmuu99YutqngmnYZW%2B3eHLWYg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 02 Aug 2011 12:55:43 +0200, seanrees@gmail.com  
<seanrees@gmail.com> wrote:

> On Tue, Aug 2, 2011 at 11:10 AM, Daniel Kalchev <daniel@digsys.bg> wrote:
>>> If it is a limitation in ZFS it would be nice to know that, perhaps it
>>> truly, really is a bug that can be avoided (or it's inherent in the  
>>> way ZFS
>>> handles such things)
>>
>> It is possible  that there is not enough memory in ARC to cache that  
>> large
>> directory.
>>
>> Other than that, perhaps in ZFS it would be easier to prune the unused
>> directory entries, than it is in UFS. It looks like this is not  
>> implemented.
>>
>> Another reason might be some FreeBSD specific implementation issue for
>> fstatfs.
>>
>> In any case, the data available is not sufficient. More information  
>> would
>> help, like how much RAM this system has, how much ARC uses, some ARC  
>> stats.
>
> Which sysctl's would you like?
>
> I grabbed these to start:
> kstat.zfs.misc.arcstats.size: 118859656
> kstat.zfs.misc.arcstats.hdr_size: 3764416
> kstat.zfs.misc.arcstats.data_size: 53514240
> kstat.zfs.misc.arcstats.other_size: 61581000
>
> kstat.zfs.misc.arcstats.hits: 46762467
> kstat.zfs.misc.arcstats.misses: 16999907
>
> The machine has 2GB of memory.
>
>> What made me wonder is .. how exactly the kernel and zpool disagree on  
>> zpool
>> version? What is the pool version in fact?
>
> % dmesg | grep ZFS
> ZFS NOTICE: Prefetch is disabled by default if less than 4GB of RAM is  
> present;
>             to enable, add "vfs.zfs.prefetch_disable=0" to  
> /boot/loader.conf.
> ZFS filesystem version 5
> ZFS storage pool version 28
>
> % zpool get version tank
> NAME  PROPERTY  VALUE    SOURCE
> tank  version   15       local
>
> % zpool upgrade tank
> This system is currently running ZFS pool version 15.
>
> Pool 'tank' is already formatted using the current version.
>
>
> Sean

I think this zpool upgrade thing is weird. Can you try 'zpool upgrade -a'?

Mine says:
zpool get version zroot
NAME   PROPERTY  VALUE    SOURCE
zroot  version   28       default

Mind the SOURCE=default vs. SOURCE=local.
Is it possible you did 'zpool set version=15 tank' in the past? You can  
check that with 'zpool history'.

NB: if you upgrade the boot pool, don't forget to upgrade to boot loader.  
(See UPDATING)

Ronald.



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