deeraj.patil@ibm.com has uploaded this change for review.

View Change

[reopen fd] :  Map the reopen fd to correct fsal_export.

Issue is consistantly seen in below senario :
export_1-> io running -> unexported -> aftersometime -> re_exported with same id

When an mdcache entry survives an unexport/reexport cycle (remains in
L1/L2 cache), its embedded fsal_fd->fsal_export may point to:

1. Freed memory (exp_ops=NULL): crash in insert_fd_lru or the LRU
reaper when it dereferences fsal_fd->fsal_export->owning_export.

2. Reallocated memory for a different export: the old export's memory
is reused for a new export struct. fsal_fd->fsal_export is a valid
pointer but to the WRONG export. The FD is inserted into the global
LRU under the wrong export's accounting; access-control decisions use
the wrong export context silent data corruption.

Change-Id: Ib2d5cb062a5ec12dd5d7265e22855ebdf234b2e7
Signed-off-by: Deeraj.Patil <Deeraj.Patil@ibm.com>
---
M src/FSAL/commonlib.c
1 file changed, 38 insertions(+), 0 deletions(-)

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

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

Gerrit-MessageType: newchange
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: Ib2d5cb062a5ec12dd5d7265e22855ebdf234b2e7
Gerrit-Change-Number: 1232499
Gerrit-PatchSet: 1
Gerrit-Owner: deeraj.patil@ibm.com