- 07 Aug, 2020 8 commits
-
-
Lai Siyao authored
Pack parent FID in getattr request if OBD_CONNECT2_GETATTR_PFID is enabled, otherwise fill it with target FID for backward compatibility. Fixes: f9a2da63 ("LU-13437 mdt: don't fetch LOOKUP lock for remot...") Test-Parameters: clientversion=2.12 testlist=sanity env=SANITY_EXCEPT="27M 151 156" Test-Parameters: serverversion=2.12 testlist=sanity env=SANITY_EXCEPT="56 165 205b" Signed-off-by:
Lai Siyao <lai.siyao@whamcloud.com> Change-Id: Idcf8388b65dee1f0a09a53b240ce8303f3c6ff75 Reviewed-on: https://review.whamcloud.com/39290 Tested-by:
jenkins <devops@whamcloud.com> Reviewed-by:
Neil Brown <neilb@suse.de> Reviewed-by:
Andreas Dilger <adilger@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Chris Horn authored
Before the MR feature was implemented, it was not possible to configure multiple interfaces on the same LNet, so the ip2nets syntax did not allow for this. Now that we have MR feature, we should allow it to be configured via ip2nets syntax. e.g. o2ib(ib0) 10.10.10.1 o2ib(ib1) 10.10.10.2 A test is added for configuring LNet with kernel ip2nets parameter. setup_netns() refactored to facilitate the new test. cleanup_lnet() is modified to check whether lnet module is loaded before attempting lnetctl lnet unconfigured otherwise sanity-lnet.sh could exit with rc 234 on cleanup. Test-Parameters: trivial testlist=sanity-lnet HPE-bug-id: LUS-9046 Signed-off-by:
Chris Horn <chris.horn@hpe.com> Change-Id: Iafc3882035269073fd7e4abb53d138d9267f6e21 Reviewed-on: https://review.whamcloud.com/39227 Reviewed-by:
James Simmons <jsimmons@infradead.org> Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Neil Brown <neilb@suse.de> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Mr NeilBrown authored
This refcount is not explicitly initialized, so is implicitly initialized to zero. This prohibits the use lnet_peer_ni_addref_locked() for taking the first reference, so a couple of places open-code the atomic_inc just in case. There is code in lnet_peer_add_nid() which drops a reference before accessing the structure. This isn't actually wrong, but it looks weird. lnet_destroy_peer_ni_locked() makes assumptions about the content of the structure, so it cannot be used on a partially initialized structure. All these special cases make the code harder to understand. This patch cleans this up: - lpni_refcount is now initialized to one, so the called for lnet_peer_ni_alloc() now owns a reference and must be sure to release it. - lnet_peer_attach_peer_ni() now consumes a reference to the lpni. A pointer returned by lnet_peer_ni_alloc() is most often passed to lnet_peer_attach_peer_ni() so these to changes largely cancel each other out - not completely - The two 'atomic_inc' calls are changed to 'lnet_peer_ni_addref_locked(). - A LIBCFS_FREE() is replaced by lnet_peer_ni_decref_locked(), and that function is improved to cope with lpni_hashlist being empty, or ->lpni_net being NULL. - lnet_peer_add_nid() now holds a reference on the lpni until it don't need it any more, then explicity drops it. This should make no functional change, but should make the code a little less confusing. Signed-off-by:
Mr NeilBrown <neilb@suse.de> Change-Id: Iec312e637d1e7b6eb14f2c363843403dd5cf8e8f Reviewed-on: https://review.whamcloud.com/39120 Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Chris Horn <chris.horn@hpe.com> Reviewed-by:
James Simmons <jsimmons@infradead.org> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Mr NeilBrown authored
lnet_print_hdr() is unused, and has not been used in git history since at least 2004. So remove it. Test-Parameters: trivial Signed-off-by:
Mr NeilBrown <neilb@suse.de> Change-Id: I0d72726b69f205a8c62ae4dbf1423f6e745db5fe Reviewed-on: https://review.whamcloud.com/39358 Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
James Simmons <jsimmons@infradead.org> Reviewed-by:
Chris Horn <chris.horn@hpe.com> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Mr NeilBrown authored
Noe of ksocknal_query(), ksocknal_notify(), and ksocknal_lib_bind_thread_to_cpu() exist, so don't declare them. Test-Parameters: trivial Signed-off-by:
Mr NeilBrown <neilb@suse.de> Change-Id: Ice87c317f116bda9c04dcaa285bc7ba47be219ca Reviewed-on: https://review.whamcloud.com/39326 Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
James Simmons <jsimmons@infradead.org> Reviewed-by:
Alexey Lyashkov <alexey.lyashkov@hpe.com> Reviewed-by:
Chris Horn <chris.horn@hpe.com> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Chris Horn authored
Edge (final-hop) routers typically use the non-multi-rail destination (NMR_DST) send case. i.e. they treat the destination as non-multi-rail. The reason for this is that we do not want routers to modify the destination peer interface selected by the message originator. As a result of using the NMR_DST send case, edge routers set a preferred NI, and then continue to use that NI, because it's preferred, even if the NI goes down and the router has other healthy interfaces available to it. Routers do not need to use the preferred NI selection logic when they are forwarding a message, so modify the NMR_DST algorithm to allow routers to select any suitable local NI. Test-Parameters: trivial HPE-bug-id: LUS-9045 Signed-off-by:
Chris Horn <chris.horn@hpe.com> Change-Id: Iae0fb47d58a70f640d316a8c85cf3058ca2f82eb Reviewed-on: https://review.whamcloud.com/39168 Reviewed-by:
Serguei Smirnov <ssmirnov@whamcloud.com> Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Neil Brown <neilb@suse.de> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Chris Horn authored
Add the appropriate option to the MD used for LNet pings and pushes to ensure that these are always tracked via LNet's response tracking mechanism, regardless of the value of lnet_response_tracking variable. Test-Parameters: trivial HPE-bug-id: LUS-8827 Signed-off-by:
Chris Horn <hornc@cray.com> Change-Id: I13d8ee42ccbb00c85843f64314b1f953d679a0dc Reviewed-on: https://review.whamcloud.com/38451 Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Neil Brown <neilb@suse.de> Reviewed-by:
Serguei Smirnov <ssmirnov@whamcloud.com> Reviewed-by:
James Simmons <jsimmons@infradead.org> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Chris Horn authored
Add lnet_response_tracking parameter which will be used to control the behavior of LNet response tracking. Test-Parameters: trivial HPE-bug-id: LUS-8827 Signed-off-by:
Chris Horn <hornc@cray.com> Change-Id: I9c5be488673bbaa3c3cb983fe099d2203c1d9fa7 Reviewed-on: https://review.whamcloud.com/38449 Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Neil Brown <neilb@suse.de> Reviewed-by:
Serguei Smirnov <ssmirnov@whamcloud.com> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
- 22 Jul, 2020 1 commit
-
-
Oleg Drokin authored
Change-Id: Iefb108c0dc97b0c69407e07ca08bcfc14f7dbfe2 Signed-off-by:
Oleg Drokin <green@whamcloud.com>
-
- 20 Jul, 2020 9 commits
-
-
Lai Siyao authored
Add OBD_CONNECT2_GETATTR_PFID connect flag to pack parent FID in getattr request, which will be used to check whether target is remote object, if so, don't take LOOKUP lock, otherwise client may see stale directory entries. Test-parameters: trivial Signed-off-by:
Lai Siyao <lai.siyao@whamcloud.com> Change-Id: Ibdf880934456f255f83cd4bac9d61ab5e1ed7330 Reviewed-on: https://review.whamcloud.com/39289 Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Andreas Dilger <adilger@whamcloud.com> Reviewed-by:
Neil Brown <neilb@suse.de> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Jian Yu authored
In RHEL 8.2 kernel 4.18.0-193.el8, VM_FAULT_RETRY is defined as an enumeration constant in linux/mm_types.h instead of a macro in linux/mm.h. This patch adds autoconf macros to check if VM_FAULT_RETRY is defined at configure time. Test-Parameters: clientdistro=el8.2 serverdistro=el8.2 \ testlist=sanity Test-Parameters: clientdistro=el8.1 serverdistro=el8.1 \ testlist=sanity Fixes: 2e813f3e ("LU-13731 llite: include linux/mm_types.h for VM_FAULT_RETRY") Change-Id: I2fdae7b62a53e447a7eb979787bdbd79423b787d Signed-off-by:
Jian Yu <yujian@whamcloud.com> Reviewed-on: https://review.whamcloud.com/39281 Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Andreas Dilger <adilger@whamcloud.com> Reviewed-by:
Ben Menadue <ben.menadue@anu.edu.au> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Emoly Liu authored
This patch is to match the root path in function get_root_path() correctly. For example, if the mount point is /mnt/lustre, the following root path formats are acceptable: - /mnt/lustre - /mnt/lustre/* sanity.sh test_154A/247d are modified to verify this patch. Signed-off-by:
Emoly Liu <emoly@whamcloud.com> Change-Id: If705dd341b273d462aeba280fa27d5608b5f3b7c Reviewed-on: https://review.whamcloud.com/39225 Tested-by:
jenkins <devops@whamcloud.com> Reviewed-by:
Andreas Dilger <adilger@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Jian Yu <yujian@whamcloud.com> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Sebastien Buisson authored
In osc_brw_fini_request(), page needs decryption only if it is not empty. To check this, use ZERO_PAGE macro available for all architectures, and compare with memcmp. It will likely be faster/more efficient than comparing the words by hand as may use optimized CPU instructions or ASM code. Signed-off-by:
Sebastien Buisson <sbuisson@ddn.com> Change-Id: I5e04b72790e8acbceb1989ba3659e170c0b11192 Reviewed-on: https://review.whamcloud.com/38918 Reviewed-by:
Andreas Dilger <adilger@whamcloud.com> Reviewed-by:
James Simmons <jsimmons@infradead.org> Tested-by:
jenkins <devops@whamcloud.com> Reviewed-by:
Mike Pershin <mpershin@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Sebastien Buisson authored
On client side, data read from DoM files do not go through the OSC layer. So implement file decryption in ll_dom_finish_open() right after file data has been put in cache pages. On server side, DoM file size needs to be properly set on MDT when content is encrypted. Pages are full of encrypted data, but inode size must be apparent, clear text object size. For reads of DoM encrypted files to work proprely, we also need to make sure we send whole encryption units to client side. Also add sanity-sec test_50 to exercise encryption of DoM files. Test-Parameters: testlist=sanity-sec envdefinitions=ONLY="36 37 38 39 40 41 42 43 44 45 46 47 48 49 50" clientdistro=el8.1 fstype=ldiskfs mdscount=2 mdtcount=4 Test-Parameters: testlist=sanity-sec envdefinitions=ONLY="36 37 38 39 40 41 42 43 44 45 46 47 48 49 50" clientdistro=el8.1 fstype=zfs mdscount=2 mdtcount=4 Signed-off-by:
Sebastien Buisson <sbuisson@ddn.com> Change-Id: I7721ca4085373a7a01b2062c37458a7136e646e0 Reviewed-on: https://review.whamcloud.com/38702 Reviewed-by:
Andreas Dilger <adilger@whamcloud.com> Reviewed-by:
Mike Pershin <mpershin@whamcloud.com> Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Sebastien Buisson authored
In case some buffers need to be moved because of segment growth from req_capsule_server_grow(), just set buflen to old length before actually calling lustre_grow_msg(). Signed-off-by:
Sebastien Buisson <sbuisson@ddn.com> Change-Id: I6707927a0f24c0637dbc79aa91788122a84ab8c4 Reviewed-on: https://review.whamcloud.com/38701 Reviewed-by:
Mike Pershin <mpershin@whamcloud.com> Reviewed-by:
Andreas Dilger <adilger@whamcloud.com> Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Sergey Cheremencev authored
Add sanity-quota_71a that does write to a file consisted of 2 components on different OSTs(each OST relates to unique pool). Check that limits in quota pools work properly. sanity-quota_71b does the same but for a file with SEL. Test-Parameters: envdefinitions=ONLY=71 testlist=sanity-quota Change-Id: I835bec4c9b21c287142e1df9b4cfe797ec68fbef Signed-off-by:
Sergey Cheremencev <sergey.cheremencev@hpe.com> Reviewed-on: https://review.whamcloud.com/38661 Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Andreas Dilger <adilger@whamcloud.com> Reviewed-by:
Alexander Boyko <alexander.boyko@hpe.com> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Sebastien Buisson authored
Encryption layer needs to set an encryption context on files and dirs that are encrypted. This context is stored as an extended attribute, that then needs to be fetched upon metadata ops like lookup, getattr, open, truncate, and layout. With this patch we send encryption context to the MDT along with create RPCs. This closes the insecure window between creation and setting of the encryption context, and saves a setxattr request. This patch also introduces a way to have the MDT return encryption context upon granted lock reply, making the encryption context retrieval atomic, and sparing the client an additional getxattr request. Test-Parameters: testlist=sanity-sec envdefinitions=ONLY="36 37 38 39 40 41 42 43 44 45 46 47 48 49" clientdistro=el8.1 fstype=ldiskfs mdscount=2 mdtcount=4 Test-Parameters: testlist=sanity-sec envdefinitions=ONLY="36 37 38 39 40 41 42 43 44 45 46 47 48 49" clientdistro=el8.1 fstype=zfs mdscount=2 mdtcount=4 Test-Parameters: clientversion=2.12 env=SANITY_EXCEPT="27M 56ra 151 156 802" Test-Parameters: serverversion=2.12 env=SANITY_EXCEPT="56oc 56od 165a 165b 165d 205b" Test-Parameters: serverversion=2.12 clientdistro=el8.1 env=SANITYN_EXCEPT=106,SANITY_EXCEPT="56oc 56od 165a 165b 165d 205b" Signed-off-by:
Sebastien Buisson <sbuisson@ddn.com> Change-Id: I45599cdff13d5587103aff6edd699abcda6cb8f4 Reviewed-on: https://review.whamcloud.com/38430 Tested-by:
jenkins <devops@whamcloud.com> Reviewed-by:
Andreas Dilger <adilger@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Mike Pershin <mpershin@whamcloud.com> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Sebastien Buisson authored
Force file/directory name encryption policy to null on newly created inodes. This is required because first implementation step of client side encryption only supports content encryption, and not names. This imposes to force usage of embedded llcrypt lib to the detriment of in-kernel fscrypt lib, even if the kernel provides it. This patch will have to be reverted when name encryption is implemented. Test-Parameters: testlist=sanity-sec envdefinitions=ONLY="36 37 38 39 40 41 42 43 44 45 46 47 48" clientdistro=el8.1 fstype=ldiskfs mdscount=2 mdtcount=4 Test-Parameters: testlist=sanity-sec envdefinitions=ONLY="36 37 38 39 40 41 42 43 44 45 46 47 48" clientdistro=el8.1 fstype=zfs mdscount=2 mdtcount=4 Signed-off-by:
Sebastien Buisson <sbuisson@ddn.com> Change-Id: Ia697a29006507278c218088d7c3a5e5ade620a15 Reviewed-on: https://review.whamcloud.com/38882 Reviewed-by:
James Simmons <jsimmons@infradead.org> Reviewed-by:
Andreas Dilger <adilger@whamcloud.com> Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
- 18 Jul, 2020 1 commit
-
-
Oleg Drokin authored
no writes to random Lustre source locations as they could be readonly Test-Parameters: trivial Test-Parameters: fstype=ldiskfs testlist=pjdfstest Test-Parameters: fstype=zfs testlist=pjdfstest Change-Id: Icd262a698390eadf4b53cd5d311bc6c2a561a79e Signed-off-by:
Oleg Drokin <green@whamcloud.com> Reviewed-on: https://review.whamcloud.com/39338 Reviewed-by:
James Nunez <jnunez@whamcloud.com> Reviewed-by:
Wei Liu <sarah@whamcloud.com> Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com>
-
- 17 Jul, 2020 11 commits
-
-
Sebastien Buisson authored
Introduce a "null" algorithm for client side filename encryption, which is basically a no-op. This is needed because first implementation step only supports content encryption, and not names. So give the ability to support encryption policies that have a 'filenames_encryption_mode' property internally set to LLCRYPT_MODE_NULL. Signed-off-by:
Sebastien Buisson <sbuisson@ddn.com> Change-Id: I3470f89f227b3a03e56766fe1ba5e36ae92ec27b Reviewed-on: https://review.whamcloud.com/38881 Reviewed-by:
Andreas Dilger <adilger@whamcloud.com> Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Yingjin Qian <qian@ddn.com> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Shaun Tancheff authored
This iteration re-used the serial tests internal name for the parallel test variant. This name clashing causes builds to fail. Remedy this by adding a postfix tag the internal unique identifier of the converted parallel tests. Test-Parameters: trivial Signed-off-by:
Shaun Tancheff <shaun.tancheff@hpe.com> Change-Id: Ia39bf2e0004abd10a0c7b146eb2ef1cf62e6d891 Reviewed-on: https://review.whamcloud.com/39161 Reviewed-by:
Andreas Dilger <adilger@whamcloud.com> Reviewed-by:
James Simmons <jsimmons@infradead.org> Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Patrick Farrell <farr0186@gmail.com>
-
Vitaly Fertman authored
some files are created with a sel layout if RACER_ENABLE_SEL is set Test-Parameters: testlist=racer envdefinitions="RACER_ENABLE_SEL=true" Signed-off-by:
Vitaly Fertman <c17818@cray.com> Change-Id: I1f699988fdd0a0dbb19b71d6ea353d68326d0d5b Reviewed-by:
Alexander Zarochentsev <c17826@cray.com> Reviewed-by:
Elena Gryaznova <c17455@cray.com> Tested-by:
Elena Gryaznova <c17455@cray.com> Reviewed-on: https://es-gerrit.dev.cray.com/156106 HPE-bug-id: LUS-7591 Reviewed-on: https://review.whamcloud.com/37959 Reviewed-by:
Andreas Dilger <adilger@whamcloud.com> Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Vitaly Fertman authored
lod_statfs_and_check() may consider an OST as OK, but SEL needs its extension size to fit the free space and the OST may turn out to be low-on-space, thus inappropriate OST may be chosen, SEL cannot use it and ENOSPC occurs. Take the extension size into account at the object allocation time. If none of OSTs is able to allocate an object, try to allocate in old manner instead of returning ENOSPC from lod_qos_prep_create(). Adjust tests to work on smaller extension sizes to fit into OSTs used for sanity tests to enable the new logic above. Signed-off-by:
Vitaly Fertman <c17818@cray.com> Change-Id: If5159200a72a68a7261aa7031e58a1ac6a8e3f24 Reviewed-by:
Alexey Lyashkov <c17817@cray.com> Reviewed-by:
Andriy Skulysh <c17819@cray.com> Tested-by:
Elena Gryaznova <c17455@cray.com> Reviewed-on: https://es-gerrit.dev.cray.com/156372 HPE-bug-id: LUS-8157 Reviewed-on: https://review.whamcloud.com/37961 Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Alexey Lyashkov <alexey.lyashkov@hpe.com> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Shaun Tancheff authored
Linux 5.6 introduces proc_ops with v5.5-8862-gd56c0d45f0e2 proc: decouple proc from VFS with "struct proc_ops" Separate debugfs usage and procfs usage to prepare for the divergence of debugfs using file_operations and procfs using proc_ops HPE-bug-id: LUS-8589 Signed-off-by:
Shaun Tancheff <shaun.tancheff@hpe.com> Change-Id: I1746e563b55a9e89f90ac01843c304fe6b690d8b Reviewed-on: https://review.whamcloud.com/37834 Reviewed-by:
Petros Koutoupis <petros.koutoupis@hpe.com> Reviewed-by:
Neil Brown <neilb@suse.de> Reviewed-by:
James Simmons <jsimmons@infradead.org> Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Patrick Farrell authored
DIO reads in Lustre are protected by Lustre range locking and do not need the inode mutex. This code was removed in LU-1669, the range lock was added for DIO reads in LU-6227, and then the mutex was accidentally re-introduced in LU-6260. Remove it again. Test-Parameters: envdefinitions=ONLY=16 testlist=sanityn,sanityn,sanityn,sanityn,sanityn,sanityn,sanityn,sanityn Fixes: 98883bd3 ("LU-6260 llite: add support for direct IO api changes") Signed-off-by:
Patrick Farrell <farr0186@gmail.com> Change-Id: I5b3570e83a4b4ff36d9a22bc6bd3be5d5f991924 Reviewed-on: https://review.whamcloud.com/37419 Reviewed-by:
Wang Shilong <wshilong@whamcloud.com> Tested-by:
jenkins <devops@whamcloud.com> Reviewed-by:
Neil Brown <neilb@suse.de> Tested-by:
Shuichi Ihara <sihara@ddn.com> Reviewed-by:
James Simmons <jsimmons@infradead.org> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Mr NeilBrown authored
This new C file contains acl related code so it can be conditionally compiled. Also remove conditional code around the call to mdc_unpack_acl(), as those tests are already performed inside mdc_unpack_acl(). In the Makefile, use CONFIG_FS_POSIX_ACL to control conditional compilation as CONFIG_LUSTRE_FS_POSIX_ACL is not available, but the two are semantically equivalent in this context. This removes all #ifdef of CONFIG_LUSTRE_FS_POSIX_ACL from C files in 'mdc'. Signed-off-by:
Mr NeilBrown <neilb@suse.de> Change-Id: Ic9060bee4a2ad55580d8879fe32fee01b1cb8884 Reviewed-on: https://review.whamcloud.com/39292 Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
James Simmons <jsimmons@infradead.org> Reviewed-by:
Lai Siyao <lai.siyao@whamcloud.com> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Mr NeilBrown authored
This function needs to be called from the obdclass modules, but is currently defined in a module that depends on that module. The get around this interdependence, a global variable ptlrpc_put_connection_superhack is used to make a pointer to the function available. Rather than this hack, we can make ptlrpc_connection_put() static-inline. This does expose some details of ptlrpc to obdclass, but there is already a fairly tight connection. Also change the return value to 'void' as it is never used, and don't bother checking for NULL before calling, as the function has its own test for NULL. Signed-off-by:
Mr NeilBrown <neilb@suse.de> Change-Id: I37333b78e410e8c46bddc468c31bed61dd9e7b33 Reviewed-on: https://review.whamcloud.com/39291 Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Sebastien Buisson <sbuisson@ddn.com> Reviewed-by:
Alex Zhuravlev <bzzz@whamcloud.com> Reviewed-by:
James Simmons <jsimmons@infradead.org> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Mr NeilBrown authored
obd_statfs() can call lmv_statfs() with ->obd_dev_mutex helds. lmv_statfs will then call obd_statfs() on a different device and ->obd_dev_mutex will be taken again. This is a *different* mutex, but lockdep cannot see the difference, so it complains. We can tell lockdep not to worry in this case using mutex_lock_interruptible_nested(). Test-Parameters: trivial Signed-off-by:
Mr NeilBrown <neilb@suse.de> Change-Id: I0776407b722dd29ab1321289953b63f76fce7ceb Reviewed-on: https://review.whamcloud.com/39248 Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
James Simmons <jsimmons@infradead.org> Reviewed-by:
Shaun Tancheff <shaun.tancheff@hpe.com> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Sebastien Buisson authored
Linux 5.3 changed struct cache_detail readers to writers. As this mechanism is used by GSS authentication in Lustre via SunRPC, we need to make sure lsvcgssd daemon does open /proc/net/rpc/auth.sptlrpc.init/channel in R+W mode. It also affects CentOS/RHEL 7.8, as the kernel commit was ported to these distros. Test-Parameters: trivial Test-Parameters: env=SHARED_KEY=true,SANITY_EXCEPT="56w 405" mdscount=2 mdtcount=4 osscount=2 ostcount=8 testlist=sanity,recovery-small,sanity-sec Signed-off-by:
Sebastien Buisson <sbuisson@ddn.com> Change-Id: If88802d4f2bc3168dda4f79fe57f2f44ac7ef39e Reviewed-on: https://review.whamcloud.com/39297 Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Petros Koutoupis <petros.koutoupis@hpe.com> Reviewed-by:
John L. Hammond <jhammond@whamcloud.com> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Bobi Jam authored
This patch fixes another case where the truncate write intent extent is set incorrectly. This may cause errors when truncating PFL files to exactly the boundary between two extents. Fixes: c32c7401 ("LU-12586 lov: Correct write_intent end for trunc") Signed-off-by:
Bobi Jam <bobijam@whamcloud.com> Change-Id: I40f14a48c53bfd1e6442e4414ee30f9eb159fc02 Reviewed-on: https://review.whamcloud.com/38412 Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Wang Shilong <wshilong@whamcloud.com> Reviewed-by:
Li Dongyang <dongyangli@ddn.com> Reviewed-by:
Andreas Dilger <adilger@whamcloud.com>
-
- 10 Jul, 2020 10 commits
-
-
Wang Shilong authored
It might be possible during OST mounting, two targets reach iam_format_guess() at the same time, if @initialized is 0, they both access iam_lxx_format_init(), however list operation inside is not protected by any locking which cause list corruptions finally. We could fix this by doing formats registration in module init, since there are only two formats, just remove pointless list. Signed-off-by:
Wang Shilong <wshilong@ddn.com> Change-Id: I6dd5a4d1297792b47fb4b94052465a7e0f9123aa Reviewed-on: https://review.whamcloud.com/39213 Tested-by:
jenkins <devops@whamcloud.com> Reviewed-by:
Andreas Dilger <adilger@whamcloud.com> Reviewed-by:
John L. Hammond <jhammond@whamcloud.com> Reviewed-by:
Yingjin Qian <qian@ddn.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Amir Shehata authored
The rtr_nid is specified for all REPLY/ACK. However it is possible for the route through the gateway specified by rtr_nid to be removed. In this case we don't want to use it. We should lookup alternative paths. This patch checks if the peer looked up is indeed a gateway. If it's not a gateway then we attempt to find another path. There is no need to fail right away. It's not a hard requirement to fail if the default rtr_nid is not valid. Test-Parameters: trivial Signed-off-by:
Amir Shehata <ashehata@whamcloud.com> Change-Id: Ic1c93b7c6c2c8060e2cfeb8fb1cb875dbc3010f7 Reviewed-on: https://review.whamcloud.com/39175 Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Chris Horn <chris.horn@hpe.com> Reviewed-by:
Serguei Smirnov <ssmirnov@whamcloud.com> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Mr NeilBrown authored
This variable is treated like an atomic_t, but a global spinlock is used to protect updates - and also unnecessarily to protect reads. Change to atomic_t and avoid using the spinlock. Signed-off-by:
Mr NeilBrown <neilb@suse.de> Change-Id: Id94d280875a9e115dc077253c49e97a725dc91e1 Reviewed-on: https://review.whamcloud.com/39121 Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
James Simmons <jsimmons@infradead.org> Reviewed-by:
Chris Horn <chris.horn@hpe.com> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Wang Shilong authored
The problem is currently AIO could not handle i/o size > stripe size: We need cl io loop to handle io across stripes, since -EIOCBQUEUED is returned for AIO, io loop will be stopped thus short io happen. The patch try to fix the problem by making IO engine aware of special error, and it will be proceed to finish all IO requests. Fixes: d1dde ("LU-4198 clio: AIO support for direct IO") Signed-off-by:
Wang Shilong <wshilong@ddn.com> Change-Id: I1885e0fc510571417d888249b381f9c2f130ca5a Reviewed-on: https://review.whamcloud.com/39104 Tested-by:
jenkins <devops@whamcloud.com> Reviewed-by:
Andreas Dilger <adilger@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Bobi Jam <bobijam@hotmail.com> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Emoly Liu authored
param->fp_xxx_index is the number of the specified targets, not the specific index, so it can't be passed into llapi_obd_statfs() directly to get the statfs information. Instead, all the targets listed in param->fp_xxx_indexes should be passed one by one. Also, $mdt_idx in sanity.sh test_56rb should be initialized with the correct mdt index. Signed-off-by:
Emoly Liu <emoly@whamcloud.com> Change-Id: Idffdddac1b5b249aa903b97912c767826f3b146c Reviewed-on: https://review.whamcloud.com/38959 Reviewed-by:
Mike Pershin <mpershin@whamcloud.com> Reviewed-by:
Andreas Dilger <adilger@whamcloud.com> Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Etienne AUJAMES authored
strtoul function return a 64bits value on a 64bits system, so an overflow occurs when we store user value into a quota/project structure. This commit apply the same 32 bits verification for "lfs" project, quota,setquota and find commands on uid, gid and project id arguments. Signed-off-by:
Etienne AUJAMES <eaujames@ddn.com> Change-Id: I809e9ac55d4bc676c20b18c6c198a69eaba9cff6 Reviewed-on: https://review.whamcloud.com/38938 Reviewed-by:
Wang Shilong <wshilong@whamcloud.com> Tested-by:
jenkins <devops@whamcloud.com> Reviewed-by:
Andreas Dilger <adilger@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com>
-
Hongchao Zhang authored
In ptlrpc_pinger_main, if the process to ping the recoverable clients or obd_update_maxusage takes too long time, it could be stuck in endless loop because of the negative value returned by pinger_check_timeout. Change-Id: Ib7fc22b3cc31255223bc2be60224ced1a3585f87 Signed-off-by:
Hongchao Zhang <hongchao@whamcloud.com> Reviewed-on: https://review.whamcloud.com/38915 Reviewed-by:
Andreas Dilger <adilger@whamcloud.com> Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Olaf Faaland-LLNL <faaland1@llnl.gov> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Chris Horn authored
The gnilnd receives node health information asynchronous from any tx failure, so aliveness of lpni as reported by lnet_is_peer_ni_alive() may not match what LND is telling us. Use existing reset flag to set cached NI status down so we can be sure that remote NIs are correctly set down. Test-Parameters: trivial HPE-bug-id: LUS-8897 Signed-off-by:
Chris Horn <chris.horn@hpe.com> Change-Id: I1ab36b63d83fb35803eb13a330d698cfa49f17e9 Reviewed-on: https://review.whamcloud.com/38862 Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Amir Shehata <ashehata@whamcloud.com> Reviewed-by:
Serguei Smirnov <ssmirnov@whamcloud.com> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
Mr NeilBrown authored
LNetMEUnlink is not particularly useful, and exposing it as an LNet interface only provides the opportunity for it to be misused. Every successful call to LNetMEAttach() is followed by a call to LNetMDAttach(). If that call succeeds, the ME is owned by the MD and the caller mustn't touch it again. If the call fails, the caller is currently required to call LNetMEUnlink(), which all callers do, and these are the only places that LNetMEUnlink() are called. As LNetMDAttach() knows when it will fail, it can unlink the ME itself and save the caller the effort. This allows LNetMEUnlink() to be removed which simplifies the LNet interface. LNetMEUnlink() is also used in in ptl_send_rpc() in a situation where ptl_send_buf() fails. In this case both the ME and the MD need to be unlinked, as as they are interconnected, LNetMEUnlink() or LNetMDUnlink() can equally do the job. So change it to use LNetMDUnlink(). LNetMEUnlink() is primarily a call the lnet_me_unlink(). It also - has some handling if ->me_md is not NULL, but that is never the case - takes the lnet_res_lock(). However LNetMDAttach() already takes that lock. So none of this functionality is useful to LNetMDAttach(). On failure, it can call lnet_me_unlink() directly while ensuring it still has the lock. This patch: - moves the calls to lnet_md_validate() into lnet_md_build() - changes LNetMDAttach() to always take the lnet_res_lock(), and to call lnet_me_unlink() on failure. - removes all calls to LNetMEUnlink() and sometimes simplifies surrounding code. - changes lnet_md_link() to 'void' as it only ever returns '0', and thus simplify error handling in LNetMDAttach() and LNetMDBind() Signed-off-by:
Mr NeilBrown <neilb@suse.de> Change-Id: Ied4e8fb544dbe1b32df7dc70439161dc74366a1d Reviewed-on: https://review.whamcloud.com/38646 Reviewed-by:
Yang Sheng <ys@whamcloud.com> Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
James Simmons <jsimmons@infradead.org> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
-
James Simmons authored
Now that Lustre supports a separate file system for the server targets we can update mount.lustre to try "lustre_tgt" for the server backend. For backwards compatibility if using "lustre_tgt" fails try the original "lustre" file system type. Change-Id: Ica08ff2abc3ad06c78d6d435db7e2fa3897e037e Signed-off-by:
James Simmons <jsimmons@infradead.org> Reviewed-on: https://review.whamcloud.com/38799 Reviewed-by:
Andreas Dilger <adilger@whamcloud.com> Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Yang Sheng <ys@whamcloud.com>
-