00d65ec8e158121638ad8fa049b5f58960ad560c |
|
29-Aug-2014 |
John L. Hammond <john.hammond@intel.com> |
staging/lustre: move lustre_intent.h to .. Move lustre/include/linux/lustre_intent.h to lustre/include. Signed-off-by: John L. Hammond <john.hammond@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
d5fdc207845b64584a71fb75edc04fdfee3bacbc |
|
28-Aug-2014 |
Julia Lawall <Julia.Lawall@lip6.fr> |
staging: lustre: mdc: expand the GOTO macro The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier lbl; identifier rc; constant c; @@ - GOTO(lbl,\(rc\|c\)); + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); + rc; + goto lbl; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
21aef7d9d654416b8167ad8047a628d3968a97da |
|
15-Aug-2014 |
Oleg Drokin <green@linuxhacker.ru> |
staging/lustre: get rid of obd_* typedefs We have a bunch of typedefs for common things that made no sense and hid the actual type from plain view. Replace them with proper uXX or sXX types. Exception is in lustre_idl.h where they are replaced with __uXX and __sXX to be able to be included in userspace Signed-off-by: Oleg Drokin <green@linuxhacker.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
7591805af511b7f71fec87c69a539d1d0cfb93a1 |
|
15-Aug-2014 |
John L. Hammond <john.hammond@intel.com> |
staging/lustre/mdc: cleanup intent if mdc_finish_enqueue() fails In mdc_enqueue() clear the lock handle, lock mode, and request stored in the lookup intent if mdc_finish_enqueue() fails. Signed-off-by: John L. Hammond <john.hammond@intel.com> Reviewed-on: http://review.whamcloud.com/10963 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5289 Reviewed-by: Lai Siyao <lai.siyao@intel.com> Signed-off-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
ab909585b813193bb45f52367c1e7d056e33cfa9 |
|
11-Aug-2014 |
Srikrishan Malik <srikrishanmalik@gmail.com> |
staging: lustre: Cleanup variable declarations in mdc_enqueue() Changes: - move const union vars to the top - move rc to bottom - do not initialize req - set lvb_type to enum member instead of 0 - change __u64 to u64 - fix inconsistant columnization Signed-off-by: Srikrishan Malik <srikrishanmalik@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
1a4cd3e9d53d786367c30e3a2a0864b69d370b3c |
|
11-Aug-2014 |
Srikrishan Malik <srikrishanmalik@gmail.com> |
staging: lustre: Fix misplaced opening brace warnings Fixes the following checkpatch error: ERROR: that open brace { should be on the previous line Signed-off-by: Srikrishan Malik <srikrishanmalik@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
c35e01ff0859d77d2dea5cca974acf798a940e18 |
|
11-Aug-2014 |
Srikrishan Malik <srikrishanmalik@gmail.com> |
staging: lustre: Added space between type name and * Fixes the following checkpatch error: ERROR: "(foo*)" should be "(foo *)" Signed-off-by: Srikrishan Malik <srikrishanmalik@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
ee990b3368d678611fd4d28ae702a3c24ea1d76c |
|
13-Aug-2014 |
Srikrishan Malik <srikrishanmalik@gmail.com> |
] staging: lustre: fix multi line strings Fixes the following checkpatch warning: WARNING: quoted string split across lines Signed-off-by: Srikrishan Malik <srikrishanmalik@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
7436d0704fd3fc98287bded7f30ad2b9b3a7e61b |
|
11-Aug-2014 |
Srikrishan Malik <srikrishanmalik@gmail.com> |
staging: lustre: add blank lines after declarations Fixes the following checkpatch warning: WARNING: Missing a blank line after declarations Signed-off-by: Srikrishan Malik <srikrishanmalik@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
301af9068dd1b72ee80d0321b67eb5d76e08b3c0 |
|
11-Aug-2014 |
Srikrishan Malik <srikrishanmalik@gmail.com> |
staging: lustre: Add missing spaces around operators and braces. Fixes the following checkpatch errors: ERROR: space required after that ',' (ctx:VxV) ERROR: space required after that close brace '}' Signed-off-by: Srikrishan Malik <srikrishanmalik@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
e5e663ae7a6dc2c402211d38a65b12a189220723 |
|
11-Aug-2014 |
Srikrishan Malik <srikrishanmalik@gmail.com> |
staging: lustre: fix lines over 80 chars Fixes the following checkpatch warning: WARNING: line over 80 characters Signed-off-by: Srikrishan Malik <srikrishanmalik@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
ffdac6ce36580cacb72ab7775cc52e947c62721c |
|
11-Aug-2014 |
Srikrishan Malik <srikrishanmalik@gmail.com> |
staging: lustre: remove space between function name and and open parenthesis Fixes following checkpatch warning: WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Srikrishan Malik <srikrishanmalik@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
7264b8a5db30b717b39394234fd3bb7dabdbda92 |
|
12-Jul-2014 |
Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
staging: lustre: remove cfs_time_current_sec wrapper Just call get_seconds() directly. Cc: Andreas Dilger <andreas.dilger@intel.com> Cc: Oleg Drokin <oleg.drokin@intel.com> Cc: hpdd-discuss <hpdd-discuss@lists.01.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
05932307435e66978f82c16fb479fd43d0f69311 |
|
12-Jul-2014 |
Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
staging: lustre: mdc: remove ccflags from Makefile Fix up the relative paths in the .c files to properly build with the Makefile change. Cc: Andreas Dilger <andreas.dilger@intel.com> Cc: Oleg Drokin <oleg.drokin@intel.com> Cc: hpdd-discuss <hpdd-discuss@lists.01.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
2c5808367ca0646d013a5f8b6882c737c5b930f9 |
|
27-Apr-2014 |
wang di <di.wang@intel.com> |
staging/lustre/mdc: use cl_max_mds_md to pack getattr RPC In some cases, cl_default_mds_easize might be zero, especially for MDC connected to non-MDT0, then mdc might pack getattr RPC with zero eadatasize. If client is trying to access remote striped directory with zero eadatasize, MDT will not return layout information of the striped direcotry, which will be mis-regarded as non-striped directory. So we should use cl_max_mds_easize if cl_default_mds_easize is zero. Signed-off-by: wang di <di.wang@intel.com> Reviewed-on: http://review.whamcloud.com/9862 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4847 Reviewed-by: Andreas Dilger <andreas.dilger@intel.com> Signed-off-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
44779340c6dcb8c858955c02b3aeef7d6b28a684 |
|
27-Apr-2014 |
Brian Behlendorf <behlendorf1@llnl.gov> |
staging/lustre: Limit reply buffer size When allocating a reply buffer for the striping information don't assume the unlikely worst case. Instead, assume the common case and size the buffer based on the observed default ea/cookie size. The default size is initialized to a single stripe and allowed to grow up to an entire page if needed. This means that for smallish filesystems (less than ~21 OSTs) where the worst case striping information can fit in a single page there is effectively no change. Only for larger filesystem will the default be less than the maximum. This has a number of advantages. * By limiting the default reply buffer size we avoid always vmalloc()'ing the buffer because it exceeds four pages in size and instead kmalloc() it. This prevents the client from thrashing on the global vmalloc() spin lock. * A reply buffer of exactly the right size (no larger) is allocated in the overflow case. These larger reply buffers are still unlikely to exceed the 16k limit where a vmalloc() will occur. * Saves memory in the common case. Wide striped files exceeded the default are expected to be the exception. The reason this patch works is because the ptlrpc layer is smart enough to reallocate the reply buffer when an overflow occurs. Therefore the client doesn't have to drop the incoming reply and send a new request with a larger reply buffer. It's also worth mentioning that the reply buffer always contains a significant amount of extra padding because they are rounded up to the nearest power of two. This means that even files striped wider than the default have a good chance of fitting in the allocated reply buffer. Also remove client eadatasize check in mdt xattr packing because as said above client can handle -EOVERFLOW. Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Lai Siyao <lai.siyao@intel.com> Reviewed-on: http://review.whamcloud.com/6339 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3338 Reviewed-by: James Simmons <uja.ornl@gmail.com> Reviewed-by: Andreas Dilger <andreas.dilger@intel.com> Reviewed-by: Bob Glossman <bob.glossman@intel.com> Signed-off-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
e49634bbf2eb3d4cd31b562433af2104b25021c1 |
|
27-Apr-2014 |
Andreas Dilger <andreas.dilger@intel.com> |
staging/lustre: quiet console permission error messages Quiet some common console error messages for permission errors that can be hit in common cases. Signed-off-by: Andreas Dilger <andreas.dilger@intel.com> Reviewed-on: http://review.whamcloud.com/8988 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4522 Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com> Reviewed-by: Faccini Bruno <bruno.faccini@intel.com> Reviewed-by: Bob Glossman <bob.glossman@intel.com> Signed-off-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
88005c5fc01ac01bff18a7d1004ff5a850d162ac |
|
19-Mar-2014 |
Tugce Sirin <ztugcesirin@gmail.com> |
Staging: lustre: Fix space required before the open parenthesis This patch fixes space required before the open parenthesis in lustre driver. Signed-off-by: Tugce Sirin <ztugcesirin@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
34ca8748e0aaff8bb4f6119bff6197392acd7a83 |
|
08-Mar-2014 |
Masanari Iida <standby24x7@gmail.com> |
staging: lustre: Fix spelling typo in various part of luster This patch fix spelling typo in comments within various part of luster sources. Signed-off-by: Masanari Iida <standby24x7@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
04aa5d15cbd3b288ef4f9fb2ed30cfb734726993 |
|
01-Mar-2014 |
Bruno Faccini <bruno.faccini@intel.com> |
lustre/ldlm: set l_lvb_type coherent when layout is returned In case layout has been packed into server reply when not requested, lock l_lvb_type must be set accordingly. Signed-off-by: Bruno Faccini <bruno.faccini@intel.com> Reviewed-on: http://review.whamcloud.com/8270 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4194 Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com> Reviewed-by: Johann Lombardi <johann.lombardi@intel.com> Signed-off-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
f236f69b48727d6459c02bfabcadb9bfaacbe504 |
|
01-Mar-2014 |
Lai Siyao <lai.siyao@intel.com> |
lustre/llite: simplify dentry revalidate Lustre client dentry validation is protected by LDLM lock, so any time a dentry is found, it's valid and no need to revalidate from MDS, and even it does, there is race that it may be invalidated after revalidation is finished. Signed-off-by: Lai Siyao <lai.siyao@intel.com> Reviewed-on: http://review.whamcloud.com/7475 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3544 Reviewed-by: Peng Tao <bergwolf@gmail.com> Reviewed-by: Bob Glossman <bob.glossman@intel.com> Reviewed-by: John L. Hammond <john.hammond@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
63d42578d5797fb6aa77d44d33d4d6f3ed330b40 |
|
01-Mar-2014 |
Hongchao Zhang <hongchao.zhang@intel.com> |
lustre/recovery: free open/close request promptly - For the non-create open or committed open, the open request should be freed along with the close request as soon as the close done, despite that the transno of open/close is greater than the last committed transno known by client or not. - Move the committed open request into another dedicated list, that will avoid scanning a huge replay list on receiving each reply (when there are many open files). Signed-off-by: Niu Yawei <yawei.niu@intel.com> Signed-off-by: Hongchao Zhang <hongchao.zhang@intel.com> Reviewed-on: http://review.whamcloud.com/6665 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-2613 Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
add882a8b59fe25ed35c64861908dadf739bc619 |
|
01-Mar-2014 |
John L. Hammond <john.hammond@intel.com> |
lustre/mdc: fix bad ERR_PTR usage in mdc_locks.c In mdc_intent_open_pack() return an ERR_PTR() rather than NULL when ldlm_prep_enqueue_req() fails. In mdc_intent_getattr_async() check the return value of mdc_intent_getattr_pack() using IS_ERR(). Clean up the includes in mdc_locks.c. Signed-off-by: John L. Hammond <john.hammond@intel.com> Reviewed-on: http://review.whamcloud.com/7886 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4078 Reviewed-by: Andreas Dilger <andreas.dilger@intel.com> Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com> Signed-off-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
6caea2f980ac446427b891b9681386cb10d636d7 |
|
01-Mar-2014 |
Alexey Lyashkov <alexey_lyashkov@xyratex.com> |
lustre/mdc: use ibits_known mask for lock match Before revalidating a lock on the client, mask the lock bits against the lock bits supported by the server (ibits_known), so newer clients will find valid locks given by older server versions. Signed-off-by: Patrick Farrell <paf@cray.com> Signed-off-by: Alexey Lyashkov <alexey_lyashkov@xyratex.com> Reviewed-on: http://review.whamcloud.com/8636 Xyratex-bug-id: MRP-1583 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4405 Reviewed-by: Andreas Dilger <andreas.dilger@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
fe4c58af2fa35d61d30aabd78bda9cfe53b009c3 |
|
01-Mar-2014 |
wang di <di.wang@intel.com> |
lustre/mdc: comments on LOOKUP and PERM lock Add more comments for MDS_INODELOCK_PERM and MDS_INODELOCK_LOOKUP Signed-off-by: wang di <di.wang@intel.com> Reviewed-on: http://review.whamcloud.com/7937 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3240 Reviewed-by: Andreas Dilger <andreas.dilger@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
bf08ee0d3fc93f590bd33930c8cbaddf39320dea |
|
01-Mar-2014 |
Oleg Drokin <green@linuxhacker.ru> |
lustre/mdc: Check for all attributes validity in revalidate GETATTR needs to return attributes protected by different bits, so we need to ensure all we have locks with all of those bits, not just UPDATE bit Signed-off-by: Alexey Lyashkov <alexey_lyashkov@xyratex.com> Signed-off-by: Oleg Drokin <oleg.drokin@intel.com> Reviewed-on: http://review.whamcloud.com/6460 Xyratex-bug-id: MRP-1052 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3240 Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com> Reviewed-by: wangdi <di.wang@intel.com> Reviewed-by: Andreas Dilger <andreas.dilger@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
e93a3082fc30dd648989f0986e482e0c914a502c |
|
09-Feb-2014 |
Andrew Perepechko <andrew_perepechko@xyratex.com> |
lustre/xattr: separate ACL and XATTR caches This patch separates ACL and XATTR caches, so that when updating an ACL only LOOKUP lock is needed and when updating another XATTR only XATTR lock is needed. This patch also reverts XATTR cache support for setxattr because client performing REINT under even PR lock will deadlock if an active server operation (like unlink) attempts to cancel all locks, and setxattr has to wait for it (MDC max-in-flight is 1). This patch disables the r/o cache if the data is unreasonably large (larger than maximum single EA size). Signed-off-by: Andrew Perepechko <andrew_perepechko@xyratex.com> Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com> Reviewed-on: http://review.whamcloud.com/7208 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3669 Reviewed-by: Andreas Dilger <andreas.dilger@intel.com> Reviewed-by: John L. Hammond <john.hammond@intel.com> Signed-off-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
885a947e5b08953ebd5fce88be89a0399a7ab918 |
|
10-Dec-2013 |
Paul Gortmaker <paul.gortmaker@windriver.com> |
staging: delete non-required instances of include <linux/init.h> None of these files are actually using any __init type directives and hence don't need to include <linux/init.h>. Most are just a left over from __devinit and __cpuinit removal, or simply due to code getting copied from one driver to the next. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
7fc1f831d83f5abfebab964a6bdbc057ff1205a6 |
|
03-Dec-2013 |
Andrew Perepechko <andrew_perepechko@xyratex.com> |
staging/lustre/llite: extended attribute cache This patch implements an extended attribute cache for a Lustre client. It is organized as a write-through cache: reads are performed from cache, updates are sent synchronously to the MDS. An additional inode bit MDS_INODELOCK_XATTR is added to protect the cache. Lustre-change: http://review.whamcloud.com/5537 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-2869 Signed-off-by: Andrew Perepechko <andrew_perepechko@xyratex.com> Reviewed-by: Andreas Dilger <andreas.dilger@intel.com> Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> [remove extra GPL notice in original patch as kernel already has one and it causes checkpatch error. -- Peng Tao] Signed-off-by: Peng Tao <bergwolf@gmail.com> Signed-off-by: Andreas Dilger <andreas.dilger@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
6d95e0481be819417a5ecef4e0effdb59133a68a |
|
21-Nov-2013 |
Andreas Dilger <andreas.dilger@intel.com> |
staging/lustre/ldlm: fix resource/fid check, use DLDLMRES In ll_md_blocking_ast() the FID/resource comparison is incorrectly checking for fid_ver() stored in res_id.name[2] instead of name[1] changed since http://review.whamcloud.com/2271 (commit 4f91d5161d00) landed. This does not impact current clients, since name[2] and fid_ver() are always zero, but it could cause problems in the future. In ldlm_cli_enqueue_fini() use ldlm_res_eq() instead of comparing each of the resource fields separately. Use DLDLMRES/PLDLMRES when printing resource names everywhere. Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-2901 Lustre-change: http://review.whamcloud.com/6592 Signed-off-by: Lai Siyao <lai.siyao@intel.com> Reviewed-by: Johann Lombardi <johann.lombardi@intel.com> Signed-off-by: Peng Tao <bergwolf@gmail.com> Signed-off-by: Andreas Dilger <andreas.dilger@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
d3a8a4e2d5e42e80625d734bb2bc5f71ecd9ffc1 |
|
19-Nov-2013 |
Jinshan Xiong <jinshan.xiong@intel.com> |
staging/lustre/hsm: Implementation of exclusive open Proposed way to do exclusive open: 0. First of all, we have to perform most of the work in kernel space; 1. Client exclusively opens the file with IT_RELEASE_OPEN. 1.1 exclusive open means the open will fail if the file is being opened by somebody else; 2. the MDT will handle IT_RELEASE as follows: 2.1 Revoke OPEN_LOCK on this file, just request EX mode of MDS_INODELOCK_OPEN lock and release it; 2.2 Acquire a rwsem, say open_rwsem, with write mode before trying to the file; for the normal open, it should acquire read mode of open_rwsem; 2.3 Check if the file is already being opened by others, if not return with -EBUSY; 2.4 Check if the file can be released; 2.5 Set a special flag in struct mdt_file_data to mark this open is exclusive; 2.5 Release open rwsem. >From now on, if the file is opened by others, it will mark mdt_file_data that the exclusive open is broken. 3. Client: if IT_RELEASE_OPEN is finished successfully, and do followings: 3.1 Acquire full PW or EX extent lock to flush dirty cache; 3.2 Pack the handle of layout lock, data version and other attars; 3.3 Close the file with IT_RELEASE_CLOSE. 4. Back to MDT to handle IT_RELEASE CLOSE: 4.1 Grab the open_rwsem 4.2 Check if the exclusive open has ever been broken, in that case, the RELEASE process will fail; 4.3 Verify the data version matches archive; 4.4 Grab EX layout lock 4.5 Swap the layout 4.6 Release EX layout lock 4.7 Close the exclusive open Basically we avoid granting EX layout lock back to client and introduce exclusive open so that we know it if the file has ever being accessed. I hope this can simplify things a little bit. Also, exclusive open can be used to implement file lease. In this patch, a framework of lease is implemented. However, only exclusive lease is supported right now. To apply a lease, MDS_OPEN_LEASE must be set to open the file, EX mode open lock is returned to the client side to hold a lease. From that time on, if this file is opened again by other processes, the open lock will be revoked so the client who holds the lease will know the lease is already broken by checking that open lock. To release a lease, normal close is used. The client will revoke the open lock before sending CLOSE request. Lease can be applied in two ways. ll_lease_open()/close() can be called directly if the lease holder is in kernel space; or if the lease holder lives in user space, it has to open the file first and then use ioctl() with command LL_IOC_SET_LEASE to apply a lease. The lease holder has to poll the lease status itself. Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-2919 Lustre-change: http://review.whamcloud.com/6730 Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com> Signed-off-by: John L. Hammond <john.hammond@intel.com> Reviewed-by: Andreas Dilger <andreas.dilger@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Peng Tao <bergwolf@gmail.com> Signed-off-by: Andreas Dilger <andreas.dilger@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
0a3bdb00710bf253ba8ba8f645645f22297c7a04 |
|
03-Aug-2013 |
Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
staging: lustre: remove RETURN macro We have a kernel-wide function tracing system, so use that instead of rolling a custom one just for one filesystem. Cc: Peng Tao <tao.peng@emc.com> Cc: Andreas Dilger <andreas.dilger@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
23f14e79ace301c1e46b52344ce02e72254c57b6 |
|
03-Aug-2013 |
Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
staging: lustre: remove EXIT macro We have a kernel-wide function tracing system, so use that instead of rolling a custom one just for one filesystem. Cc: Peng Tao <tao.peng@emc.com> Cc: Andreas Dilger <andreas.dilger@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
29aaf4962a3bce337d37176858ef1025b9f29cc4 |
|
02-Aug-2013 |
Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
staging: lustre: remove ENTRY macro We have a kernel-wide function tracing system, so use that instead of rolling a custom one just for one filesystem. Cc: Peng Tao <tao.peng@emc.com> Cc: Andreas Dilger <andreas.dilger@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
cd6b328cd0c79bba866ffb60ff447b84cfaacf3b |
|
22-Jul-2013 |
Bruno Faccini <bruno.faccini@intel.com> |
staging/lustre/mdc: Keep resend FLocks FLocks requests (particulary F_UNLCKs) can't be trashed upon comm problems with Server/MDS nor upon kill/exit, thus we need to keep retry/send. Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-2665 Lustre-change: http://review.whamcloud.com/6415 Signed-off-by: Bruno Faccini <bruno.faccini@intel.com> Reviewed-by: Bobi Jam <bobijam@gmail.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Peng Tao <tao.peng@emc.com> Signed-off-by: Andreas Dilger <andreas.dilger@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
f2145eae3d4d7c93fcbd7013bbf31db76bdd0ad4 |
|
22-Jul-2013 |
Bruce Korb <bruce_korb@xyratex.com> |
staging/lustre/dlmlock: compress out unused space * lustre/include/lustre_dlm.h: Remove all bit fields and the unused weighing callback procedure. respell LDLM_AST_DISCARD_DATA as LDLM_FL_AST_DISCARD_DATA to match other flags. * .gitignore: ignore emacs temporary files * autogen.sh: rebuild the lock bits, if autogen is available. * contrib/bit-masks/lustre_dlm_flags.def: define the ldlm_lock flags * contrib/bit-masks/lustre_dlm_flags.tpl: template for emitting text * contrib/bit-masks/Makefile: construct the .c and .h files The .c file is for constructing a crash extension and is not preserved. * contrib/bit-masks/.gitignore: ignore built products * lustre/contrib/wireshark/packet-lustre.c: use built files instead of local versions of the defines. In the rest of the modified sources, replace flag field references with bit mask references. * lustre/osc/osc_lock.c: removed osc_lock_weigh, too Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-2771 Lustre-change: http://review.whamcloud.com/5312 Signed-off-by: Bruce Korb <bruce_korb@xyratex.com> Reviewed-by: Andreas Dilger <andreas.dilger@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Reviewed-by: Keith Mannthey <Keith.Mannthey@intel.com> Reviewed-by: Keith Mannthey <keith.mannthey@intel.com> Reviewed-by: <bruce.korb@gmail.com> Signed-off-by: Peng Tao <tao.peng@emc.com> Signed-off-by: Andreas Dilger <andreas.dilger@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
bdf43213f9e7faf980025f44ec82b80caf453e8d |
|
22-Jul-2013 |
jcl <jacques-charles.lafoucriere@cea.fr> |
staging/lustre/mdc: layout lock rpc must not take rpc_lock When a client issue an RPC to get a layout lock, it must not hold rpc_lock because in case of a restore the rpc can be blocking for a long time Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3200 Lustre-change: http://review.whamcloud.com/6115 Signed-off-by: JC Lafoucriere <jacques-charles.lafoucriere@cea.fr> Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com> Reviewed-by: Johann Lombardi <johann.lombardi@intel.com> Signed-off-by: Peng Tao <tao.peng@emc.com> Signed-off-by: Andreas Dilger <andreas.dilger@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
2d58de78b2f6c53688a154b02bae3ada19ed15a9 |
|
22-Jul-2013 |
Li Wei <wei.g.li@intel.com> |
staging/lustre/ptlrpc: Translate between host and network errnos Lustre puts system errors (e.g., ENOTCONN) on wire as numbers essentially specific to senders' architectures. While this is fine for x86-only sites, where receivers share the same error number definition with senders, problems will arise, however, for sites involving multiple architectures with different error number definitions. For instance, an ENOTCONN reply from a sparc server will be put on wire as -57, which, for an x86 client, means EBADSLT instead. To solve the problem, this patch defines a set of network errors for on-wire or on-disk uses. These errors correspond to a subset of the x86 system errors and share the same number definition, maintaining compatibility with existing x86 clients and servers. Then, either error numbers could be translated at run time, or all host errors going on wire could be replaced with network errors in the code. This patch does the former by introducing both generic and field-specific translation routines and calling them at proper places, so that translations for existing fields are transparent. (Personally, I tend to think the latter way might be worthwhile, as it is more straightforward conceptually. Do we really need so many different errors? Should errors returned by kernel routines really be passed up and eventually put on wire? There could even be security implications in that.) Thank Fujitsu for the original idea and their contributions that make this available upstream. Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-2743 Lustre-change: http://review.whamcloud.com/5577 Signed-off-by: Li Wei <wei.g.li@intel.com> Reviewed-by: Andreas Dilger <andreas.dilger@intel.com> Reviewed-by: Hiroya Nozaki <nozaki.hiroya@jp.fujitsu.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Peng Tao <tao.peng@emc.com> Signed-off-by: Andreas Dilger <andreas.dilger@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
d7e09d0397e84eefbabfd9cb353221f3c6448d83 |
|
02-May-2013 |
Peng Tao <bergwolf@gmail.com> |
staging: add Lustre file system client support Lustre is the most deployed distributed file system in the HPC (High Performance Computing) world. The patch adds its client side support. The code is not very clean and needs to live in drivers/staging for some time for continuing cleanup work. See drivers/staging/lustre/TODO for details. The code is based on Lustre master commit faefbfc04 commit faefbfc0460bc00f2ee4c1c1c86aa1e39b9eea49 Author: Alex Zhuravlev <alexey.zhuravlev@intel.com> Date: Tue Apr 30 23:05:21 2013 +0400 LU-3244 utils: tunefs.lustre should preserve virgin label Plus a few under-review patches on Whamcloud gerrit: 3.8 kernel support: http://review.whamcloud.com/#change,5973 http://review.whamcloud.com/#change,5974 http://review.whamcloud.com/#change,5768 http://review.whamcloud.com/#change,5781 http://review.whamcloud.com/#change,5763 http://review.whamcloud.com/#change,5613 http://review.whamcloud.com/#change,5655 3.9 kernel support: http://review.whamcloud.com/#change,5898 http://review.whamcloud.com/#change,5899 Kconfig/Kbuild: http://review.whamcloud.com/#change,4646 http://review.whamcloud.com/#change,4644 libcfs cleanup: http://review.whamcloud.com/#change,2831 http://review.whamcloud.com/#change,4775 http://review.whamcloud.com/#change,4776 http://review.whamcloud.com/#change,4777 http://review.whamcloud.com/#change,4778 http://review.whamcloud.com/#change,4779 http://review.whamcloud.com/#change,4780 All starting/trailing whitespaces are removed, to match kernel coding style. Also ran scripts/cleanfile on all lustre source files. [maked the Kconfig depend on BROKEN as the recent procfs changes causes this to fail - gregkh] Signed-off-by: Peng Tao <tao.peng@emc.com> Signed-off-by: Andreas Dilger <andreas.dilger@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|