Xueqian Hu has uploaded this change for review.

View Change

Build pseudo root before creating other FSAL exports

Today, we will build pseudo root after parsing and creating all
exports in ganesha conf file. In pseudofs_lookup_path, while
allocating a new fsal_obj_handle, the fileid will start from 0, and
get increased by 1 each time. For a normal case, pseudo root will be
the only export in the PSEUDO FSAL, the fileid of pseudo root will
always be 0. However, if adding other exports in PSEUDO FSAL, and
restarting ganesha, those exports will get created first. That is mean,
if we have NUM exports added, those exports fileids will be
0, 1, ..., (NUM - 1), and pseudo root's fileid will be changed to NUM.

It will be good to keep fileid as 0 for pseudo root, otherwise, for
a running client, it will hit error for inode number change:
[2694122.907113] NFS: server 10.53.93.152 error: fileid changed

In this patch, move the call to build pseudo root before building
other FSAL exports which will make sure pseudo root's file id will
always be 0.

Change-Id: I45563c8d2ffa40858627dd0eb5d4145b046e142b
Signed-off-by: Xueqian Hu <xh140312@outlook.com>
---
M src/support/exports.c
1 file changed, 6 insertions(+), 6 deletions(-)

git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/72/1196572/1

To view, visit change 1196572. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: newchange
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: I45563c8d2ffa40858627dd0eb5d4145b046e142b
Gerrit-Change-Number: 1196572
Gerrit-PatchSet: 1
Gerrit-Owner: Xueqian Hu <xh140312@outlook.com>