Re: [PATCH] nfs4: flex_file: ignore synthetic uid/gid for tightly coupled DSes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks. I'll test this later to-day. (I did a slightly more complex version
of the fix outside of the ff_layout_get_ds_cred() call, but yours is
definitely simpler).

There is also the "stateid", which I believe is supposed to be the one in
the layout for the tightly coupled case (for NFSv4 I/O ops to the DS).
My patch is here and has the changes for stated as well as cred.

http://people.freebsd.org/~rmacklem/flexfile.patch
(Sorry, I don't know git;-)

Thanks for doing this and I'll post if my testing finds problems, rick


________________________________________
From: linux-nfs-owner@xxxxxxxxxxxxxxx <linux-nfs-owner@xxxxxxxxxxxxxxx> on behalf of Tigran Mkrtchyan <tigran.mkrtchyan@xxxxxxx>
Sent: Monday, August 20, 2018 2:56:08 AM
To: linux-nfs@xxxxxxxxxxxxxxx
Cc: trondmy@xxxxxxxxxxxxxxx; Anna.Schumaker@xxxxxxxxxx; Tigran Mkrtchyan
Subject: [PATCH] nfs4: flex_file: ignore synthetic uid/gid for tightly coupled DSes

for tightly coupled DSes client must ignore provided synthetic uid and
gid as stated in draft-ietf-nfsv4-flex-files-19#section-5.1.

Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@xxxxxxx>
---
 fs/nfs/flexfilelayout/flexfilelayoutdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/nfs/flexfilelayout/flexfilelayoutdev.c b/fs/nfs/flexfilelayout/flexfilelayoutdev.c
index d62279d3fc5d..290625cfd369 100644
--- a/fs/nfs/flexfilelayout/flexfilelayoutdev.c
+++ b/fs/nfs/flexfilelayout/flexfilelayoutdev.c
@@ -452,7 +452,7 @@ ff_layout_get_ds_cred(struct pnfs_layout_segment *lseg, u32 ds_idx,
        struct nfs4_ff_layout_mirror *mirror = FF_LAYOUT_COMP(lseg, ds_idx);
        struct rpc_cred *cred;

-       if (mirror) {
+       if (mirror && !mirror->mirror_ds->ds_versions[0].tightly_coupled) {
                cred = ff_layout_get_mirror_cred(mirror, lseg->pls_range.iomode);
                if (!cred)
                        cred = get_rpccred(mdscred);
--
2.17.1




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux