| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Change-Id: I145c12f529459f5c10ba1b8a28cb64ac07d2d2a9
BUG: 3721
Reviewed-on: http://review.gluster.com/605
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
| |
Change-Id: I20d972e4930e65c4468d5da0ca75d60d2806bfa3
BUG: 2744
Reviewed-on: http://review.gluster.com/590
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Pranith Kumar Karampuri <pranithk@gluster.com>
|
|
|
|
|
|
|
|
| |
Change-Id: Ibc23fef417bcf613850e03dc4dadcc88f89e2b6f
BUG: 2586
Reviewed-on: http://review.gluster.com/59
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
| |
Some changes to profile info output.
Change-Id: I2e7a5c088fbb29be7df28de79d9817c5a492d775
BUG: 3028
Reviewed-on: http://review.gluster.com/586
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
suppose one gives create volume from a peer whose bricks are
hostname:/a/b hostname:/a/b/c, then send that error information
to the cli.
Change-Id: Ic2149647f753fcf9218e468f13c52d0fc013a5d3
BUG: 2803
Reviewed-on: http://review.gluster.com/582
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
| |
volume top exit status was not zero even when command was successful
Change-Id: I12761cb6f00ad5c851bfee7cf0aaf0b92dfb94f4
BUG: 2882
testcase: run any valid 'volume top' command and check for exit status
Reviewed-on: http://review.gluster.com/587
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
friend_remove_cbk cleans up peerinfo and the unrefs the associated rpc_clnt
obj. When the cbk is run inside call_bail or saved_frames_unwind, we might end
up destroying the rpc_clnt and associated saved_frames_pool while we are still
using saved_frames to iterate through the frames.
Change-Id: I9c43797cb35104d35b011c26d773a0b375248f2d
BUG: 3511
Reviewed-on: http://review.gluster.com/513
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Across glibc implementations, interpretation of argc/argv passed
to makecontext() is different. This patch does away with dependence
on such arguments passed to makecontext(). Instead,synctask reference
is retrieved from pthread_getspecific().
Change-Id: Ib00924ddb115877c643818e22afa8941eceaff76
BUG: 3636
Reviewed-on: http://review.gluster.com/571
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
| |
variable. Also propogate error to the calling functions.
Change-Id: If8ba73ac57bc235a28c1e1cdc7a5e11947e7a52f
BUG: 3526
Reviewed-on: http://review.gluster.com/400
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Shehjar Tikoo <shehjart@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
earlier it was hardcoded to 8, now increased the size to 16.
also return the exact error code in client_submit_vec_request(),
so there will be no missing frames in case of errors.
Change-Id: I82a6ee681a543b673a7cf1a0b9c5ade2a7175ebe
BUG: 3679
Reviewed-on: http://review.gluster.com/570
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
| |
Change-Id: Ie13b0f2748b15c0359b7868460d4bc65ec05a217
BUG: 3576
Reviewed-on: http://review.gluster.com/552
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
gfid mismatch issue-
rmdir- first remove from non first child (FC), and then last from FC. If one
fails, FC entry is not removed and op is failed.
mkdir- first create dir from FC, followed by other childs. If FC is success
then, we succeed, banking on entry self heal
ENOTEMPTY issue-
unlink: remove from non FC and then on success remove from FC. If non FC remove
fails, fail unlink
create- Create first on FC, and on success create on non FC.
Change-Id: I89cb6e069762a1d45669335330e9381c23de3197
BUG: 3663
Reviewed-on: http://review.gluster.com/566
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
|
|
|
|
|
|
|
|
| |
Change-Id: I8a0a91c2ddb7c487d06a9d5aeaed593b5e84abef
BUG: 2591
Reviewed-on: http://review.gluster.com/569
Reviewed-by: Amar Tumballi <amar@gluster.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
|
|
|
|
|
|
|
|
| |
Change-Id: I95271def60a1977777f0b5576ae5fbbb59352778
BUG: 2346
Reviewed-on: http://review.gluster.com/567
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
| |
Change-Id: Ibcc2161bbe109a3a6b435c0a56321379c7247e44
BUG: 3234
Reviewed-on: http://review.gluster.com/565
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Raghavendra Bhat <raghavendrabhat@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
- mem-pool is global structure which is stored in ioc-inode-table and hence
can be initialised in init.
Change-Id: I215118d61e17805c9f3e78cb8e8297e17cc1117d
BUG: 3608
Reviewed-on: http://review.gluster.com/484
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
| |
Change-Id: I977903f26dbb2c8d1632b3a1c52bd8af4ce8652f
BUG: 3446
Reviewed-on: http://review.gluster.com/502
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Posix requires 255 character filenames(NAME_MAX), so
buffer to store a filename should be 256(+1 for
terminating '\0' character).
Change-Id: Id06ffa0e2d90a5950198cda3e4146ff10d25308b
BUG: 3572
Reviewed-on: http://review.gluster.com/500
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
Reviewed-by: Krishna Srinivas <krishna@gluster.com>
|
|
|
|
|
|
|
|
| |
Change-Id: Ib1c3c6f6981b07edf64aae50acad859593f36435
BUG: 3546
Reviewed-on: http://review.gluster.com/546
Reviewed-by: Vijay Bellur <vijay@gluster.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
inode_ctx.
Also, create the inode_contribution node even before checking for dirty and xattr not present in mq_inspect_directory_xattr function.
Change-Id: Ie5b6e6ba8d5abcfc6aeb9b192720ac10aac1319e
BUG: 3624
Reviewed-on: http://review.gluster.com/538
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Raghavendra G <raghavendra@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
| |
this will be destroyed in cbk. Porting commit
d7642fb9bc13bb9c2da35bd8e80c311d5fc5096c from master.
Change-Id: I46ea53433e782af48f06dda1ab1390b900966e8a
BUG: 3505
Reviewed-on: http://review.gluster.com/524
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
|
|
|
|
|
|
|
|
| |
Change-Id: I6bc8caf10b0088e403361697f09c071c4cd4fdc9
BUG: 3078
Reviewed-on: http://review.gluster.com/495
Reviewed-by: Vijay Bellur <vijay@gluster.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
|
|
|
|
|
|
|
|
|
| |
This reverts commit 81456ec2dfb312ae60c5c4e6f960a3cbf8aaaa4c.
Change-Id: Id03335117f5137f5d09781850bf4fba6eca0f73d
Reviewed-on: http://review.gluster.com/492
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
| |
Change-Id: I28de4cce140faf1b35ecdc5cbd408f21c9926341
BUG: 3231
Reviewed-on: http://review.gluster.com/167
Reviewed-by: Amar Tumballi <amar@gluster.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
| |
Change-Id: I3687fd16bcc0ddc8a352efb9a0b410f54bec6e74
BUG: 1337
Reviewed-on: http://review.gluster.com/482
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Thanks to
Scott Zahn <Scott@zahna.com> - Fixed spec file to add the correct
ldconfig path addition for i386 and
x86_64.(BUG:2279)
Persson <Persson@katamail.com> - Fixed without_georeplication macro
(BUG:3541)
JoeJulian <Joe@julianfamily.org> - Minor rpm cleanups.(BUG:3546)
Patch create the library references for both 64bit and 32bit rpms
Change-Id: Ia281fa0d3d8b32ff19b74f379cda7ca9315a4beb
BUG: 2279
Reviewed-on: http://review.gluster.com/470
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
| |
Change-Id: Ic944599cfa2696a0ae77105185d49fb510ce6fec
BUG: 3511
Reviewed-on: http://review.gluster.com/396
Reviewed-by: Vijay Bellur <vijay@gluster.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
|
|
|
|
|
|
|
|
| |
Change-Id: Icb67cd739410071a07a9511e28c075fe8e9b9eaf
BUG: 3470
Reviewed-on: http://review.gluster.com/326
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Raghavendra G <raghavendra@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* As RPC program's name is just used for logging, we now have
'PACKAGE_VERSION' part of the string, which gets logged in client
side.
* From client, we send the PACKAGE_VERSION in handshake dictionary,
which gets logged on serverside handshake.
The change doesn't break any compatibility between client or server
as it would only enhance the logging part of handshake.
Change-Id: Ie7f498af2f5d3f97be37c8d982061cb6021883ce
BUG: 3589
Reviewed-on: http://review.gluster.com/468
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
| |
after rename.
Change-Id: Idb31e845bc876f46b476d8fa769d67d8db89e4a1
BUG: 3493
Reviewed-on: http://review.gluster.com/389
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- the earlier approach of creating quota related xattrs through
side-effect of updating size and contribution values won't work,
since when no contribution xattr is present, the updation process
treats contribution value as zero and hence will be equal to size
of freshly created files
Change-Id: If9b2063b1ac3a4cf50d3fe2c81e907bc8eccb677
BUG: 3531
Reviewed-on: http://review.gluster.com/383
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Mohammed Junaid <junaid@gluster.com>
|
|
|
|
|
|
|
|
| |
Change-Id: If8f2a0bb635160ee78f35787ee9f8a4db87ae8ac
BUG: 3531
Reviewed-on: http://review.gluster.com/382
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Mohammed Junaid <junaid@gluster.com>
|
|
|
|
|
|
|
|
| |
Change-Id: I6999e0a1463ee3475f7607990337326b3f008538
BUG: 3587
Reviewed-on: http://review.gluster.com/463
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
| |
- macro QR_STACK_UNWIND destroys the stub present in local and hence no need
of explicitly calling call_stub_destroy on it.
Change-Id: Ib81c9a0d382765e783722b14fdbd7877086b1bec
BUG: 3562
Reviewed-on: http://review.gluster.com/440
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
| |
Change-Id: I6fedb5b2db4b137b5da5d7b8ef5ce793e1be207a
BUG: 3543
Reviewed-on: http://review.gluster.com/434
Reviewed-by: Amar Tumballi <amar@gluster.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
helps getting output of 'glusterfs --version' from the users while
debugging any issues/bugs.
Change-Id: I4f15aca143c1e403c70409378afc9ed7a678b286
BUG: 2346
Reviewed-on: http://review.gluster.com/416
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Shishir Gowda <shishirng@gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
| |
Change-Id: Ia53f64e923babdd3af2d82b13350c97fa25fac2d
BUG: 3515
Reviewed-on: http://review.gluster.com/355
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Shehjar Tikoo <shehjart@gluster.com>
|
|
|
|
|
|
|
|
|
|
| |
permissions in rename fop.
Change-Id: Id9ac1ecdd9753377c9eb24464f51dcbdc0cd2821
BUG: 3194
Reviewed-on: http://review.gluster.com/366
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
| |
This is to fix to bug marker translator and quota translator cannot co-exist in same process.
Change-Id: Ie0419e1a66d300e163d27b21441ad8d8139b6097
BUG: 30203020
Reviewed-on: http://review.gluster.com/393
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
| |
Change-Id: I64f043e0bafd8f61936f52ddf9009a81abef3c4d
BUG: 3453
Reviewed-on: http://review.gluster.com/290
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
| |
Change-Id: If9af6ae0c00606dd0859363d42dacb2f365201af
BUG: 3348
Reviewed-on: http://review.gluster.com/374
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
|
|
|
|
|
|
|
|
|
| |
Change-Id: I33623f874fbf3a3c491322877ed54e99d3cfc623
BUG: 2784
Reviewed-on: http://review.gluster.com/298
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
| |
Change-Id: I195d3bf81e55886395e98f3eda67127e47014c11
BUG: 2856
Signed-off-by: Junaid <junaid@gluster.com>
Reviewed-on: http://review.gluster.com/340
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While inheriting the ACLs from a directory that has default ACLs, make sure
that the mode flags set by the application are saved. It is required to
inherit only the Read, Write and Execute permissions while leaving the others
viz. setuid, setgid and sticky bit untouched hence honouring the requests made
by the application during create operations (mknod, mkdir et al).
For a description of the problem, root cause and evaluation, refer:
http://bugs.gluster.com/show_bug.cgi?id=3522
Change-Id: I4d3758389327c1aa78a0ebde0079c855503a3dd7
BUG: 3522
Reviewed-on: http://review.gluster.com/379
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch is a change in the way write transactions hold a lock
which optimizes the case of sequential writes from a single writer.
Lock phase of a transaction has two sub-phases. First is an attempt
to acquire locks in parallel by broadcasting non-blocking lock
requests. If lock aquistion fails on any server, then the held locks
are unlocked and revert to a blocking locked mode sequentially on
one server after another.
The change in this patch is to make the initial broadcasting lock
request attempt to acquire lock on the entire file. If this fails,
we revert back to the sequential "regional" blocking lock as before.
In the case where such an "eager" lock is granted in the non-blocking
phase, it gives rise to an opportunity for optimization. i.e, if
the next write transaction on the same FD arrives before the unlock
phase of the first transaction, it "takes over" the full file lock.
Similarly if yet another transaction arrives before the unlock phase
of the "optimized" transaction, that in turn "takes over" the lock
as well. The actual unlock now happens at the end of the last
"optimzed" transaction.
Any operation which arrives before the unlock phase of the previous
transaction is a potential candidate to become an "optimized"
transaction. In cases where the previous transaction had aquired
lock as a "regional" blocking lock, and the next transaction comes
in before its unlock phase, then it would not be an "optimized"
transaction.
Implied assumption
------------------
Since two or more transactions can now operate within the same
large lock, there is a possibility that overlapping transactions
can arrive at oppoosite orders on the servers. However in the
larger picture this is not possible as write-behind already
ensures that no two overlapping writes on an inode are in transit
at the same time. Overlapping writes across clients are not a
problem as they compete at locks anyways.
Theoretical benefits and potential harms
----------------------------------------
In case of a single writer: The benefits are large for sequential
writes. In the best case the entire file write can happen with just
one lock and unlock per server, provided writes are coming in fast
enough and getting pipelined by write-behind soon enough (which is
usually the case). If the writes are not coming in fast enough, then
the optimization "kicks in" for only those subsets of writes which
are close enough to get "piggybacked". For random writes the benefits
are the same as well. In any case the overall performance is better
than or equal to the performance without this optimization for a single
writer.
In case of multiple writers: When multiple writers are not writing
concurrently, there is no negative performance impact. When multiple
writers are writing concurrently to the same region, there is no
negative impact either, as they were previously getting arbitrated
at the locks translator too. In the case of multiple writers writing
to different regions concurrently, there will be an increased number
of "failovers" from failed parallel non-blocking to sequential blocking
regional locks. This above "worst case" has a simple workaround that
as soon as we detect > 1 open-fd-count in lookup xattr, we can disable
this optimization on those fds.
Beneficial side-effects
-----------------------
There is another similar optimization in AFR for changelogs which goes
by the name of "changelog-piggybacking". That works in a similar way where
pending flags get 'taken over' or 'piggybacked' by the next transaction
if its 'pre-op' phase kicks in before the 'post-op' phase of the
previous transaction. It has been observed that this changelog-piggybacking
optimization gives a saving of about ~55% savings of xattr calls hitting
the wire, measured across various types of network interfaces. The side
effect of this eager-lock optimization is that it gives an almost 100%
saving of xattr calls by making the optimistic-changelog work much more
efficiently as it gives a wider overlap of the xattr phases of two
consecutive transactions.
Change-Id: I41c02eb3b64c14c68ef66a344610ec3f024cd59d
BUG: 3409
Reviewed-on: http://review.gluster.com/243
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Glusterfs used to crash trying to dereference a NULL
pointer. Also, in mnt3_resolve_export_subdir, volume
name was prefixed to sub directory exported, resulting in
mount fail of sub directory. Fixed both issues.
Change-Id: I746f0c244b4cbf03033d73ac3e40518762d76385
BUG: 3481
Reviewed-on: http://review.gluster.com/346
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Shehjar Tikoo <shehjart@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Intro Note
==========
The current code in hard fh resolution takes the first-match approach, i.e.
which ever dirent either matches the hash or matches the gfid first
is the one chosen as the result for the next step of fh resolution. In
the latter case, i.e., dirent matches the gfid, we the next step is to
conclude the fh resolution by returning the entry whose gfid matched.
In the former, i.e., the hash matches the dirent, we choose the hash-matching
dirent as the next directory to descend into, for searching the file to be
operated upon.
Problem
=======
When performing hard fh resolution, there can be a situation where:
o the hash of the primary entry,i.e. the entry we're looking for and the hash
of another sibling directory, match. Note the use of "sibling", meaning both
the primary entry and the hash matching one are in the same directory, i.e.,
their filehandle.hashcount will be same.
o the sibling directory is encountered first during the dir search.
Because of the current code described in "Intro", we'll end up descending into
the sibling directory even though the correct behaviour is to ignore this and
wait till we encounter the primary entry in the same parent directory.
Once we end up descending into this sibling directory, the directory depth
validation check fails. The check fails because it notices that the resolution
is attempting to open a directory that is deeper in the fs tree than the file
we're looking for. When this check fails, we return an ESTALE. So basically, a
false-positive results in an estale to Specsfs.
This is not a theoretical situation. Me and Avati saw this on specsfs test
where sfs created terabytes-sized file system for its tests. The number of
files was so huge in a single directory that the hashes of two entries ended up
colliding.
Change-Id: I78d8756252330201e165d788a29277b4bce0df90
BUG: 3510
Reviewed-on: http://review.gluster.com/358
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Shehjar Tikoo <shehjart@gluster.com>
|
|
|
|
|
|
|
|
|
|
| |
most of this resulted in taking a 'ref' on NULL iobuf.
Change-Id: I14b3eedc93c65d8112d279f2bc72a1daec8b33b6
BUG: 2346
Reviewed-on: http://review.gluster.com/372
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@gluster.com>
|
|
|
|
|
|
|
|
| |
Change-Id: Iec8b609e66ef21f4fdd6ee2ff3060f0b71d47ca0
BUG: 3046
Reviewed-on: http://review.gluster.com/237
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
|
|
|
|
|
|
|
|
|
| |
BUG: 3467
Change-Id: I9b7e2cc5ed824544a8c6549bf99f9e013fd70e56
Reviewed-on: http://review.gluster.com/309
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|