Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 May 2015 21:57:09 -0500
From:      Mahmoud Al-Qudsi <mqudsi@neosmart.net>
To:        Rick Macklem <rmacklem@uoguelph.ca>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: Status of NFS4.1 FS_RECLAIM in FreeBSD 10.1?
Message-ID:  <C6B65105-0DA8-488A-B099-A8DEC404AA22@neosmart.net>
In-Reply-To: <1013279983.41809469.1432173463439.JavaMail.root@uoguelph.ca>
References:  <1013279983.41809469.1432173463439.JavaMail.root@uoguelph.ca>

next in thread | previous in thread | raw e-mail | index | archive | help
On May 20, 2015, at 8:57 PM, Rick Macklem <rmacklem@uoguelph.ca> wrote:
> Only the global RECLAIM_COMPLETE is implemented. I'll be honest that
> I don't even really understand what the "single fs reclaim_complete"
> semantics are and, as such, it isn't implemented.

Thanks for verifying that.

> I think it is meant to be used when a file system is migrated from
> one server to another (transferring the locks to the new server) or
> something like that.
> Migration/replication isn't supported. Maybe someday if I figure out
> what the RFC expects the server to do for this case.

I wasn=E2=80=99t clear on if this was lock reclaiming or block =
reclaiming. Thanks.

>> I can mount and use NFSv3 shares just fine with ESXi from this same
>> server, and
>> can mount the same shares as NFSv4 from other clients (e.g. OS X) as
>> well.
>>=20
> This is NFSv4.1 specific, so NFSv4.0 should work, I think. Or just use =
NFSv3.
>=20
> rick

For some reason, ESXi doesn=E2=80=99t do ESXi 4.0, only v3 or v4.1.

I am using NFS v3 for now, but unless I=E2=80=99m mistaken, since =
FreeBSD supports
neither =E2=80=9Cnohide=E2=80=9D nor =E2=80=9Ccrossmnt=E2=80=9D there is =
no way for a single export(/import)
to cross ZFS filesystem boundaries.=20

I am using ZFS snapshots to manage virtual machine images, each machine
has its own ZFS filesystem so I can snapshot and rollback individually. =
But=20
this means that under NFSv3 (so far as I can tell), each =E2=80=9Cfolder=E2=
=80=9D (ZFS fs)=20
must be mounted separately on the ESXi host. I can get around exporting=20=

them each individually with the -alldirs parameter, but client-side, =
there does
not seem to be a way of traversing ZFS filesystem mounts without =
explicitly
mounting each and every one - a maintenance nightmare if there ever was =
one.

The only thing I can think of would be unions for the top-level =
directory, but I=E2=80=99m
very, very leery of the the nullfs/unionfs modules as they=E2=80=99ve =
been a source of=20
system instability for us in the past (deadlocks, undetected lock =
inversions, etc).
That and I really rather a maintenance nightmare than a hack.

Would you have any other suggestions?

Thanks,

Mahmoud




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C6B65105-0DA8-488A-B099-A8DEC404AA22>