| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
Change-Id: Ibb888357b87603544f360d181637138261fb3b71
BUG: 3445
Reviewed-on: http://review.gluster.com/275
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
| |
Change-Id: I0c54fd1c15550e5e5551e95ed32adb14d8029fab
Reviewed-on: http://review.gluster.com/238
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@gluster.com>
|
|
|
|
|
|
|
|
| |
Change-Id: Id1f1a91cf15d933d5621a0073ddaebe02df0f159
BUG: 3348
Reviewed-on: http://review.gluster.com/198
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@gluster.com>
|
|
|
|
|
|
|
|
| |
Change-Id: Ibf5f45431d7a55b70d7304649af652d6f25bb688
BUG: 3348
Reviewed-on: http://review.gluster.com/183
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@gluster.com>
|
|
|
|
|
|
|
|
| |
Change-Id: Iea3838e09efad5cac789f93148fb941d2f7109b1
BUG: 3039
Reviewed-on: http://review.gluster.com/10
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@gluster.com>
|
|
|
|
|
|
|
|
| |
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Anand Avati <avati@gluster.com>
BUG: 3039 (NFS RPC leaks memory in client connection creation on showmount -e)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3039
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some NFS client implementations can default to AUTH_NULL given a certain order
of auth_array in MOUNT reply. We re-order it here to make sure that such
clients (Example - 2.6.26), do not have such security loop holes.
Signed-off-by: Pavan T C <tcp@gluster.com>
Signed-off-by: Anand Avati <avati@gluster.com>
BUG: 3144 (permissions given in fuse mount don't have effect in nfs mount)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3144
|
|
|
|
|
|
|
|
| |
Signed-off-by: shishir gowda <shishirng@gluster.com>
Signed-off-by: Vijay Bellur <vijay@gluster.com>
BUG: 3057 ()
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3057
|
|
|
|
|
|
|
|
|
|
|
| |
This change is needed so that we have a uniform dependence on
posix-acl for permission checks as well as ACL checks.
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Vijay Bellur <vijay@gluster.com>
BUG: 3057 ()
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3057
|
|
|
|
|
|
|
|
| |
Signed-off-by: Gaurav <gaurav@gluster.com>
Signed-off-by: Anand Avati <avati@gluster.com>
BUG: 2553 (NFS file create with Mac client and UNCHECKED mode returns "Operation not permitted")
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2553
|
|
|
|
|
|
|
|
| |
Signed-off-by: Gaurav <gaurav@gluster.com>
Signed-off-by: Anand Avati <avati@gluster.com>
BUG: 2972 (Buffer overflow in nfs3_create_exclusive.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2972
|
|
|
|
|
|
|
|
| |
Signed-off-by: Venky Shankar <venky@gluster.com>
Signed-off-by: Anand Avati <avati@gluster.com>
BUG: 2550 (build warnings)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2550
|
|
|
|
|
|
|
|
| |
Signed-off-by: Gaurav <gaurav@gluster.com>
Signed-off-by: Vijay Bellur <vijay@gluster.com>
BUG: 2553 (NFS file create with Mac client and UNCHECKED mode returns "Operation not permitted")
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2553
|
|
|
|
|
|
|
|
| |
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Vijay Bellur <vijay@gluster.com>
BUG: 2607 (Fileop fails when quota is enabled)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2607
|
|
|
|
|
|
|
|
| |
Signed-off-by: Gaurav <gaurav@gluster.com>
Signed-off-by: Vijay Bellur <vijay@gluster.com>
BUG: 2553 (NFS file create with Mac client and UNCHECKED mode returns "Operation not permitted")
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2553
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
when attrs coming in as part of create request contain modes other
than mode, they were getting discarded previously and a setattr
was getting performed on a 0-filled iatt structure. This would
result in EPERM at the access control translator as non-root users
cannot chown a file to uid 0.
Not seen with Linux NFS client as it (very likely) relies upon
auth-unix to set the ownership of the file or sends an explicit
setattr after the create.
Signed-off-by: Anand Avati <avati@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 2553 (NFS file create with Mac client and UNCHECKED mode returns "Operation not permitted")
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2553
|
|
|
|
|
|
|
|
|
|
| |
..instead of prepending.
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 2491 ()
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2491
|
|
|
|
|
|
|
|
|
|
| |
..instead of looping till the buffer is completely transmitted.
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 2491 ()
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2491
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in
- mkdir
- mknod
Signed-off-by: Anand Avati <avati@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 2553 (NFS file create with Mac client and UNCHECKED mode returns "Operation not permitted")
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2553
|
|
|
|
|
|
|
|
| |
Signed-off-by: Gaurav <gaurav@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 2598 (Volume access option suceeds with any string value)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2598
|
|
|
|
|
|
|
|
| |
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 2566 (NFS read hangs when arequal-checksum script is run)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2566
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
nfs3.c/nfs3_create_common:
The if condition checks for create mode being EXCLUSIVE. However, when
create mode is EXCLUSIVE, this function never gets called (nfs3_create_exclusive is
called). Also, instead of checking, it actually sets the value of createmode (= instead of ==).
Signed-off-by: Vikas Gorur <vikas@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 2553 (NFS file create with Mac client and UNCHECKED mode returns "Operation not permitted")
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2553
|
|
|
|
|
|
|
|
| |
Signed-off-by: Gaurav <gaurav@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 2064 (NFS options are removed upon glusterd restart)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2064
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
recieve -> receive
maintainence -> maintenance
verison -> version
commited -> committed
Signed-off-by: Amar Tumballi <amar@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 2262 (Spelling errors in source)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2262
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is tmp fix for crash seen on solaris gnfs server is received path is
longer than PATH_MAX. On solaris default PATH_MAX is 1024, and linux default
PATH_MAX is 4096.
Signed-off-by: shishir gowda <shishirng@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 2476 ()
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2476
|
|
|
|
| |
This reverts commit 689c1b5044e701e1b695a6e6c80647b9471ba454.
|
|
|
|
| |
This reverts commit dae57d72a58ff61fe6eda800d386bf83574ef5c2.
|
|
|
|
|
|
|
|
|
|
|
| |
..to prevent segfaults due to double frees and dereferencing of freed
up memory.
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 2504 ()
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2504
|
|
|
|
|
|
|
|
| |
Signed-off-by: Pavan T C <tcp@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 2452 (Excessive CPU usage /very low throughput while using NFS mounts)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2452
|
|
|
|
|
|
|
|
| |
Signed-off-by: Pavan T C <tcp@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 2452 (Excessive CPU usage /very low throughput while using NFS mounts)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2452
|
|
|
|
|
|
|
|
| |
Signed-off-by: Gaurav <gaurav@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 2483 (Showmount output is not consistent with exported volumes.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2483
|
|
|
|
|
|
|
|
| |
Signed-off-by: Gaurav <gaurav@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 2094 (Need option to turn off NFS)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2094
|
|
|
|
|
|
|
|
| |
Signed-off-by: Anand Avati <avati@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 2481 (Crash in NFS)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2481
|
|
|
|
|
|
|
|
| |
Signed-off-by: Anand Avati <avati@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 2481 (Crash in NFS)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2481
|
|
|
|
|
|
|
|
| |
Signed-off-by: Gaurav <gaurav@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 2436 (Not able to send error reply in nfs_rpcsvc)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2436
|
|
|
|
|
|
|
|
| |
Signed-off-by: Gaurav <gaurav@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 2124 (NFS crashes when volume-id option is not given with dynamic-volume option)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2124
|
|
|
|
|
|
|
|
|
|
|
| |
An exports list can be empty when no subvolumes have come up.
No point returning error and confusing the user.
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 2345 (Taking distribute brick down returns 10006 error on mount command)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2345
|
|
|
|
|
|
|
|
| |
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 2345 (Taking distribute brick down returns 10006 error on mount command)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2345
|
|
|
|
|
|
|
|
| |
Signed-off-by: Gaurav <gaurav@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 2308 (Threadsafe uuid to string conversion function)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2308
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fuse cant send aux gids. So access-control checks treat
non-primary-group membership of user as "other". So skip
access-control checks if the call is from fuse. We added a hack to
treat all calls with pid set to 1 as calls from nfs. So for calls with pid
not 1 we skip the access-control checks on all fops.
Signed-off-by: Pranith Kumar K <pranithk@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 2296 (svn / subversion fails on gluster volume (replicated and non-replicated))
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2296
|
|
|
|
|
|
|
|
|
|
|
| |
..to prevent a second reply to the client which results in accessing
a call state structure that gets freed on the first reply.
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 2286 ([glusterfs 3.1.2qa3]: Crash due to corruption in gf_dirent_free)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2286
|
|
|
|
|
|
|
|
| |
Signed-off-by: Kaushik BV <kaushikbv@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 2277 (Regression in Gluster NFS re-read performance)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2277
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
NFS has used a common define called the mem-factor to determine
how much memory is allocated for the following items:
o inode table
o local structures used by nfs for storing fop state
o local structures used by nfs3 for storing nfs op state
These are all allocated through the mem-pool. The factor is multiplied by
a multiple that is specific to each data structure. For eg.
define GF_NFS_CONCURRENT_OPS_MULT 15
define GF_NFS_INODE_LRU_MULT 6000
The first value is used for allocating a mem-pool for storing
state for each fop or nfs op that is currently being handled. Knowing that linux
allows at most 128 in-flight requests, this multiple combined with the default
mem-factor of 15 gives us 225 slots in the mem-pool for the local structures.
Similarly, 6000*15 gives us a space of 90k inodes in the lru.
That means, increasing the common mem-factor will allow increasing the perf
under some conditions. This patch introduces the mem-factor as a configurable
option.
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 2277 (Regression in Gluster NFS re-read performance)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2277
|
|
|
|
|
|
|
|
|
|
|
| |
NFS ignores the requests for subvolumes on which child-up has never been
received.
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 2200 (cp dies with "Invalid argument" after failover)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2200
|
|
|
|
|
|
|
|
| |
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 2200 (cp dies with "Invalid argument" after failover)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2200
|
|
|
|
|
|
|
|
| |
Signed-off-by: Junaid <junaid@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 2252 (unreffing of inodes not done when memory allocation fails)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2252
|