Bug 761912 (GLUSTER-180) - fileop fails at chmod with stale file handle error over unfs3
Summary: fileop fails at chmod with stale file handle error over unfs3
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: GLUSTER-180
Product: GlusterFS
Classification: Community
Component: libglusterfsclient
Version: mainline
Hardware: All
OS: Linux
urgent
medium
Target Milestone: ---
Assignee: Shehjar Tikoo
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-07-31 09:38 UTC by Shehjar Tikoo
Modified: 2010-05-26 06:22 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed:
Regression: RTNR
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:


Attachments (Terms of Use)

Description Shehjar Tikoo 2009-07-31 09:38:28 UTC
Here is another stale file handle error occurring at the chmod stage in a fileop run.

The bug involves the use of io-cache.

The problem is that before a chmod, fileop does reads on the file. In libglusterfsclient, every read updates the iattr cache. In io-cache, if the reads are from the cache, the read callback contains a stat struct filled with zeroes. This is used to update the iattr cache. On a subsequent use of the file handle cache in unfs3booster, the fh cache does an lstat. This lstat in libglusterfsclient returns a 0-filled stat which was cached earlier. Since the (dev, ino) pair in the file handle does not match the (dev, ino) received in stat, unfs3 returns an ESTALE.

Patch is on the way.

Comment 1 Anand Avati 2009-07-31 15:40:31 UTC
PATCH: http://patches.gluster.com/patch/843 in master (libglusterfsclient: Invalidate iattr cache on reads)

Comment 2 Anand Avati 2009-07-31 15:40:39 UTC
PATCH: http://patches.gluster.com/patch/844 in release-2.0 (libglusterfsclient: Invalidate iattr cache on reads)


Note You need to log in before you can comment on or make changes to this bug.