"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "api/src/glfs-resolve.c" between
glusterfs-7.5.tar.gz and glusterfs-7.6.tar.gz

About: GlusterFS is a network/cluster filesystem. The storage server (or each in a cluster) runs glusterfsd and the clients use mount command or glusterfs client to mount the exported filesystem. Release series 7.x (latest version).

glfs-resolve.c  (glusterfs-7.5):glfs-resolve.c  (glusterfs-7.6)
skipping to change at line 68 skipping to change at line 68
fs->migration_in_progress = 1; fs->migration_in_progress = 1;
pthread_mutex_unlock(&fs->mutex); pthread_mutex_unlock(&fs->mutex);
{ {
ret = glfs_first_lookup_safe(subvol); ret = glfs_first_lookup_safe(subvol);
} }
pthread_mutex_lock(&fs->mutex); pthread_mutex_lock(&fs->mutex);
fs->migration_in_progress = 0; fs->migration_in_progress = 0;
pthread_cond_broadcast(&fs->cond); pthread_cond_broadcast(&fs->cond);
/* wake up other waiting tasks */
__GLFS_SYNCTASK_WAKE(fs);
return ret; return ret;
} }
/** /**
* We have to check if need_lookup flag is set in both old and the new inodes. * We have to check if need_lookup flag is set in both old and the new inodes.
* If its set in oldinode, then directly go ahead and do an explicit lookup. * If its set in oldinode, then directly go ahead and do an explicit lookup.
* But if its not set in the oldinode, then check if the newinode is linked * But if its not set in the oldinode, then check if the newinode is linked
* via readdirp. If so an explicit lookup is needed on the new inode, so that * via readdirp. If so an explicit lookup is needed on the new inode, so that
* below xlators can set their respective contexts. * below xlators can set their respective contexts.
*/ */
skipping to change at line 157 skipping to change at line 160
fs->migration_in_progress = 1; fs->migration_in_progress = 1;
pthread_mutex_unlock(&fs->mutex); pthread_mutex_unlock(&fs->mutex);
{ {
newinode = glfs_refresh_inode_safe(subvol, inode, need_lookup); newinode = glfs_refresh_inode_safe(subvol, inode, need_lookup);
} }
pthread_mutex_lock(&fs->mutex); pthread_mutex_lock(&fs->mutex);
fs->migration_in_progress = 0; fs->migration_in_progress = 0;
pthread_cond_broadcast(&fs->cond); pthread_cond_broadcast(&fs->cond);
/* wake up other waiting tasks */
__GLFS_SYNCTASK_WAKE(fs);
return newinode; return newinode;
} }
int int
priv_glfs_loc_touchup(loc_t *loc) priv_glfs_loc_touchup(loc_t *loc)
{ {
int ret = 0; int ret = 0;
ret = loc_touchup(loc, loc->name); ret = loc_touchup(loc, loc->name);
if (ret < 0) { if (ret < 0) {
skipping to change at line 832 skipping to change at line 838
fs->migration_in_progress = 1; fs->migration_in_progress = 1;
pthread_mutex_unlock(&fs->mutex); pthread_mutex_unlock(&fs->mutex);
{ {
newfd = glfs_migrate_fd_safe(fs, newsubvol, oldfd); newfd = glfs_migrate_fd_safe(fs, newsubvol, oldfd);
} }
pthread_mutex_lock(&fs->mutex); pthread_mutex_lock(&fs->mutex);
fs->migration_in_progress = 0; fs->migration_in_progress = 0;
pthread_cond_broadcast(&fs->cond); pthread_cond_broadcast(&fs->cond);
/* wake up other waiting tasks */
__GLFS_SYNCTASK_WAKE(fs);
return newfd; return newfd;
} }
fd_t * fd_t *
__glfs_resolve_fd(struct glfs *fs, xlator_t *subvol, struct glfs_fd *glfd) __glfs_resolve_fd(struct glfs *fs, xlator_t *subvol, struct glfs_fd *glfd)
{ {
fd_t *fd = NULL; fd_t *fd = NULL;
if (glfd->fd->inode->table->xl == subvol) if (glfd->fd->inode->table->xl == subvol)
return fd_ref(glfd->fd); return fd_ref(glfd->fd);
 End of changes. 3 change blocks. 
0 lines changed or deleted 9 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)