Frank Filz has uploaded this change for review.

View Change

Use temporary fd instead of global fd for getattr/setattr/LOCKT

Some use cases have shown issues with opening a global file descriptor
for getattr/setattr which then remains open until the LRU thread gets
around to closing it. This can result in a lot of open fd, or preventing
Samba clients from opening the file.

This patch simply prevents opening the global file descriptor when the
FSAL_O_ANY openflags mode is selected, instead if the global file
descriptor is NOT open, it opens a temporary file descriptor. If the
global file descriptor IS open, it will still be utilized, so we avoid
extraneous open for getattr that occurs amidst anonymous I/O.

Change-Id: Ic2283e7150b1e0797cc2017016ab5c298ba7232a
Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
---
M src/FSAL/commonlib.c
1 file changed, 35 insertions(+), 5 deletions(-)

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

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

Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic2283e7150b1e0797cc2017016ab5c298ba7232a
Gerrit-Change-Number: 411347
Gerrit-PatchSet: 1
Gerrit-Owner: Frank Filz <ffilzlnx@mindspring.com>