6901 Commits

Author SHA1 Message Date
Raghavendra G
2b7a2d2c21 USS: initialize a list before using it.
Change-Id: Iba35e4397646a67384e878fbe7bdfb7586fc07f9
BUG: 1130888
Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
Reviewed-on: http://review.gluster.org/8569
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-09-02 11:14:42 -07:00
Krutika Dhananjay
6c4325ca57 cluster/afr: Propagate EIO on inode's type mismatch
Original author of the test script:
            Pranith Kumar K <pkarampu@redhat.com>

Change-Id: If515ecefd3c17f85f175b6a8cb4b78ce8c916de2
BUG: 1132469
Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
Reviewed-on: http://review.gluster.org/8574
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Tested-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
2014-09-02 07:57:22 -07:00
Pranith Kumar K
2c0a694b8d storage/posix: Prefer gfid links for inode-handle
Problem:
File path could change by other entry operations in-flight so if renames are in
progress at the time of other operations like open, it may lead to failures.
We observed that this issue can also happen while renames and readdirps/lookups
are in progress because dentry-table is going stale sometimes.

Fix:
Prefer gfid-handles over paths for files. For directory handles prefering
gfid-handles hits performance issues because it needs to resolve paths
traversing up the symlinks.
Tests which test if files are opened should check on gfid path after this change.
So changed couple of tests to reflect the same.

Note:
This patch doesn't fix the issue for directories. I think a complete fix is to
come up with an entry operation serialization xlator. Until then lets live with
this.

Change-Id: I10bda1083036d013f3a12588db7a71039d9da6c3
BUG: 1136159
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
Reviewed-on: http://review.gluster.org/8575
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-09-02 05:10:20 -07:00
Emmanuel Dreyfus
4ae887db6b Regression test portability: mknod
Linux mknod(2) is able to create fifo and named sockets. NetBSD and
FreeBSD use mkfifo(2) and socket(2)/bind(2) for that.

BUG: 764655
Change-Id: I1d3969e3fcb6afdbd184c28bd268ffa2da7ae202
Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org>
Reviewed-on: http://review.gluster.org/8433
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-08-31 22:28:37 -07:00
Emmanuel Dreyfus
11a4d37571 Regression test portability: EXPECT
Make sure test_expect_not_footer() and test_expect_footer() work on
non empty strings, otherwise it may produce errors such as in pgfid_feat.t
on NetBSD:
not ok 12 Got "" instead of ""

BUG: 1129939
Change-Id: I9cb76ba863897126534c3808fb0c9e564659835f
Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org>
Reviewed-on: http://review.gluster.org/8568
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-08-31 22:22:04 -07:00
Emmanuel Dreyfus
8b8f6da589 Regression test portability: LVM
Skip any test involving LVM on NetBSD as LVM is not supported

BUG: 1129939
Change-Id: I2237bae1128d1a81047c9ff7f905431156daf8b7
Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org>
Reviewed-on: http://review.gluster.org/8556
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-08-31 22:14:00 -07:00
Meghana Madhusudhan
9816fe18e8 Hook scripts should exit with correct exit status.
When volume set options other than nfs-ganesha.host and nfs-ganesha.enable
are executed, the hook script S31ganesha-set.sh should exit with
exit status 0. The present behaviour results in an error message in
one of the logs that could be  misleading.

Similarly, hook script S30samba-set.sh should exit with
exit status 0 if samba is not installed. Fixing the issue
with a minor change in the script.

Change-Id: I35d1dc8400bb7043385800ed97adc5321829437f
BUG: 1122978
Signed-off-by: Meghana Madhusudhan <mmadhusu@redhat.com>
Reviewed-on: http://review.gluster.org/8385
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-08-31 11:05:04 -07:00
Krutika Dhananjay
f52efa681b statedump: Print curr_stdalloc in mempool statedump ...
...for, it is curr_stdalloc that is incremented for every mem_get()
and decremented on every call to mem_put() and can be used to detect
leaks, when cold_count is 0.

Change-Id: I418a132c3ea4c0b99ea5c6840ff3024d8d19ddf4
BUG: 1134221
Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
Reviewed-on: http://review.gluster.org/8557
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Humble Devassy Chirammal <humble.devassy@gmail.com>
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Tested-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
2014-08-29 19:31:41 -07:00
Niels de Vos
370592cd70 build: fixes for compiling with -Werror=format-security
Nightly builds on Fedora Rawhide (x86_64 and i686) started to fail with the
following error:

  cli-rpc-ops.c: In function 'gf_cli_get_vol_opt_cbk':
  cli-rpc-ops.c:9339:25: error: format not a string literal and no format arguments [-Werror=format-security]
                           cli_err (msg);
                           ^

The cli_err() should be called with a format-string like "%s" to prevent
unexpected errors.

Change-Id: I6a287795fb8b7a305c8f14323456eeabf68d100c
BUG: 1134773
Signed-off-by: Niels de Vos <ndevos@redhat.com>
Reviewed-on: http://review.gluster.org/8560
Reviewed-by: Harshavardhana <harsha@harshavardhana.net>
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Humble Devassy Chirammal <humble.devassy@gmail.com>
Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
2014-08-29 10:01:50 -07:00
Harshavardhana
ea96a0abcd porting: Remove unnecessary code from mount_darwin.c
- Cleanup mount_darwin.c to make it cleaner
- Restructure the code to be more readable
- Avoid unnecessary delays invoking `mount_osxfusefs`

Change-Id: I7f28875b0ec872a08bf8e77dfc8ebe5eca750d0e
BUG: 1135348
Signed-off-by: Harshavardhana <harsha@harshavardhana.net>
Reviewed-on: http://review.gluster.org/8564
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
2014-08-29 09:13:18 -07:00
Harshavardhana
2dd53eb4de porting: various fixes regression tests OSX/FreeBSD
- `wc -l` on OSX/FreeBSD adds spurious spaces, this clobbers
  up TAP output parsers - fix it.
- `umount -l` doesn't exist on OSX/FreeBSD use 'umount -f' if
   available.
- Add check for 'file' version, to handle mime type variations
  across versions
- Converge 'glusterfs --attribute-timeout=0 --entry-timeout=0'
  into '$GFS'
- Modify remaining 'mount -t nfs' to use 'mount_nfs'
- Update sha1sum for OSX to use 'openssl sha1'.

Change-Id: Id1012faa5d67a921513d220e7fa9cebafe830d34
BUG: 1131713
Signed-off-by: Harshavardhana <harsha@harshavardhana.net>
Reviewed-on: http://review.gluster.org/8501
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
2014-08-29 09:13:02 -07:00
Harshavardhana
04be6a47df dht: Avoid using inline, if necessary use it with 'static inline'
This avoids flat namespace problems on OSX and with clang

Change-Id: Id80d94d71b120c6b1166218caa8cf9cf7f2da03a
BUG: 1130888
Signed-off-by: Harshavardhana <harsha@harshavardhana.net>
Reviewed-on: http://review.gluster.org/8547
Tested-by: Gluster Build System <jenkins@build.gluster.com>
2014-08-29 02:11:25 -07:00
Prashanth Pai
98583a509f doc: Converting GFID to Path.
This is an attempt to document various possible ways to externally
get file/dir path from its GFID.

Change-Id: Ic31725a9706ddae8972aea9bb58f3b70978dbd06
Signed-off-by: Prashanth Pai <ppai@redhat.com>
Reviewed-on: http://review.gluster.org/8552
Reviewed-by: Humble Devassy Chirammal <humble.devassy@gmail.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-08-28 09:45:36 -07:00
Raghavendra G
21c8946b0b cluster/dht: synchronize rename and file-migration
Change-Id: I4f243c946f76d440680b651235f925e3d0ebf0fd
BUG: 1130888
Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
Reviewed-on: http://review.gluster.org/8523
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-08-28 03:29:59 -07:00
Venkatesh Somyajulu
b23be2e758 storage/posix: Don't unlink .glusterfs-hardlink before linkto check
BUG: 1116150
Change-Id: I90a10ac54123fbd8c7383ddcbd04e8879ae51232
Signed-off-by: Venkatesh Somyajulu <vsomyaju@redhat.com>
Reviewed-on: http://review.gluster.org/8559
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: N Balachandran <nbalacha@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-08-28 03:05:20 -07:00
Raghavendra G
a1b02e53a5 cluster/dht: invoke callback when there are no locks to be unlocked.
Change-Id: I375cb68f1075c2d58cf9d09ed6bd5e2746e1637d
BUG: 1130888
Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
Reviewed-on: http://review.gluster.org/8549
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: N Balachandran <nbalacha@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-08-28 02:48:35 -07:00
Krutika Dhananjay
dc844c545c cluster/afr: Fix dict_t leaks
dict_t objects that are ref'd in alloca'd "replies" in
afr_replies_copy() are not unref'd after "replies" go out of scope.

Change-Id: Id5a6ca3c17a8de72b94b3e0f92165609da5a36ea
BUG: 1134221
Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
Reviewed-on: http://review.gluster.org/8553
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Tested-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
2014-08-28 01:19:24 -07:00
Sachin Pandit
92d1ae829c cli/snapshot : Add confirmation dialog to snapshot restore operation
When restoring a volume, the user is not prompted for confirmation.
Since restoring a volume rolls back the data to a previous point in time,
there is the potential for updates to be lost.
Hence it is better to display a confirmation dialogue during snapshot
restore operation.

Change-Id: I7b23eaeb43ad2aafa508e2ca5750d9b0fc7d6e36
BUG: 1133426
Signed-off-by: Sachin Pandit <spandit@redhat.com>
Reviewed-on: http://review.gluster.org/8525
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijaikumar Mallikarjuna <vmallika@redhat.com>
Reviewed-by: Rajesh Joseph <rjoseph@redhat.com>
Reviewed-by: Kaushal M <kaushal@redhat.com>
2014-08-27 21:49:21 -07:00
Prashanth Pai
f565582244 Add build generated *.py[oc] to .gitignore
Related to:
http://review.gluster.org/8237

Change-Id: I8f888f0363c4358026ad17b2dc288014f7c51466
BUG: 1119328
Signed-off-by: Prashanth Pai <ppai@redhat.com>
Reviewed-on: http://review.gluster.org/8311
Reviewed-by: Humble Devassy Chirammal <humble.devassy@gmail.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
2014-08-27 09:54:55 -07:00
Niels de Vos
840a50d1db rpm: fix date in %changelog
When building rpms, the following warning is printed:

  warning: bogus date in %changelog: Thu Jun 29 2014 Humble Chirammal <hchiramm@redhat.com>

This orginates from the following change:
> Change-Id: I4988a025bd18716fd6d355431196540e140224b3
> Reviewed-on: http://review.gluster.org/8116

The date of the change was the 19th, not the 29th. Correcting the date and the
order of the changelog entries prevents this warning.

Change-Id: Ied2d25ae3c81c58ec8ab35ff54be169ba6428ed6
BUG: 1108669
Signed-off-by: Niels de Vos <ndevos@redhat.com>
Reviewed-on: http://review.gluster.org/8551
Reviewed-by: Lalatendu Mohanty <lmohanty@redhat.com>
Reviewed-by: Humble Devassy Chirammal <humble.devassy@gmail.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-08-27 09:54:26 -07:00
Humble Chirammal
aa0891b796 gNFS: correct some typos in comments.
Change-Id: I304c760c2318edd4bab985ca19bf9ce62fd21a3c
BUG: 1075417
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
Reviewed-on: http://review.gluster.org/8265
Reviewed-by: Santosh Pradhan <spradhan@redhat.com>
Reviewed-by: Niels de Vos <ndevos@redhat.com>
Tested-by: Niels de Vos <ndevos@redhat.com>
2014-08-27 00:26:36 -07:00
Harshavardhana
861f654637 glusterd: Add xml specific functions in HAVE_LIB_XML block
Build failure on OSX and also on Linux with '--disable-xml-output'
introduced in following commit "c080403393987f807b9ca81be140618fa5e994f1"

Change-Id: I0db92c9f5e319dc1932bed9ecc1acc98adb57de3
BUG: 983317
Signed-off-by: Harshavardhana <harsha@harshavardhana.net>
Reviewed-on: http://review.gluster.org/8546
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Kaushal M <kaushal@redhat.com>
2014-08-26 23:24:10 -07:00
Harshavardhana
74cf4e1920 porting: pidof portability for OSX/FreeBSD
- Provide a portable `pidof` just to be used specifically with
  glusterfs regression tests on OSX and FreeBSD. This was
  written after countless hrs of effort to get a sane `pidof`
  working on either of the environments.
  `pidof` comes at the wake of lack of proper procfs support
  and also incompatible way of handling process names since
  glusterd/glusterfs are symbolic links to 'glusterfsd'
- tests/utils/* directory should be part of 'PATH' to avoid
  abspath calculation using $(dirname)
- cleanup() - rpcinfo command prints error on FreeBSD/OSX fix it

Change-Id: I35f86273624cb279da1c8fae056ca27669e251d8
BUG: 1131713
Signed-off-by: Harshavardhana <harsha@harshavardhana.net>
Reviewed-on: http://review.gluster.org/8499
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
2014-08-26 15:27:29 -07:00
hchiramm
77ce88681c doc: move split_brain.md to debugging dir.
Change-Id: I4558514bca9365b4563e74f166f2a0156f798d0f
Signed-off-by: hchiramm <hchiramm@redhat.com>
Reviewed-on: http://review.gluster.org/8544
Reviewed-by: Prashanth Pai <ppai@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-08-26 06:23:24 -07:00
Raghavendra G
172100209e libglusterfs/syncop: implement inodelk
Change-Id: Iea489157490b70cb2bb03576b0d4943c6d8f052d
BUG: 1130888
Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
Reviewed-on: http://review.gluster.org/8522
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-08-26 04:57:01 -07:00
Raghavendra G
a1fe3d72e3 cluster/dht: introduce locking api.
Change-Id: I41389ba91951d3e63e617aa32cd0bee848261c72
BUG: 1130888
Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
Reviewed-on: http://review.gluster.org/8521
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-08-26 04:56:29 -07:00
Ajeet Jha
27daeba0f7 features/changelog: Removal of redundant fop color count while draining.
Change-Id: Ie5581579df63513e636fa3dd92dd90699ea7d999
BUG: 1128093
Signed-off-by: Ajeet Jha <ajha@redhat.com>
Reviewed-on: http://review.gluster.org/8542
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
2014-08-26 04:55:44 -07:00
Atin Mukherjee
c080403393 cli/glusterd: Support of volume get for a specific volume option
This patch introduces a cli command to display a specific volume option/all
volume options of a specific volume with the following usage:

Usage: volume get <VOLNAME> <key|all>

Change-Id: Ic88edb33c5509d7a37cd5ade6341e45e3cdbf59d
BUG: 983317
Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
Reviewed-on: http://review.gluster.org/8305
Reviewed-by: Kaushal M <kaushal@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
2014-08-26 04:17:51 -07:00
Ajeet Jha
acabde2c29 features/changelog: Crash consistency of changelog wrt snapshot
This patch introduces call-path fop details logging for data operations
in CHANGELOG.SNAP. This feature is enabled with barrier-enable
notification and disabled with barrier-disable notification.

Change-Id: Ib548d34203eb99cea478a6baff402e82251c73a4
BUG: 1128093
Signed-off-by: Ajeet Jha <ajha@redhat.com>
Reviewed-on: http://review.gluster.org/8533
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-08-26 03:16:53 -07:00
Prashanth Pai
b56751b3b9 doc: Remove outdated admin_UFO.md
Remove outdated admin_UFO.md file and add file to point to upstream
SwiftOnFile repo and documentation.

Change-Id: I87e17c11197e0ed3dd9f10a3ace88c2b3c23566e
Signed-off-by: Prashanth Pai <ppai@redhat.com>
Reviewed-on: http://review.gluster.org/8543
Reviewed-by: Humble Devassy Chirammal <humble.devassy@gmail.com>
Tested-by: Humble Devassy Chirammal <humble.devassy@gmail.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-08-26 02:51:47 -07:00
Harshavardhana
b6b279107c tests: bug-1002207.t - should mount glusterfs before tests
Change-Id: I9238ea8cf4e5ad9bab384ef08d873a5b0e578a33
BUG: 1133266
Signed-off-by: Harshavardhana <harsha@harshavardhana.net>
Reviewed-on: http://review.gluster.org/8519
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Niels de Vos <ndevos@redhat.com>
2014-08-26 01:37:49 -07:00
Pranith Kumar K
dc450ab5e3 cluster/afr: Fix all locked_on bricks are sinks check in self-heals
Problem:
Counts may give wrong results when the number of bricks is > 2. If the
locks are acquired on one source and sink, but the source accuses even the
down sink then there will be 2 sinks and lock is acquired on 2 bricks so
even when there is a clear source and sink **_finalize_source functions think
the file/directory is in split-brain.

Fix:
Check that all the bricks which are locked are sinks.

Change-Id: Ia43790e8e1bfb5e72a3d0b56bcad94abd0dc58ab
BUG: 1128721
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
Reviewed-on: http://review.gluster.org/8456
Reviewed-by: Ravishankar N <ravishankar@redhat.com>
Reviewed-by: Krutika Dhananjay <kdhananj@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
2014-08-26 01:17:23 -07:00
Sachin Pandit
71095db8f4 cli/snapshot : update of a snapshot delete syntax in documentation
Change-Id: Id1a4b9684a8dd5750ee6eed841e3d5195407fb7e
BUG: 1112613
Signed-off-by: Sachin Pandit <spandit@redhat.com>
Reviewed-on: http://review.gluster.org/8534
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Kaushal M <kaushal@redhat.com>
2014-08-26 00:30:27 -07:00
Emmanuel Dreyfus
4bbaf4615b Fix glustershd detection on volume restart
On NetBSD and FreeBSD, doing a 'gluster volume start $volume force' causes
NFS server, quotad, snapd and glustershd to be undetected by glusterd once the
volume has restarted. 'gluster volume status' shows the three processes
as 'N' in the online column, while they have been launched successfully.

This happens because glusterd attempts to connect to its child processes
just between the child does a unlink() on the socket in
__socket_server_bind() and the time it calls bind() and listen().
Different scheduling policy may explain why the problem does not happen
on Linux, but it may pop up some day since we make no guaranteed
assumptions here.

This patchet works this around by introducing a boolean
transport.socket.ignore-enoent option, set by nfs and glustershd,
which prevents ENOENT to be fatal and cause glusterd to retry and
suceed later. Behavior of other clients is unaffected.

BUG: 1129939
Change-Id: Ifdc4d45b2513743ed42ee235a5c61a086321644c
Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org>
Reviewed-on: http://review.gluster.org/8403
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Niels de Vos <ndevos@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-08-25 23:06:34 -07:00
ggarg
c2a0e3f722 cli: Fixing ambiguous message error for rebalance <volname> start command
Previously output message of command 'gluster volume rebalance <volname>
start/start force/fix-layout start' was ambiguous and poorly formatted.
Previously output message was: "volume rebalance: <volname>: success:
Starting rebalance on volume <volname> has been successful."

Now with this fix properly formatted output message is:
"volume rebalance: <volname>: success: Rebalance on <volname> has been
started Successfully. Use rebalance status command to check status of
the rebalance process."

Change-Id: I23268fc13b05d1b39ffe4c702d0e4f73085acd1c
BUG: 1087487
Signed-off-by: ggarg <ggarg@redhat.com>
Reviewed-on: http://review.gluster.org/7473
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-08-25 23:04:22 -07:00
Vijaikumar M
ec257d019c glusterd: Parsing key/value pair with value containing '='
Parsing key/value pair in the brickinfo file, where value contains '='
would truncate everything after '=' in value.

For example:
A key/value pair
mnt-opts=rw,noatime,allocsize=1MiB,noattr2

is parsed as:
mnt-opts=rw,noatime,allocsize

BUG: 1132451
Change-Id: I756b2fc4b06875267212b1a5c3e91c5a40c6accb
Signed-off-by: Vijaikumar M <vmallika@redhat.com>
Reviewed-on: http://review.gluster.org/8524
Reviewed-by: Sachin Pandit <spandit@redhat.com>
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Tested-by: Krishnan Parthasarathi <kparthas@redhat.com>
2014-08-25 09:02:15 -07:00
Pranith Kumar K
b87f92c0ee mount/fuse: Handle fd resolution failures
Problem:
Even when the fd resolution failed, the fop is continuing on the
new graph which may not have valid inode. This lead to NULL layout
subvols in dht which lead to crash in fsync after graph migration.

Fix:
- Remove resolution error handling in FUSE_FOP as it was only added
  to handle fd migration failures.
- check in fuse_resolve_done for fd resolution failures and fail the
  fop right away.
- loc resolution failures are already handled in the corresponding
  fops.
- Return errno from state->resolve.op_errno in resume functions.
- Send error to fuse on frame allocation failures.
- Removed unused variable state->resolved
- Removed unused macro FUSE_FOP_COOKIE

Change-Id: I479d6e1ff2ca626ad8c8fcb6f293022149474992
BUG: 1126048
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
Reviewed-on: http://review.gluster.org/8402
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-08-25 09:00:56 -07:00
Vijay Bellur
11beb72ef0 features/changelog: barrier all entry creation fops
when a snapshot is taken, there are chances of entry creation fops
not being recorded either in changelog or through the recursive
ancestry xtime updation by marker. This causes consumers of changelog
(primarily geo-replication as of today) to not be aware of these entries
after a snapshot is restored. This can lead to inconsistencies. This patch
is an interim workaround to barrier creates till changelog becomes completely
crash consistent.

BUG: 1128093
Change-Id: Ie0dbfd74beecb88df5c2ddf9fc680af91547c3f3
Signed-off-by: Vijay Bellur <vbellur@redhat.com>
Reviewed-on: http://review.gluster.org/8517
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: ajeet jha <ajha@redhat.com>
Reviewed-by: Aravinda VK <avishwan@redhat.com>
Reviewed-by: Kotresh HR <khiremat@redhat.com>
2014-08-25 08:36:58 -07:00
jonKSA
85afebed24 doc: Update admin_guide for hadoop.
Current version of admin_Hadoop.md contains an 
obsolete set of instructions.Changes are purely 
textual; no code changes.Linking to a community 
site extends the viability of the doc and allows 
instructions to keep pace with future versions.
Instructions have been validated.

Change-Id: Ie330b2a23513ae140d3cd5f19af3045fff3bc9d5
BUG: 1132105
Signed-off-by: jonKSA <cope.jonathan@gmail.com>
Reviewed-on: http://review.gluster.org/8505
Reviewed-by: Humble Devassy Chirammal <humble.devassy@gmail.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-08-25 08:27:24 -07:00
Nithya Balachandran
3f019874a4 Cluster/DHT : Additional log messages
Adding log messages in the rename and lookup calls to
help with debugging.

Change-Id: I13b1c6f98fb49ead45362550c46359ab1f9028c0
BUG: 1130888
Signed-off-by: Nithya Balachandran <nbalacha@redhat.com>
Reviewed-on: http://review.gluster.org/8516
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
2014-08-24 21:55:19 -07:00
Pranith Kumar K
75dfbf7091 tests: metadata self-heal tests
Change-Id: Idef49b22018908c0a2ed95852b0670a91a750eba
BUG: 1132913
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
Reviewed-on: http://review.gluster.org/8515
Reviewed-by: Ravishankar N <ravishankar@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
2014-08-23 20:36:01 -07:00
Pranith Kumar K
bc38d56466 cluster/afr: Perform metadata sync inside metadata locks
Change-Id: Ie55b3d37cacbdad74a3f63c3b0f025b0ffd0104a
BUG: 1132461
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
Reviewed-on: http://review.gluster.org/8514
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Krutika Dhananjay <kdhananj@redhat.com>
2014-08-22 02:33:09 -07:00
Pranith Kumar K
3b70b160a4 cluster/afr: Perform gfid heal inside locks.
Problem:
Allowing lookup with 'gfid-req' will lead to assigning gfid at posix layer.
When two mounts perform lookup in parallel that can lead to both bricks getting
different gfids leading to gfid-mismatch/EIO for the lookup.

Fix:
Perform gfid heal inside lock.

BUG: 1129529
Change-Id: I20c6c5e25ee27eeb906bff2f4c8ad0da18d00090
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
Reviewed-on: http://review.gluster.org/8512
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Krutika Dhananjay <kdhananj@redhat.com>
2014-08-22 02:31:57 -07:00
Harshavardhana
60f12dfbc8 client: client3_3_readdir() - initialize `local` properly
A crash is observed in the following scenario on OSX

~~~
(gdb) p readdir_rsp_size
$1 = 1552
GLUSTERFS_RPC_REPLY_SIZE == 24
GLUSTERFS_RDMA_MAX_HEADER_SIZE == 228

((1552 + 24 + 228)) == 1804

GLUSTERFS_RDMA_INLINE_THRESHOLD == 2048

if ((readdir_rsp_size +
 GLUSTERFS_RPC_REPLY_SIZE +
 GLUSTERFS_RDMA_MAX_HEADER_SIZE) > GLUSTERFS_RDMA_INLINE_THRESHOLD)
  ----> False
~~~

``local`` is never initialized leads to NULL reference later.

This patch makes sure that local is initialized, correctly as its
done in client3_3_readdirp() call.

Change-Id: I46931fc96900b7740ae71536c954bb9deda5c879
BUG: 1132796
Signed-off-by: Harshavardhana <harsha@harshavardhana.net>
Reviewed-on: http://review.gluster.org/8511
Reviewed-by: Niels de Vos <ndevos@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
Tested-by: Raghavendra G <rgowdapp@redhat.com>
2014-08-22 00:28:59 -07:00
Sachin Pandit
aa9b19e4b3 glusterd/snapshot : Fail the snapshot create operation if geo-rep is running.
As one of the recommandations for taking a snapshot is not to have
an active geo-replication session, its better to display an error
saying session is active when snapshot create command is issued.

Change-Id: I94593dbd2659610e033ca316176dda1ac8dc5ce6
BUG: 1129038
Signed-off-by: Sachin Pandit <spandit@redhat.com>
Reviewed-on: http://review.gluster.org/8461
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Rajesh Joseph <rjoseph@redhat.com>
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
Reviewed-by: Vijaikumar Mallikarjuna <vmallika@redhat.com>
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Tested-by: Krishnan Parthasarathi <kparthas@redhat.com>
2014-08-21 23:57:11 -07:00
Emmanuel Dreyfus
865d156d30 Fix quotad RPC options use-after-free bug in gluster
In cli/src/cli.c:cli_quotad_clnt_rpc_init(), dict_unref (rpc_opts)
causes the options to be freed while code in rpc/rpc-transport/socket
still relies on it. The options are corrupted when memory is reallocated,
which sometimes leads to a crashes on NetBSD when socket_connect()
attempted to read options.

Fix the problem by not doing the dict_unref(). Make sure the rpc_opts
are freed on error, though.

BUG: 1129939
Change-Id: If1d6ea50cc3e1599e9e369863c8db0c0694d3671
Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org>
Reviewed-on: http://review.gluster.org/8502
Reviewed-by: Santosh Pradhan <spradhan@redhat.com>
Reviewed-by: Niels de Vos <ndevos@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Tested-by: Krishnan Parthasarathi <kparthas@redhat.com>
2014-08-21 20:30:14 -07:00
Pranith Kumar K
f83067f2a9 cluster/afr: Set pending changelog based on filetype for new entries
Change-Id: Ib6eea2dfe43aacf1f3446cc023adecbcf8645d48
BUG: 1132102
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
Reviewed-on: http://review.gluster.org/8506
Reviewed-by: Anuradha Talur <atalur@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
2014-08-21 07:53:47 -07:00
Kotresh H R
bbb7da5abe geo-rep/glusterd: API to check active geo-rep session for the volume
Requirement:
Snapshot needs an API to fail the CLI if any geo-rep session is active
for that volume.

Solution:
A function "gd_vol_is_geo_rep_active" is provided to check if any
geo-rep session is active for that volume. An in memory dict called
'gsync_running_slaves' is maintained in 'volinfo' structure to keep
track of active geo-rep session for the volume. The key
'slavenode::slavevol' with value 'running' is added whenever geo-rep
is started/resumed into the dict and the same is removed if
stopped/paused. So the 'count' in dict is used to decide whether the
geo-rep is active or not for that volume.

Also added "this->name" in gf_log in routines which this patch is
touched.

Change-Id: I2b5de7dd686541c6b89c0fd0f7a4dbc92eecfac5
BUG: 1129008
Signed-off-by: Kotresh HR <khiremat@redhat.com>
Reviewed-on: http://review.gluster.org/8459
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Tested-by: Krishnan Parthasarathi <kparthas@redhat.com>
2014-08-21 04:53:14 -07:00
Emmanuel Dreyfus
33be39b42f Regression test portability: mktemp
Linux mktemp accepts to run without a template, NetBSD mandates it. Since
the template option has the same syntax, add it everywhere. While there,
also do this in scripts outside of regression testing.

BUG: 764655
Change-Id: I3ec140afbc9009257c81a56d77afcc21fef74cc4
Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org>
Reviewed-on: http://review.gluster.org/8432
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Harshavardhana <harsha@harshavardhana.net>
Tested-by: Harshavardhana <harsha@harshavardhana.net>
2014-08-20 13:46:44 -07:00
Emmanuel Dreyfus
a521fc1d22 Regression test portability: sha1sum
Provide a shell function for sha1sum if missing

BUG: 764655
Change-Id: I8b232af8aab7f95ba7c7ad83e37a111d562201a5
Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org>
Reviewed-on: http://review.gluster.org/8450
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Harshavardhana <harsha@harshavardhana.net>
Tested-by: Harshavardhana <harsha@harshavardhana.net>
2014-08-20 13:42:46 -07:00