| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
While creating/deleting an entry as part of entry self-heal,
set the parent directory's mtime to match that on the source
subvolume.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 137 (Parent directory mtime not reset after a create in self-heal)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=137
|
|
|
|
|
|
|
|
|
| |
entry itself.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 137 (Parent directory mtime not reset after a create in self-heal)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=137
|
|
|
|
|
|
|
|
|
|
| |
afr selfheal now remembers all the nodes on which locks were successfully
held and sends unlocks only to those nodes
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 112 (parallel deletion of files mounted by different clients on the same back-end hangs and/or does not completely delete)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=112
|
|
|
|
|
|
|
|
|
| |
mark a subvol with held lock only if op_ret == 0
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 112 (parallel deletion of files mounted by different clients on the same back-end hangs and/or does not completely delete)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=112
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 310 (While trying to create a file on replicate with write behind set-up, client crashes.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=310
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 310 (While trying to create a file on replicate with write behind set-up, client crashes.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=310
|
|
|
|
|
|
|
|
|
|
|
|
| |
transactions.
Hold the lock on the {higher_path} only after the lock on the
{lower_path} has been granted successfully.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 112 (parallel deletion of files mounted by different clients on the same back-end hangs and/or does not completely delete)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=112
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 145 (NFSv3 related additions to 2.1 task list)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145
|
|
|
|
|
|
|
|
|
|
|
| |
when files on all backend nodes are missing, the logic in afr_sh_entry_erase_pending
is broken and results in missing lookup frame. this causes processes to enter into
uninterruptible sleep state.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 311 (missing frame (lookup) when entry-selfheal finds missing files in all backend nodes)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=311
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 273 (Code review and optimize quick-read)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=273
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since we added an extra step after rmdir, i.e.
the lstat on parent dir as part of the NFS-friendly
changes, the successful return from postparent lstat
clobbers the -1 error return from rmdir.
This prevents this particularly ENOTEMPTY error from
being propagated to higher translators.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 145 (NFSv3 related additions to 2.1 task list)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 297 (Posix locks cannot handle a single unlock over multiple held locks)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=297
|
|
|
|
|
| |
Signed-off-by: Corentin Chary <corentin.chary@gmail.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Init the list structure, because it will be used later,
and subtract_lock does not do it.
Also remove the special handling for unlocks, which was
probably introduced as a workaround for this bug.
Signed-off-by: Corentin Chary <corentin.chary@gmail.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 297 (Posix locks cannot handle a single unlock over multiple held locks)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=297
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 276 (write behind needs to be optimized.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=276
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 308 (Warning in debug/trace.c, during build)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=308
|
|
|
|
|
|
|
|
|
| |
made atomic.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
|
|
| |
looked up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
|
|
| |
- lookup on path should be sent in entrylk if it is not already looked up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
|
|
| |
- path has to be looked up in inodelk if it is not already looked up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
|
|
| |
looked up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
|
|
| |
- path should be looked up in getxattr if it is not already looked up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
|
|
| |
looked up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
|
|
| |
looked up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
|
|
|
|
| |
cache in sp_link.
- ctime of oldloc->path will be changed on completion of link fop.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
|
|
| |
been looked up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
|
|
| |
not already been looked up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
|
|
| |
looked up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
|
|
| |
looked up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
|
|
| |
- sp_access should send lookup on the path if it is not already looked up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
|
|
| |
looked up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
|
|
| |
looked up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
|
|
| |
looked up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
|
|
| |
looked up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- this procedure processes inode_ctx to make decisions like whether the
current procedure can continue (i.e., inode is already looked up),
or the procedure has to initiate/wait for lookup on the path. It also
sets up the frame->local and adds the stub corresponding to current fop
if needed.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- change sp_lookup and sp_lookup_cbk to support sending lookups when needed.
lookups might need to be sent in fops like open, chmod, chown etc which
operate on a path, since the actual lookup sent to stat-prefetch by its
parent xlators is not propagated down the xlator tree if the path is
cached.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
|
|
|
|
|
| |
- lookup-behind should be done on-demand basis, in fops like open
instead of in sp_lookup itself. This would reduce network traffic
between client and server related to lookup, if the only use of
lookup was to fetch stat structure.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
|
|
|
|
| |
- if stat cache cannot be found for a path in its parent inode and the path
is a directory, we can get the cache from the inode corresponding to path
and look for "." in that cache.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
not NULL.
- if the xattr_req is empty (fuse just creates an empty dictionary and
sends along lookup) we can still use the cache prefetched during readdir,
since we need not fill the reply dictionary.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
|
|
| |
instead of list for caching dentries.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- sp_cache_get_inode uses fd_lookup which internally increases the refcount of
fd by 1. This needs to be unrefed once we get the cache.
- for directories, stat is stored in the inode context in sp_lookup_cbk.
but, while doing so, no check was being done for the presence of context
in inode, resulting in leak of memory equal to sizeof (struct stat) when
multiple lookups happened on the directory.
- path constructed in sp_readdir was not freed.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|