| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 920 (memory leak in stat-prefetch)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=920
|
|
|
|
|
|
|
|
|
|
| |
and xattrop
Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 915 (memory leak in server protocol)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=915
|
|
|
|
|
|
|
|
| |
Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 882 (directory traversing problem (client crash))
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=882
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ra_file is initialized
- If ptr to ra_file is set in fd->ctx even before initializing all its
members, A race condition may occur b/w a thread executing ra_fstat,
ra_readv etc (where all files open on the same inode are flushed) and
the thread doing initialization of ra_file (in ra_open_cbk or
ra_create_cbk). Because of this race-condition, flush_region might be
called on an uninitialized ra_file, thereby causing crash.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 868 (crash in ra_fstat)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=868
|
|
|
|
|
|
|
|
| |
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 878 (Memory leak in stat-prefetch)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=878
|
|
|
|
|
|
|
|
|
|
| |
in the UNWIND path.
Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 521 (SPECFS validation fails over distribute + replicate)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=521
|
|
|
|
|
|
|
|
|
|
| |
just after validation.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 852 (QR cache-timeout 0 causes high CPU usage and app hangs)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=852
|
|
|
|
|
|
|
|
| |
Signed-off-by: Vijay Bellur <vijay@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 824 (Crash in afr rename transaction)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=824
|
|
|
|
|
|
|
|
|
|
| |
O_DIRECT flag.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 723 (enhancements to quick read)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=723
|
|
|
|
|
|
|
|
|
|
| |
whether to keep cache or not.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 801 (Direct io-mode support and related changes in caching translators.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=801
|
|
|
|
|
|
|
|
|
|
| |
cache validation.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 801 (Direct io-mode support and related changes in caching translators.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=801
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
by default disable direct-io only for fds opened with O_RDONLY.
(previously direct io mode was disabled in any case).
Added new command line option to force enabling of direct io mode
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 801 (Direct io-mode support and related changes in caching translators.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=801
|
|
|
|
|
|
|
|
|
|
| |
the request queue in a single go.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 740 (read-ahead does not work to its full potential when loaded on top of write-behind)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=740
|
|
|
|
|
|
|
|
| |
Signed-off-by: Vijay Bellur <vijay@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 708 (solaris : ping pong test hangs)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=708
|
|
|
|
|
|
|
|
|
|
| |
to it in writev.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 685 (writing to a file fails complaining of "Transport endpoint not being connected")
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=685
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
contiguous iobufs into a single iobuf
- while aggregating, we should make sure that the destination has enough
memory. __wb_collapse_write_bufs assumed that destination vector's iov_base
was aligned to the start of an iobuf and hence memory of page_size is
available for aggregation. This assumption is not always true, like in the
configuration consisting afr->write->io-cache (afr is on top). Refer to the
bug url for more details.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 542 (write-behind crashes)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=542
|
|
|
|
|
|
|
|
|
|
| |
- refactor done to remove duplicated code.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 542 (write-behind crashes)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=542
|
|
|
|
|
|
|
|
| |
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 570 (Cache only those files whose sizes falls under a configured window size)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=570
|
|
|
|
|
|
|
|
| |
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 608 ()
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=608
|
|
|
|
|
|
|
|
|
|
|
| |
Thanks to Jeff Darcy <jdarcy@redhat.com> for
the bug report and the patch.
Signed-off-by: Vikas Gorur <vikas@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 581 (posix_open does not report open(2) failures correctly)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=581
|
|
|
|
|
|
|
|
|
|
| |
configured window.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 570 (Cache only those files whose sizes falls under a configured window size)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=570
|
|
|
|
|
|
|
|
| |
Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 569 (Memory leak in quota translator)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=569
|
|
|
|
|
|
|
|
| |
Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 521 (SPECFS validation fails over distribute + replicate)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=521
|
|
|
|
|
|
|
|
|
|
|
| |
fix logic in __wb_mark_winds to properly initialize incomplete_writes
and conditionally check based on enable_trickling_writes flag
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 547 (write-behind enable-trickling-writes working?)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=547
|
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 544 (Fails to build with libdb 4.8)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=544
|
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 567 (crash in server_lookup_cbk)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=567
|
|
|
|
|
|
|
|
| |
Signed-off-by: Harshavardhana <harsha@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 364 (Segfault in io-cache)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=364
|
|
|
|
|
|
|
|
| |
Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com>
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
|
|
|
|
|
|
|
|
|
|
|
| |
- rbt_hash_remove only removes entry from the hash table. It does not free
the data.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 438 (Memory leak)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=438
|
|
|
|
|
|
|
|
| |
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 438 (Memory leak)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=438
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
failed in sp_process_inode_ctx.
We need this patch for following reasons:
1. The inode used in the successful lookup call may not be the one passed to
fops operating on path. This may happen, if revalidate of inode is failed,
but the lookup itself succeeds (in case of reavalidate failures, fuse
sends a fresh lookup using new inode) and since inode_link, if there is an
inode already associated with a path retains it.
2. Only fops that "wait" in stat-prefetch on a lookup which is already in
progress, need to check for the result of the lookup they are waiting on,
before resuming and sp_process_inode_ctx is _not_ used in such contexts.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 428 (looks like stat cache not upto date..)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=428
|
|
|
|
|
|
|
|
|
|
|
| |
- since sp_process_inode_ctx is called by many fops, if the context is not
set "caller" argument can be logged in log msgs to identify caller.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 257 (Backport stat-prefetch to 2.0)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=257
|
|
|
|
|
|
|
|
| |
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 257 (Backport stat-prefetch to 2.0)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=257
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
mkdir.
- context will not be set as a fresh inode is passed in each of these calls.
instead create a new context.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 257 (Backport stat-prefetch to 2.0)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=257
|
|
|
|
|
|
|
|
|
|
|
|
| |
of inode passed as arguement in sp_lookup_cbk.
- @inode in sp_lookup_cbk may be NULL in case of failure of lookup.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 426 (stat on mount point hangs.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=426
|
|
|
|
|
|
|
|
| |
Signed-off-by: Vijay Bellur <vijay@gluster.com>
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 same path if one is in progress.
- If current lookup (2) does not wait for completion of the lookup (1) which
is in progress, there can be a race condition where (2) completes ahead of
(1) and resuming all the waiting operations in the queue. When (1) returns,
the original operation (eg., stat, chmod etc) might've already unwound and
hence the frame would've been destroyed.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 257 (Backport stat-prefetch to 2.0)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=257
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in sp_inode_ctx_process.
- the variables that are used for making decisions are assigned before
memory allocations and these variables were not reset to
correct values in case of memory allocation failures.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 257 (Backport stat-prefetch to 2.0)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=257
|
|
|
|
|
|
|
|
|
|
|
| |
- Access the inode table from one of fd->inode->table, inode->table or
parent->table instead of from root xlators itable.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 369 (Samba does not work with booster.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369
|
|
|
|
|
|
|
|
|
|
|
|
| |
- translators like io-cache, read-ahead return a zero-filled stbuf in
readv_cbk and usage of zero filled stat for cache validation is not
correct.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 376 (server-side io-cache is preventing client-side io-cache from working)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=376
|
|
|
|
|
|
|
|
| |
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 242 (If any of the writes fail, write-behind should not wait till the fd is closed for reporting errors)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=242
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
from 1MB.
- protocol restricts the maximum buffer size that can be received over network
to 1MB. Since the buffer holding reply of lookup should also contain the
lookup header and other key/value pairs of xattr_reply dict, the maximum
file size that can be fetched through dictionary cannot be equal to 1MB.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 419 (Issues with writing files of size >= 1MB)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=419
|
|
|
|
|
|
|
|
| |
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 405 (Segmentation fault in stat-prefetch.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=405
|
|
|
|
|
|
|
|
|
|
|
| |
- since the lifetime of fd context can be no longer than the fd, we can use
lock in fd.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 405 (Segmentation fault in stat-prefetch.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=405
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
not the expected one.
- cache creation is expensive operation. Also, cache will be freed in
releasedir. Hence, just remove all entries from cache without freeing
the cache. However this is not entirely true, since sp_cache_remove_entry
frees the old table and reinitializes a new table if all entries are being
removed. When rbtree based hash table provides an interface to remove all
the entries, sp_cache_remove_entry should be modified not to destroy the
table.
- this patch also fixes a race condition wherein the cache being used in
lookup getting freed in readdir if the offset is not equal to expected
offset.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 405 (Segmentation fault in stat-prefetch.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=405
|
|
|
|
|
|
|
|
|
|
|
| |
Do comparison instead of assignment in if-condition
in posix_link.
Signed-off-by: Vikas Gorur <vikas@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 254 (storage/posix has to do inode number transformation wherever it unwinds with a stat structure)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=254
|
|
|
|
|
|
|
|
|
|
|
| |
fd_ctx_get() was getting passed with wrong argument (type punned), and
hence was getting segfaulted on 32bit systems.
Signed-off-by: Amar Tumballi <amar@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 383 (glusterfs server crash on 2.0.8)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=383
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- distribute picks up the inode number from hashed subvolume. But readdir
is done from different subvolumes based on the offset. Hence there is a
possibility of inode number and device number for directories being
inconsistent between two stat calls.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 371 (rm -rf fails on stat-prefetch.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=371
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
sp_get_cache_entry.
- since we don't know the size of dentry before calling sp_get_cache_entry,
we must dynamically allocate the dentry in sp_cache_get_entry and copy the
contents from cache.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 371 (rm -rf fails on stat-prefetch.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=371
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
readdir_cbk.
- only the transformed inode number was being copied, leaving other fields of
stat 0.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 371 (rm -rf fails on stat-prefetch.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=371
|