summaryrefslogtreecommitdiffstats
path: root/xlators/storage
Commit message (Collapse)AuthorAgeFilesLines
* storage/posix: Remove the interim fix that handles the gfid racePranith K2011-07-172-69/+1
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2745 (failure to detect split brain) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2745
* storage/posix: Succeed lookup even if there is no gfid on the filePranith K2011-07-171-2/+2
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2745 (failure to detect split brain) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2745
* posix: perform readdir filling in locked regionAnand Avati2011-07-161-77/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When two application threads share an open dir fd (DIR *) and issue readdirs, storage/posix will receive separate readdir fops in separate threads in parallel. This has two-fold issues 1. In the following pair of operations - entry = readdir(dir) and strcpy (gf_dirent->name, entry->d_name) @entry is a static buffer in libc which can get reused by another thread to get filled with a longer name. This can cause the second operation to overflow the buffer as the allocation was for the smaller name. 2. In the following pair of operations - seekdir (dir, offset) and entry = readdir(dir) If two threads are executing these sequence in parallel in separate threads, then one of them will end up reading wrong/unexpected entries. It would be sufficient to fix 1. by using readdir_r but that still keeps the second race open. Hence the patch moves all the set of operations to a locked region which solves both races. Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3171 (Crash in server) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3171
* storage/posix: make sure we are starting on a genuine backendAmar Tumballi2011-07-141-4/+40
| | | | | | | | | | | also do the check in 'glusterd' to let the user know of the problems (if any) during the volume create/start time itself. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3065 (make sure the export directories are not re-used as part of another volume) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3065
* storage/posix: set all keys present in 'params' dict while creating an entryAmar Tumballi2011-07-123-6/+68
| | | | | | | | | | | so, there is no need to do a 'setxattr()' after entry creation, which could now fail due to ACL on server side. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3164 (set xattr keys while entry creation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3164
* afr/stripe: collect pathinfo xattrs from all childsVenky Shankar2011-07-121-1/+1
| | | | | | | | Signed-off-by: Venky Shankar <venky@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3046 (getxattr for afr should returns realpath from all childs) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3046
* storage/posix: move the helper functions to separate fileAmar Tumballi2011-07-124-831/+913
| | | | | | | | | | helper functions were more than 800 lines Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3158 (Keep code more readable and clean) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3158
* storage/posix: call 'gfid_heal()' instead of 'gfid_set()' in lookup()Amar Tumballi2011-07-121-1/+1
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2994 ([glusterfs-3.2.1qa2]: untar and rm in parallel hangs untar) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2994
* storage/posix: detect race in posix_rename()Anand Avati2011-07-121-0/+23
| | | | | | | | | | | | detect a race in rename between two clients by checking for reassigned gfid or presence of dir when not expecting. checks not necessary for rename of files. Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2522 ([glusterfs-3.1.3qa8]: rm -rf shows invalid argument) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2522
* Fixes missing ".." entry in the mount pointRahul2011-07-111-1/+2
| | | | | | | | Signed-off-by: Rahul <rahul@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3097 ([b7aeaa619b82509fbe8d187bbc1618cb319d6877] ".." entry in mount point missing.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3097
* posix-acl: implementation of POSIX ACL as a translatorAnand Avati2011-07-081-0/+6
| | | | | | | Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2815 (Server-enforced ACLs) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2815
* storage/posix: set ACL keys during new entry/inode creationsAnand Avati2011-07-081-0/+131
| | | | | | | | | | honor "system.posix_acl_access" and "system.posix_acl_default" keys in params dict to setxattr into the backend while creating new entry/inodes Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2815 (Server-enforced ACLs) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2815
* bring in strict check on export directory being re-used for different volumeAmar Tumballi2011-06-231-1/+42
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3065 (make sure the export directories are not re-used as part of another volume) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3065
* core: fill 'ia_ino' from 'ia_gfid' in 'storage/posix' to preserve same ino ↵Amar Tumballi2011-06-161-4/+20
| | | | | | | | | | | | | | | number take the least significant 64bit from gfid and assign it to 'ia_ino', hence for a given file (or directory), the 'ia_ino' number is always same, and we need not worry about the 'itransform' in 'cluster/*' translators. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3042 (inode number should be constant on storage) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3042
* Prevent spurious getxattr for gfid-req in posix_lookupshishir gowda2011-06-141-0/+2
| | | | | | | | Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2570 (getxattr failed msgs seen in log when log-level is DEBUG) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2570
* posix: glusterfs.test should be removed xattr immediately after use.Krishnan Parthasarathi2011-05-091-2/+3
| | | | | | | | Signed-off-by: Krishnan Parthasarathi <kp@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2609 (Error message not properly provided when trying to create a volume from a read-only source) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2609
* prevent few excessive logsAmar Tumballi2011-04-211-2/+2
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2346 (Log message enhancements in GlusterFS - phase 1) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2346
* removed reference to GF_LOG_NORMALAmar Tumballi2011-04-071-1/+1
| | | | | | | | | | instead used GF_LOG_INFO, which is more standard log level. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@gluster.com> BUG: 2669 (RuntimeError: cannot recognize log level "normal") URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2669
* storage/posix: log enhancementsAmar Tumballi2011-03-171-116/+130
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 2346 (Log message enhancements in GlusterFS - phase 1) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2346
* storage/posix: whitespace cleanupAmar Tumballi2011-03-171-490/+490
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 2346 (Log message enhancements in GlusterFS - phase 1) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2346
* storage/posix: Added GF_XATTROP_ADD_LONG_ARRAY flag to perform 64bit xattrop ↵Mohammed Junaid Ahmed2011-03-161-4/+17
| | | | | | | | | | operations. Signed-off-by: Junaid <junaid@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 2473 (Support for volume and directory level quota) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2473
* posix: Set op_errno to ENOMEM on failed iobuf_getShehjar Tikoo2011-03-111-0/+1
| | | | | | | | | | | This prevents a situation where op_ret for the read fop is -1 but the op_errno is still 0. Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1977 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1977
* posix: Handle offset greater than file size of EOF determinationShehjar Tikoo2011-03-111-0/+2
| | | | | | | | Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1977 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1977
* Solaris xattr support for symlink and special files.shishir gowda2011-03-041-3/+13
| | | | | | | | | | | | | | | | | | Since glusterfs uses xattr for storing gfid, and xattr support for symlinks and special files does not exist in solaris. The work around is provided by creating hidden files under export directory on solaris hosts only. the hidden files ares maintained in .glusterfs_xattr_inode directory, and all xattr ops on symlink and special files are redirected to respective inodes. All dir entries with name starting as .glusterfs (GF_HIDDEN_PATH) will not be shown in readdir ops. Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2213 (Symlink fails with ENODATA) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2213
* v2 Prevent removal of trusted.gfid xattrshishir gowda2011-03-011-0/+6
| | | | | | | | Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2461 (remove xattr of trusted.gfid succeeds) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2461
* storage/posix: set op_ret to -1 when setgid_override fails.Raghavendra G2011-02-221-5/+18
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2409 (crash in stat prefetch) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2409
* storage/posix: in opendir, allocate proper size for fd ctx pointerAmar Tumballi2011-01-071-1/+1
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2280 (wrong size allocated for posix_fd in posix.c:posix_opendir()) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2280
* gfid: disable setting/getting of gfid from higher level translatorsAnand Avati2010-12-061-4/+12
| | | | | | | | Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2196 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2196
* check whether the file is a symlink while doing utimesRaghavendra Bhat2010-12-061-1/+19
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 881 (GlusterFS daemon hangs on replication of symlink (3.0.4)) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=881
* glusterd-rebalance: if file is open, don't do rebalanceAmar Tumballi2010-10-191-0/+25
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1934 (Server segfault with 3.1 platform ISO during volume expansion) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1934
* Revert "glusterd-rebalance: if file is open, don't do rebalance"Vijay Bellur2010-10-191-25/+0
| | | | This reverts commit 6e6b4b4fd002347ca08691f73e10b961f693d754.
* glusterd-rebalance: if file is open, don't do rebalanceAmar Tumballi2010-10-121-0/+25
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 971 (dynamic volume management) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
* Change assert to GF_ASSERTVijay Bellur2010-10-122-2/+2
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 971 (dynamic volume management) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
* Copyright changesVijay Bellur2010-10-118-8/+8
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 971 (dynamic volume management) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
* Possible race condition between cleanup and dereferencingshishir gowda2010-10-081-0/+3
| | | | | | | | Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1760 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1760
* Change GNU GPL to GNU AGPLPranith K2010-10-048-24/+24
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1388 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1388
* rmdir: introduce extra flags parameter in FOP prototypeAnand V. Avati2010-10-021-3/+18
| | | | | | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 971 (dynamic volume management) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
* Changes to replace flock with gf_flock across GlusterFS.Pavan Sondur2010-10-012-8/+8
| | | | | | | | Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 865 (Add locks recovery support in GlusterFS) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=865
* storage/posix: prevent chmod() from getting called on symlinksAnand Avati2010-09-291-6/+25
| | | | | | | | | | | | symlinks, if at all their mode can be changed (on non-linux platforms) can only be done via lchmod(). Attempting chmod on a symlink can be disastrous. Signed-off-by: Anand V. Avati <avati@amp.gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 881 (GlusterFS daemon hangs on replication of symlink (3.0.4)) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=881
* Changing readdir calls to readdirp calls in DHTshishir gowda2010-09-281-20/+11
| | | | | | | | | | | | Changing readdir calls to readdirp calls to handle layout issues seen in dht. Also, changing posix readdir call to do stat after dir read for readdirp. Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1690 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1690
* posix: remove variables used for maintaining generation numbersAmar Tumballi2010-09-142-50/+1
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 971 (dynamic volume management) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
* posix: fix an issue with existing data in case of readdirAmar Tumballi2010-09-141-4/+7
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1597 (readdirp fails if there is old data in the subvolumes) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1597
* posix: Copy gfid from stat to dirent for readdirpShehjar Tikoo2010-09-141-0/+1
| | | | | | | | Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 971 (dynamic volume management) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
* posix: remove gen related xattr usageAmar Tumballi2010-09-131-207/+69
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 971 (dynamic volume management) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
* gfid: handling of gfids in storage/posixAnand Avati2010-09-041-0/+72
| | | | | | | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com> Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 971 (dynamic volume management) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
* gfid: changes in symlink() prototype to have params dictionary with uuid in itAnand Avati2010-09-041-2/+3
| | | | | | | | | Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@amp.gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 971 (dynamic volume management) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
* gfid: changes in mkdir() prototype to have params dictionary with uuid in itAnand Avati2010-09-041-2/+2
| | | | | | | | | Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@amp.gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 971 (dynamic volume management) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
* gfid: changes in mknod() prototype to have params dictionary with uuid in itAnand Avati2010-09-041-2/+3
| | | | | | | | | Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@amp.gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 971 (dynamic volume management) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
* gfid: change in create() prototype to have params dictionary with uuid in itAnand Avati2010-09-041-1/+1
| | | | | | | | | Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@amp.gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 971 (dynamic volume management) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
* changes to client to make use of the rdma functionality.Raghavendra G2010-08-301-1/+1
| | | | | | | | | | | - preallocate buffers in client and pass them to transport layer whenever a large response is expected. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 513 (Introduce 0 copy rdma) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=513