5 Dec 2005 20:19
Re: pNFS -layouts and byte ranges
Brent Welch <welch <at> panasas.com>
2005-12-05 19:19:12 GMT
2005-12-05 19:19:12 GMT
OSDv1 does not have byte-range granularity of its capabilities,
but we can still use capabilities to enforce mandatory byte range
locks. However, it obviously limits the file to one writer at
a time; you cannot use OSDv1 capabilities to enforce mandatory locks
where two different clients are simultaneously writing to two
different regions of the file. The metadata server will have to
drive this via CB_LAYOUTRECALL.
I would just note this limitation and move on. I don't expect a lot
of mandatory lock usage, and I am content to wait for OSDv2 and
its (proposed) byte range capabilities to optimize this scenario.
I think it is much more likely that clients will use advisory byte
range locks, and that they will self-enforce those locks without
any help from the data servers, just like they do today. The metadata
server will coordinate the lock requests, but the clients do
the enforcement.
>>>Todd Pisek said:
>
>
>
> Garth Goodson wrote On 12/05/05 11:46 AM,:
> > Todd Pisek wrote:
> >
> >>OK, I think I now understand this. If a client wants a mandatory lock,
it
> >>needs to issue LOCK, then issue LAYOUTGET (probably as a compound).
Correc
t?
> >>
> >
> > The goal was for pNFS layout ops to be separate from delegation and
lock
> > ops. Thus, at least for file-based layouts, there is no
correspondence
> > between LOCK and LAYOUTGET. It doesn't matter the order you do them
in.
> > Whenever the LOCK completes you have the LOCK, whenever the
LAYOUTGET
> > completes you have the layout. The client can pick how it makes sense
> > to order them.
> >
>
> I believe the only way an OSD can enforce byte range access is through
> a capability. Version 1 of the OSD spec does not specify how this is
done.
> My understanding is that this ability is in OSD version 2, which is not
> yet finalized.
>
> It appears that the only mechanism by which OSD capabilities can be
conveyed
> to the client is via the LAYOUTGET response.
>
> I don't understand how mandatory locking can be accomplished without
using
> LOCK in combination with LAYOUTGET in the OSD case.
>
> I do understand that OSD pNFS can obtain an segment that is enforced by
the
> OSD without using LOCK. But if I remember correctly, the result of
LAYOUTGET
> does not imply a range delegation or a range lock.
>
>
> --- Todd
>
>
>
>
> _______________________________________________
> nfsv4 mailing list
> nfsv4 <at> ietf.org
> https://www1.ietf.org/mailman/listinfo/nfsv4
>
>
--
Brent Welch
Software Architect, Panasas Inc
Accelerating Time to Results(tm) with Clustered Storage
www.panasas.com
welch <at> panasas.com
_______________________________________________
nfsv4 mailing list
nfsv4 <at> ietf.org
https://www1.ietf.org/mailman/listinfo/nfsv4

RSS Feed