Date: Tue, 29 Dec 2009 14:10:13 -0800 From: Xin LI <delphij@gmail.com> To: =?UTF-8?Q?Micka=C3=ABl_Maillot?= <mickael.maillot@gmail.com> Cc: freebsd-fs@freebsd.org Subject: Re: ZFS small fix in arc.c and zvol.c Message-ID: <a78074950912291410jd37101agcc6fc7c974f1829d@mail.gmail.com> In-Reply-To: <ea7b7b810912291246v4a989cd2t357b0a34f99a56e1@mail.gmail.com> References: <ea7b7b810912291246v4a989cd2t357b0a34f99a56e1@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, I think we'd better to bring our base code to be more current rather than picking up individual revisions, diverging further is probably not a good idea if we see long term cooperation with OpenSolaris as a goal... On Tue, Dec 29, 2009 at 12:46 PM, Micka=C3=ABl Maillot <mickael.maillot@gmail.com> wrote: > Hi, > > /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs > in arc.c, a mutex is not properly detroyed: > > --- arc.c.orig =C2=A02009-12-29 21:15:31.192819155 +0100 > +++ arc.c =C2=A0 =C2=A0 =C2=A0 2009-12-29 21:16:58.034271766 +0100 > @@ -3626,6 +3626,7 @@ > =C2=A0 =C2=A0 =C2=A0 =C2=A0mutex_destroy(&arc_mru_ghost->arcs_mtx); > =C2=A0 =C2=A0 =C2=A0 =C2=A0mutex_destroy(&arc_mfu->arcs_mtx); > =C2=A0 =C2=A0 =C2=A0 =C2=A0mutex_destroy(&arc_mfu_ghost->arcs_mtx); > + =C2=A0 =C2=A0 =C2=A0 mutex_destroy(&arc_l2c_only->arcs_mtx); > > =C2=A0 =C2=A0 =C2=A0 =C2=A0mutex_destroy(&zfs_write_limit_lock); Looks like a part of OpenSolaris onnv revision 8214? Are you having some specific issue without this patch? > i dont know if it's ok but in zvol.c > opensolaris call zvol_size_changed > just after zil_replay in zvol_create_minor function > > --- zvol.c.orig 2009-12-29 21:31:42.111529028 +0100 > +++ zvol.c =C2=A0 =C2=A0 =C2=A02009-12-29 21:32:32.347413297 +0100 > @@ -837,6 +837,7 @@ > =C2=A0 =C2=A0 =C2=A0 =C2=A0zv->zv_volblocksize =3D doi.doi_data_block_siz= e; > > =C2=A0 =C2=A0 =C2=A0 =C2=A0zil_replay(os, zv, &zv->zv_txg_assign, zvol_re= play_vector, NULL); > + =C2=A0 =C2=A0 =C2=A0 zvol_size_changed(zv, maj); > > =C2=A0 =C2=A0 =C2=A0 =C2=A0/* XXX this should handle the possible i/o err= or */ > =C2=A0 =C2=A0 =C2=A0 =C2=A0VERIFY(dsl_prop_register(dmu_objset_ds(zv->zv_= objset), It seems that the OpenSolaris code has changed a lot and I didn't find similar change in OpenSolaris (yet). Do you have a specific revision number or a tag? Cheers, --=20 Xin LI <delphij@delphij.net> http://www.delphij.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?a78074950912291410jd37101agcc6fc7c974f1829d>