summaryrefslogtreecommitdiffstats
path: root/drivers/staging/lustre/include
Commit message (Collapse)AuthorAgeFilesLines
* staging: lustre: delete the filesystem from the tree.Greg Kroah-Hartman2018-06-0530-11181/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Lustre filesystem has been in the kernel tree for over 5 years now. While it has been an endless source of enjoyment for new kernel developers learning how to do basic codingstyle cleanups, as well as an semi-entertaining source of bewilderment from the vfs developers any time they have looked into the codebase to try to figure out how to port their latest api changes to this filesystem, it has not really moved forward into the "this is in shape to get out of staging" despite many half-completed attempts. And getting code out of staging is the main goal of that portion of the kernel tree. Code should not stagnate and it feels like having this code in staging is only causing the development cycle of the filesystem to take longer than it should. There is a whole separate out-of-tree copy of this codebase where the developers work on it, and then random changes are thrown over the wall at staging at some later point in time. This dual-tree development model has never worked, and the state of this codebase is proof of that. So, let's just delete the whole mess. Now the lustre developers can go off and work in their out-of-tree codebase and not have to worry about providing valid changelog entries and breaking their patches up into logical pieces. They can take the time they have spend doing those types of housekeeping chores and get the codebase into a much better shape, and it can be submitted for inclusion into the real part of the kernel tree when ready. Cc: Oleg Drokin <oleg.drokin@intel.com> Cc: Andreas Dilger <andreas.dilger@intel.com> Cc: James Simmons <jsimmons@infradead.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: acl: increase ACL entries limitationFan Yong2018-05-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Originally, the limitation of ACL entries is 32, that is not enough for some use cases. In fact, restricting ACL entries count is mainly for preparing the RPC reply buffer to receive the ACL data. So we cannot make the ACL entries count to be unlimited. But we can enlarge the RPC reply buffer to hold more ACL entries. On the other hand, MDT backend filesystem has its own EA size limitation. For example, for ldiskfs case, if large EA enable, then the max ACL size is 1048492 bytes; otherwise, it is 4012 bytes. For ZFS backend, such value is 32768 bytes. With such hard limitation, we can calculate how many ACL entries we can have at most. This patch increases the RPC reply buffer to match such hard limitation. For old client, to avoid buffer overflow because of large ACL data (more than 32 ACL entries), the MDT will forbid the old client to access the file with large ACL data. As for how to know whether it is old client or new, a new connection flag OBD_CONNECT_LARGE_ACL is used for that. Signed-off-by: Fan Yong <fan.yong@intel.com> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-7473 Reviewed-on: https://review.whamcloud.com/19790 Reviewed-by: Andreas Dilger <andreas.dilger@intel.com> Reviewed-by: Li Xi <lixi@ddn.com> Reviewed-by: Lai Siyao <lai.siyao@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: James Simmons <jsimmons@infradead.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: libcfs: add parens around macros argsIvan Bornyakov2018-05-251-3/+3
| | | | | | | | | One may call 'CFS_FAIL_TIMEOUT(id, secs + 5);' and get unexpected result after macro substitution, viz., 'secs + 5' will turn into 'secs + 5 * 1000' Signed-off-by: Ivan Bornyakov <brnkv.i1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: Fix block comments styleSabin Mihai Rapan2018-05-252-4/+8
| | | | | | | | | This patch fixes the checkpatch.pl warning: WARNING:BLOCK_COMMENT_STYLE: Block comments use a trailing */ on a separate line Signed-off-by: Sabin Mihai Rapan <sabin.rapan@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: Fix "unsigned"->"unsigned int"Sabin Mihai Rapan2018-05-251-1/+1
| | | | | | | | | This patch fixes the checkpatch.pl warning: WARNING:UNSPECIFIED_INT: Prefer 'unsigned int' to bare use of 'unsigned' Signed-off-by: Sabin Mihai Rapan <sabin.rapan@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: remove libcfs_all.hNeilBrown2018-05-251-88/+0
| | | | | | | | | In the remaining files that include libcfs_all.h, replace it with other include files as necessary, then remove libcfs_all.h Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: move all libcfs_all includes except in lustre/lnet/libcfs/NeilBrown2018-05-251-0/+2
| | | | | | | Again, most of these are not needed. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: remove libcfs_all.h from remaining .h files.NeilBrown2018-05-251-0/+3
| | | | | | | Now no *.h files include libcfs_all.h - only *.c files. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: remove libcfs_all.h from lustre/include/*.hNeilBrown2018-05-251-0/+3
| | | | | | | | Instead of the catch-all libcfs_all.h, just include the files actually needed in different places. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: don't include libcfs.h in lnet/lib-lnet.hNeilBrown2018-05-253-1/+9
| | | | | | | | We want to be more focused in what is included where. So we remove libcfs.h from where it isn't needed. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: start moving includes out of libcfs.hNeilBrown2018-05-253-47/+91
| | | | | | | | | | | | | | | | Lots of places include libcfs.h, and it includes lots of other include files. Many of these aren't needed in many places. It is tidier and better documentation to just include what is needed. So remove all the includes from libcfs.h and create libcfs_all.h which contains them. Then change every reference to libcfs.h to instead include libcfs_all.h Next several patches will remove that from various files in small batches Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: discard libcfs_prim.hNeilBrown2018-05-252-52/+11
| | | | | | | | | This file no longer contains enough content to justify a separate file. So merge with libcfs.h. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: replace memory_presure funcitons by standard interfaces.NeilBrown2018-05-251-31/+0
| | | | | | | | Use memalloc_noreclaim_save() and memalloc_noreclaim_restore(), and for testing, just directly test the flag in current->flags Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: move RESV_PORT definitions to lnet/lib-lnet.hNeilBrown2018-05-252-4/+4
| | | | | | | | These are network related on only used in lnet, so move to lib-lnet.h Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: move lnet_debug_log_upcall declaration to tracefile.hNeilBrown2018-05-251-5/+0
| | | | | | | | Both files that use this variable include tracefile.h, and it seems a more suitable home for the declaration. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: make lnet_debugfs_symlink_def local to libcfs/modules.cNeilBrown2018-05-251-7/+1
| | | | | | | | | | This type is only used in libcfs/module.c, so make it local to there. If any other module ever wanted to add its own symlinks, it would probably be easiest to export lnet_debugfs_root and just call debugfs_create_symlink as required. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: clean up __LIBCFS_H macroNeilBrown2018-05-251-3/+1
| | | | | | | There is some confusion with names here - make it all uniform. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: replace libcfs_register_ioctl with a blocking notifier_chainNeilBrown2018-05-251-12/+7
| | | | | | | | | | | | | libcfs allows other modules to register handlers for ioctls. The implementation it uses for this is nearly identical to a blocking notifier chain, so change to use that. The biggest difference is that the return value from notifier has a defined format, where libcfs_register_ioctl uses -EINVAL to mean "continue". This requires a little bit of conversion. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: discard cfs_block_sigsinv()NeilBrown2018-05-251-16/+0
| | | | | | | | | | | | | | cfs_block_sigsinv() and cfs_restore_sigs() are simple wrappers which save a couple of line of code and hurt readability for people not familiar with them. They aren't used often enough to be worthwhile, so discard them and open-code the functionality. The sigorsets() call isn't needed as or-ing with current->blocked is exactly what sigprocmask(SIG_BLOCK) does. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: move LERRCHKSUM() to libcfs_debug.hNeilBrown2018-05-252-7/+7
| | | | | | | | | This macro is only used for debug messages, so use it to the debug code. Also improve the documentation slightly. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: discard CFS_TICKNeilBrown2018-05-251-5/+0
| | | | | | | | | | | | | | | This undocumented macro seems to represent "a small amount of time". Sometimes it is used as-is, some times it is multiplied by 5 for no obvious reason. It does not appear that there is any connection between the different places it is used - they all just want a short period for different purposes and of different durarions. So discard CFS_TICK and lets each use-site just use whatever number of jiffies seems appropriate in that case. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: discard LOWEST_BIT_SET()NeilBrown2018-05-251-2/+0
| | | | | | | | | This macro is only used once to test if a value is a power of two. So use is_power_of_2() instead and discard the macro. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: discard cfs_cap_t, use kernel_cap_tNeilBrown2018-05-252-70/+0
| | | | | | | | | | | | | | | | | | lustre only sends 32bits of capabilities in on-the-wire RPC calls. It current strips off higher bits and uses a 32bit cfs_cap_t throughout. Though there is a small memory cost, it is cleaner to use kernel_cap_t throughout and only truncate when marshalling data for RPC calls. So this patch replaces cfs_cap_t with kernel_cap_t throughout, and where a cfs_cap_t was previous stored in a __u32, we now store cap.cap[0] instead. With this, we can remove include/linux/libcfs/curproc.h Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: simplify capability dropping.NeilBrown2018-05-251-10/+0
| | | | | | | | | | | | | | | | | | | | Lustre has a 'squash credentials' concept similar to the "anon_uid" for nfsd. When accessing a file with squashed credentials, we need to also drop capabilities. Linux has cap_drop_fs_set() and cap_drop_nfsd_set(). Rather than taking a completely different approach, this patch changes lustre to use this same cap_drop_*_set() approach. With this change we also drop CAP_MKNOD and CAP_MAC_OVERRIDE which are probably appropriate, and don't drop CAP_SYS_ADMIN or CAP_SYS_BOOT which should be irrelevant for file permission checking Calling both cap_drop_*_set() seems a bit clumsy, but gets the job done. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: remove current_pid() and current_comm()NeilBrown2018-05-251-4/+0
| | | | | | | | Just use current->pid and current->comm directly, instead of having wrappers. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: remove conditional compilation from libcfs_cpu.cNeilBrown2018-05-251-16/+19
| | | | | | | | | | | | | | | | | | | libcfs_cpu.c manages CPU partitions. In the !CONFIG_SMP case, most of this disappears and 'static inline's from libcfs_cpu.h are used. However we still allocate a 'struct cfs_cpt_table' and keep some dummy data in it. This is a bit pointless. This patch removes all the !CONFIG_SMP code from libcfs_cpu.c and conditionally compiles the whole file only when CONFIG_SMP. We no longer allocate a 'struct cfs_cpt_table' on !CONFIG_SMP, and don't even declare a structure. The name "cfs_cpt_tab" becomes always "NULL", which allows some code to be optimized away. This means that cfs_cpt_tab can sometimes be NULL, so we need to discard the assertion that it isn't. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: rename cfs_cpt_table to cfs_cpt_tabNeilBrown2018-05-251-3/+3
| | | | | | | | | | | The variable "cfs_cpt_table" has the same name as the structure "struct cfs_cpt_table". This makes it hard to use #define to make one disappear on a uni-processor build, but keep the other. So rename the variable to cfs_cpt_tab. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: refactor libcfs initialization.NeilBrown2018-05-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many lustre modules depend on libcfs having initialized properly, but do not explicit check that it did. When lustre is built as discrete modules, this does not cause a problem because if the libcfs module fails initialization, the other modules don't even get loaded. When lustre is compiled into the kernel, all module_init() routines get run, so they need to check the required initialization succeeded. This patch splits out the initialization of libcfs into a new libcfs_setup(), and has all modules call that. The misc_register() call is kept separate as it does not allocate any resources and if it fails, it fails hard - no point in retrying. Other set-up allocates resources and so is best delayed until they are needed, and can be worth retrying. Ideally, the initialization would happen at mount time (or similar) rather than at load time. Doing this requires each module to check dependencies when they are activated rather than when they are loaded. Achieving that is a much larger job that would have to progress in stages. For now, this change ensures that if some initialization in libcfs fails, other modules will fail-safe. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: o2iblnd: Enable Multiple OPA Endpoints between NodesDoug Oucharek2018-05-081-1/+2
| | | | | | | | | | | | | | | | | | | | | | OPA driver optimizations are based on the MPI model where it is expected to have multiple endpoints between two given nodes. To enable this optimization for Lustre, we need to make it possible, via an LND-specific tuneable, to create multiple endpoints and to balance the traffic over them. Both sides of a connection must have this patch for it to work. Only the active side of the connection (usually the client) needs to have the new tuneable set > 1. Signed-off-by: Doug Oucharek <doug.s.oucharek@intel.com> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-8943 Reviewed-on: https://review.whamcloud.com/25168 Reviewed-by: Amir Shehata <amir.shehata@intel.com> Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com> Reviewed-by: James Simmons <uja.ornl@yahoo.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Doug Oucharek <dougso@me.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: move remaining code from linux-module.c to module.cNeilBrown2018-05-081-4/+0
| | | | | | | | | There is no longer any need to keep this code separate, and now we can remove linux-module.c Reviewed-by: James Simmons <jsimmons@infradead.org> Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: move misc-device registration closer to related code.NeilBrown2018-05-081-2/+0
| | | | | | | | | | | | The ioctl handler for the misc device is in lnet/libcfs/module.c but is it registered in lnet/libcfs/linux/linux-module.c. Keeping related code together make maintenance easier, so move the code. Reviewed-by: James Simmons <jsimmons@infradead.org> Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: add container_of_safe()NeilBrown2018-04-231-11/+0
| | | | | | | | | | | | | | | | | | | | | Luster has a container_of0() function which is similar to container_of() but passes an IS_ERR_OR_NULL() pointer through unchanged. This could be generally useful: bcache at last has a similar function. Naming is hard, but the precedent set by hlist_entry_safe() suggests a _safe suffix might be most consistent. So add container_of_safe() to kernel.h, and replace all occurrences of container_of0() with one of - list_first_entry, list_next_entry, when that is a better fit, - container_of(), when the pointer is used as a validpointer in surrounding code, - container_of_safe() when there is no obviously better alternative. Signed-off-by: NeilBrown <neilb@suse.com> Reviewed-by: James Simmons <jsimmons@infradead.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: rearrange placement of CPU partition management code.NeilBrown2018-04-231-35/+138
| | | | | | | | | | | | | | | | | | | | | Currently the code for cpu-partition tables lives in various places. The non-SMP code is partly in libcfs/libcfs_cpu.h as static inlines, and partly in lnet/libcfs/libcfs_cpu.c - some of the functions are tiny and could well be inlines. The SMP code is all in lnet/libcfs/linux/linux-cpu.c. This patch moves all the trivial non-SMP functions into libcfs_cpu.h as inlines, and all the SMP functions into libcfs_cpu.c with the non-trival !SMP code. Now when you go looking for some function, it is easier to find both versions together when neither is trivial. There is no code change here - just code movement. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: remove include/linux/libcfs/linux/linux-cpu.hNeilBrown2018-04-233-79/+33
| | | | | | | | | | | | | This include file contains definitions used when CONFIG_SMP is in effect. Other includes contain corresponding definitions for when it isn't. This can be hard to follow, so move the definitions to the one place. As HAVE_LIBCFS_CPT is defined precisely when CONFIG_SMP, we discard that macro and just use CONFIG_SMP when needed. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: remove libcfs/linux/libcfs.hNeilBrown2018-04-232-84/+42
| | | | | | | | | | | | | | | | This include file is only included in one place, and only contains a list of other include directives. So just move all those to the place where this file is included, and discard the file. One include directive uses a local name ("linux-cpu.h"), so that needs to be given a proper path. Probably many of these should be remove from here, and moved to just the files that need them. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: move stack-check macros to libcfs_debug.hNeilBrown2018-04-232-31/+32
| | | | | | | | | | | | | | CDEBUG_STACK() and CHECK_STACK() are macros to help with debugging, so move them from drivers/staging/lustre/include/linux/libcfs/linux/libcfs.h to drivers/staging/lustre/include/linux/libcfs/libcfs_debug.h This seems a more fitting location, and is a step towards removing linux/libcfs.h and simplifying the include file structure. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: libcfs: use dynamic minors for /dev/{lnet, obd}John L. Hammond2018-04-233-14/+0
| | | | | | | | | | | | | | | Request dynamic minor allocation when registering /dev/lnet and /dev/obd. Signed-off-by: John L. Hammond <john.hammond@intel.com> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-100086 Reviewed-on: https://review.whamcloud.com/29741 Reviewed-by: Andreas Dilger <andreas.dilger@intel.com> Reviewed-by: Jian Yu <jian.yu@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: James Simmons <jsimmons@infradead.org> Reviewed-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: remove cruft from libcfs/linux/libcfs.hNeilBrown2018-04-232-19/+0
| | | | | | | | | These defines are unused or nearly unused, and do not help at all. Signed-off-by: NeilBrown <neilb@suse.com> Reviewed-by: James Simmons <jsimmons@infradead.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: discard linux-time.hNeilBrown2018-04-233-67/+5
| | | | | | | | | Very little is left in linux-time.h. Move CFS_TICK to libcfs.h discard the test. Signed-off-by: NeilBrown <neilb@suse.com> Reviewed-by: James Simmons <jsimmons@infradead.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: discard cfs_time_before_64()NeilBrown2018-04-231-14/+0
| | | | | | | | | | cfs_time_before_64 is the same as time_before64() similarly cfs_time_beforeq_64() matsches time_before_eq64() So just use the standard interfaces. Signed-off-by: NeilBrown <neilb@suse.com> Reviewed-by: James Simmons <jsimmons@infradead.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: discard cfs_duration_sec()NeilBrown2018-04-231-5/+0
| | | | | | | | | | cfs_duration_sec() simply divides by HZ. It is mostly used to report durations in debug messages. Remove and just use X/HZ. Signed-off-by: NeilBrown <neilb@suse.com> Reviewed-by: James Simmons <jsimmons@infradead.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: libcfs: remove cfs_timeout_cap()NeilBrown2018-04-233-52/+1
| | | | | | | | | | This wrapper is only used once, so open-code it as max(). This allows us to remove the libcfs_time.h include file. Signed-off-by: NeilBrown <neilb@suse.com> Reviewed-by: James Simmons <jsimmons@infradead.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: libcfs: discard cfs_time_after()NeilBrown2018-04-231-14/+0
| | | | | | | | | | | cfs_time_after() behaves exactly like time_after() similarly cfs_time_aftereq() matches time_after_eq() so discard the cfs versions. Signed-off-by: NeilBrown <neilb@suse.com> Reviewed-by: James Simmons <jsimmons@infradead.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: libcfs: discard cfs_time_shift().NeilBrown2018-04-232-10/+0
| | | | | | | | | | | | This function simply multiplies by HZ and adds jiffies. This is simple enough to be opencoded, and doing so makes the code easier to read. Same for cfs_time_shift_64() Signed-off-by: NeilBrown <neilb@suse.com> Reviewed-by: James Simmons <jsimmons@infradead.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: libcfs: discard cfs_time_add/subNeilBrown2018-04-232-18/+2
| | | | | | | | | | | | | | | cfs_time_add adds its arguments. cfs_time_sub subtracts finds the difference. Discard these and use '+' and '-' directly. This change highlighted a type error. The structure field cr_queued_time was used to store jiffies, but was declared as time_t (meant for seconds). So the time is changed to "unsigned long". Signed-off-by: NeilBrown <neilb@suse.com> Reviewed-by: James Simmons <jsimmons@infradead.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: cfs_time_current() -> jiffies.NeilBrown2018-04-232-9/+2
| | | | | | | | | Discard cfs_time_current() and cfs_time_current64() and use jiffies and get_jiffies_64() like the rest of the kernel. Signed-off-by: NeilBrown <neilb@suse.com> Reviewed-by: James Simmons <jsimmons@infradead.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: remove phantom struct cfs_crypto_hash_descNeilBrown2018-02-221-7/+4
| | | | | | | | | | There is no "struct cfs_crypto_hash_desc" structure. There are only pointers to this structure, which are cast back and forth to struct ahash_request. So discard cfs_crypto_hash_desc, and just use ahash_request directly. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: discard libcfs_kvzalloc and linux-mem.cNeilBrown2018-02-221-2/+0
| | | | | | | | | | | | | | | | | | | | | | The only interesting difference between libcfs_kvzalloc() and kvzalloc() is that the former appears to work with GFP_NOFS, which the latter gives a WARN_ON_ONCE() when that is attempted. Each libcfs_kvzalloc() should really be analysed and either converted to a kzalloc() call if the size is never more than a page, or to use GFP_KERNEL if no locks are held. If there is ever a case where locks are held and a large allocation is needed, then some other technique should be used. It might be nice to not always blindly zero pages too... For now, just convert libcfs_kvzalloc() calls to kvzalloc(), and let the warning remind us that there is work to do. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: discard libcfs_kvzalloc_cpt()NeilBrown2018-02-221-2/+0
| | | | | | | | | | | | This function is used precisely once, and is sufficiently trivial that it may as well be open-coded. Doing so helpfully highlights the similarity between the new kvzalloc_node() call and the already existing kzalloc_node() call in the same function. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: make signal-blocking functions inlineNeilBrown2018-02-221-5/+15
| | | | | | | | | cfs_block_sigsinv() and cfs_restore_sigs() are now simple enough to inline them. This means we can discard linux-prim.c Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
OpenPOWER on IntegriCloud