Re: [Nfs-ganesha-devel] NLM async locking

2016-08-29 Thread Marc Eshel
I can look at your fix but the problem here has nothing to do with cancel. 
This locks should work without client involvement.
Can you point me again to ganltc.
Marc.



From:   Malahal Naineni 
To: Marc Eshel/Almaden/IBM@IBMUS
Cc: Frank Filz , nfs-ganesha-devel 

Date:   08/29/2016 06:25 PM
Subject:Re: [Nfs-ganesha-devel] NLM async locking



Marc, there is a known issue with that failure message but I thought
client needs a cancel request. See if my hack fixes it but I never got
a chance to fix it properly, so is not in upstream yet.

See 924e7464f in ganltc repo and see that helps.

Regards, Malahal.

On Mon, Aug 29, 2016 at 3:50 PM, Marc Eshel  wrote:
> Hi Frank,
>
> I see the following failure:
> 1. Get conflicting locks from 3 clients
> cli 1 gets 0-100
> cli 2 is blocked on 0-1000
> cli 3 is blocked on 0-1
> 2. cli 1 unlocks
> up-call for cli 2 and 3 to retry
> cli 2 gets 0-1000
> cli 3 is blocked on 0-1000
> 3. cli 2 unlocks
> up-call for cli 3 but Ganesha fails
>
> /* We must be out of sync with FSAL, this is fatal */
> LogLockDesc(COMPONENT_STATE, NIV_MAJ, "Blocked Lock Not Found 
for"
> ,
> obj, owner, lock);
> LogFatal(COMPONENT_STATE, "Locks out of sync with FSAL");
>
> I think the problem is in step 2, after cli 3 failed for the second time
> it is not put back in queue, the sbd_list.
>
> Can you please confirm this logic is very complicated.
>
> Thanks, Marc.
>
>
> 
--
> ___
> Nfs-ganesha-devel mailing list
> Nfs-ganesha-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel






--
___
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel


Re: [Nfs-ganesha-devel] NLM async locking

2016-08-29 Thread Malahal Naineni
Marc, there is a known issue with that failure message but I thought
client needs a cancel request. See if my hack fixes it but I never got
a chance to fix it properly, so is not in upstream yet.

See 924e7464f in ganltc repo and see that helps.

Regards, Malahal.

On Mon, Aug 29, 2016 at 3:50 PM, Marc Eshel  wrote:
> Hi Frank,
>
> I see the following failure:
> 1. Get conflicting locks from 3 clients
> cli 1 gets 0-100
> cli 2 is blocked on 0-1000
> cli 3 is blocked on 0-1
> 2. cli 1 unlocks
> up-call for cli 2 and 3 to retry
> cli 2 gets 0-1000
> cli 3 is blocked on 0-1000
> 3. cli 2 unlocks
> up-call for cli 3 but Ganesha fails
>
> /* We must be out of sync with FSAL, this is fatal */
> LogLockDesc(COMPONENT_STATE, NIV_MAJ, "Blocked Lock Not Found for"
> ,
> obj, owner, lock);
> LogFatal(COMPONENT_STATE, "Locks out of sync with FSAL");
>
> I think the problem is in step 2, after cli 3 failed for the second time
> it is not put back in queue, the sbd_list.
>
> Can you please confirm this logic is very complicated.
>
> Thanks, Marc.
>
>
> --
> ___
> Nfs-ganesha-devel mailing list
> Nfs-ganesha-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel

--
___
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel


[Nfs-ganesha-devel] Change in ffilz/nfs-ganesha[next]: FSAL_GPFS: more fixes and cleanup for multi-fd

2016-08-29 Thread GerritHub
>From :

es...@us.ibm.com has uploaded a new change for review.

  https://review.gerrithub.io/289448

Change subject: FSAL_GPFS: more fixes and cleanup for multi-fd
..

FSAL_GPFS: more fixes and cleanup for multi-fd

Change-Id: Idf6a1eb2a003fd8f45544665648d49aba77d637e
Signed-off-by: Marc Eshel 
---
M src/FSAL/FSAL_GPFS/file.c
M src/FSAL/FSAL_GPFS/fsal_fileop.c
M src/FSAL/FSAL_GPFS/fsal_mds.c
M src/FSAL/FSAL_GPFS/handle.c
M src/SAL/nfs4_state.c
5 files changed, 31 insertions(+), 11 deletions(-)


  git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha 
refs/changes/48/289448/1
-- 
To view, visit https://review.gerrithub.io/289448
To unsubscribe, visit https://review.gerrithub.io/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Idf6a1eb2a003fd8f45544665648d49aba77d637e
Gerrit-PatchSet: 1
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Owner: es...@us.ibm.com

--
___
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel


Re: [Nfs-ganesha-devel] NLM async locking

2016-08-29 Thread Frank Filz
> I see the following failure:
> 1. Get conflicting locks from 3 clients
> cli 1 gets 0-100
> cli 2 is blocked on 0-1000
> cli 3 is blocked on 0-1
> 2. cli 1 unlocks
> up-call for cli 2 and 3 to retry
> cli 2 gets 0-1000
> cli 3 is blocked on 0-1000
> 3. cli 2 unlocks
> up-call for cli 3 but Ganesha fails
> 
> /* We must be out of sync with FSAL, this is fatal */
> LogLockDesc(COMPONENT_STATE, NIV_MAJ, "Blocked Lock Not Found
> for"
> ,
> obj, owner, lock);
> LogFatal(COMPONENT_STATE, "Locks out of sync with FSAL");
> 
> I think the problem is in step 2, after cli 3 failed for the second time
it is not
> put back in queue, the sbd_list.
> 
> Can you please confirm this logic is very complicated.

That sounds like a likely problem. I'd have to dig into the code to see
why... May take me a day or two to investigate.

Frank



---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus


--
___
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel


[Nfs-ganesha-devel] NLM async locking

2016-08-29 Thread Marc Eshel
Hi Frank,

I see the following failure:
1. Get conflicting locks from 3 clients
cli 1 gets 0-100
cli 2 is blocked on 0-1000
cli 3 is blocked on 0-1
2. cli 1 unlocks
up-call for cli 2 and 3 to retry
cli 2 gets 0-1000
cli 3 is blocked on 0-1000
3. cli 2 unlocks 
up-call for cli 3 but Ganesha fails

/* We must be out of sync with FSAL, this is fatal */
LogLockDesc(COMPONENT_STATE, NIV_MAJ, "Blocked Lock Not Found for"
,
obj, owner, lock);
LogFatal(COMPONENT_STATE, "Locks out of sync with FSAL");

I think the problem is in step 2, after cli 3 failed for the second time 
it is not put back in queue, the sbd_list.

Can you please confirm this logic is very complicated.

Thanks, Marc.


--
___
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel


Re: [Nfs-ganesha-devel] md-cache (setattr2) optimization

2016-08-29 Thread Frank Filz
> On 08/29/2016 01:35 PM, Soumya Koduri wrote:
> > Hi Dan/Frank,
> >
> > I was looking at mdcache code a bit for performance optimizations
> > possible. I have a couple of queries. Please let me know your inputs -
> >
> > * In ex setattr2(), we have support for FSAL to update the attributes
> > in the obj handle. Can we make use of them and get away with
> > getattrs() post that in mdcache_setattr2()? Or better can we update
> > just the attributes with the values we are modifying via setattrs
> > instead of trying to re-fetch the attributes?
> 
> Handles don't have attributes stored in them anymore, just the cache in the
> MDCACHE entry.  So MDCACHE needs to update the attributes.  I suppose
> we could set them from the given attributes, but the FSAL has the right, I
> believe, to not set all of them exactly?
> 
> We could, however, just invalidate them, and let them be fetched on
> demand.

I tried that... The result is we fail SATT15 test case...

Now maybe that isn't that critical, I dunno...

What we really need is a proper change attribute (we will soon have one for 
FSAL_CEPH...).

Frank


---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus


--
___
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel


Re: [Nfs-ganesha-devel] md-cache (setattr2) optimization

2016-08-29 Thread Daniel Gryniewicz
On 08/29/2016 01:35 PM, Soumya Koduri wrote:
> Hi Dan/Frank,
>
> I was looking at mdcache code a bit for performance optimizations
> possible. I have a couple of queries. Please let me know your inputs -
>
> * In ex setattr2(), we have support for FSAL to update the attributes in
> the obj handle. Can we make use of them and get away with getattrs()
> post that in mdcache_setattr2()? Or better can we update just the
> attributes with the values we are modifying via setattrs instead of
> trying to re-fetch the attributes?

Handles don't have attributes stored in them anymore, just the cache in 
the MDCACHE entry.  So MDCACHE needs to update the attributes.  I 
suppose we could set them from the given attributes, but the FSAL has 
the right, I believe, to not set all of them exactly?

We could, however, just invalidate them, and let them be fetched on demand.

>
> I am planning to work on necessary changes. Please let me know if you
> see any issues with it.
>
> * Also where do we invalidate/update parent directory(s)'s attributes
> post successful unlink/rename operations?

mdcache_unlink() invalidates the parent's attribute cache on success 
(line 1142), and mdcache_rename() does it at line 746.

Daniel

--
___
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel


[Nfs-ganesha-devel] md-cache (setattr2) optimization

2016-08-29 Thread Soumya Koduri
Hi Dan/Frank,

I was looking at mdcache code a bit for performance optimizations 
possible. I have a couple of queries. Please let me know your inputs -

* In ex setattr2(), we have support for FSAL to update the attributes in 
the obj handle. Can we make use of them and get away with getattrs() 
post that in mdcache_setattr2()? Or better can we update just the 
attributes with the values we are modifying via setattrs instead of 
trying to re-fetch the attributes?

I am planning to work on necessary changes. Please let me know if you 
see any issues with it.

* Also where do we invalidate/update parent directory(s)'s attributes 
post successful unlink/rename operations?

Thanks,
Soumya


--
___
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel