[Bugs] [Bug 1248306] tiering: rename fails with "Device or resource busy" error message

bugzilla at redhat.com bugzilla at redhat.com
Thu Jul 30 05:04:04 UTC 2015


https://bugzilla.redhat.com/show_bug.cgi?id=1248306



--- Comment #1 from Mohammed Rafi KC <rkavunga at redhat.com> ---
RCA:

A newly created files will always hashed to hot-tier for a tiered volume. When
the files was in hot tier, then hashed and cached subvolume will be hot-tier.
Once the file is migrated from hot-tier to cold-tier, then subsequent lookup
will send a revalidate lookup to hot-tier and it will find out that the file
was
actually moved and there is only a link file in the cached subvolume. So dht
will return an ESTALE to fuse. Upon receiving ESTALE for a lookup, fuse
will create a new inode and sent a fresh lookup. This lookup will be
successful, and it will locate the file properly. Then fuse try to link
the inode, but the older inode was already there in inmemory inode cache
with same gfid and that is also shared with fuse kernal. So inode_link
will return the older ionode itself. So the subsequent rename fop will
come to gluster with the older inode. From dht_rename, we will take a
lock on the inode and after successful inodelk on inode dht will send
lookup before creating a link. this lookup will again find out that the
file is a link file, and then dht will think that file is
migrating/migrated during the course, and will send a EBUSY error.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are on the CC list for the bug.


More information about the Bugs mailing list