nfsd: allow nfsd to advertise multiple layout types
authorJeff Layton <jlayton@poochiereds.net>
Sun, 10 Jul 2016 19:55:58 +0000 (15:55 -0400)
committerJ. Bruce Fields <bfields@redhat.com>
Fri, 15 Jul 2016 19:31:32 +0000 (15:31 -0400)
commit8a4c3926889e7bf226e9f0254e7eface1f85f312
tree8863285961516c82401234807820d8ad602bdcdd
parent885848186fbc2d1d8fb6d2fdc2156638ae289a46
nfsd: allow nfsd to advertise multiple layout types

If the underlying filesystem supports multiple layout types, then there
is little reason not to advertise that fact to clients and let them
choose what type to use.

Turn the ex_layout_type field into a bitfield. For each supported
layout type, we set a bit in that field. When the client requests a
layout, ensure that the bit for that layout type is set. When the
client requests attributes, send back a list of supported types.

Signed-off-by: Jeff Layton <jlayton@poochiereds.net>
Reviewed-by: Weston Andros Adamson <dros@primarydata.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/export.c
fs/nfsd/export.h
fs/nfsd/nfs4layouts.c
fs/nfsd/nfs4proc.c
fs/nfsd/nfs4xdr.c