Whamcloud - gitweb
LU-9183 llite: handle xattr with the xattr_handler infrastructure 10/28110/6
authorJames Simmons <uja.ornl@yahoo.com>
Sat, 29 Jul 2017 15:17:00 +0000 (11:17 -0400)
committerJohn L. Hammond <john.hammond@intel.com>
Thu, 3 Aug 2017 21:32:36 +0000 (21:32 +0000)
commit264ce3d71841c6d84f3d4c0df05b238c42c31476
tree2d9102009df7e70cb40c995de385efb605f7a1d2
parentbb3c407a42c39bcd2bef9abd1a19ce502cf4c70d
LU-9183 llite: handle xattr with the xattr_handler infrastructure

In commit fd50ecaddf8372a1d96e0daeaac0f93cf04e4d42 for the linux
4.9 kernel the {get,set,remove}xattr inode operations were removed
and all xattr operations are now handled by xattr_handlers. For
the upsteam lustre client a port was already done with:

Linux-commit: 1e1f9ff406fd5f6003a5dab2ab5a26c4c5bb8cbd
Linux-commit: 2c563880ea8fdc900693ae372fa07b3894f8ff63

This patch brings this work to the OpenSFS/Intel branch. The
difference is that we also have to support older kernels which
means we need to handle the following changes to the
struct xattr_handler:

Linux-commit: e409de992e3ea3674393465f07cc71c948edd87a
Linux-commit: b296821a7c42fa58baa17513b2b7b30ae66f3336

Lastly the xattr_handler api for RHEL6 is too old for proper
support, lacks the flags in struct xattr_handler. Since this
is the case we have to carry around the pre xattr handler
code. Once RHEL6 support is dropped we can remove that code.

Test-Parameters: testgroup=review-ldiskfs
Test-Parameters: testgroup=review-zfs-part-1
Test-Parameters: testgroup=review-zfs-part-2
Test-Parameters: testgroup=review-dne-part-1
Test-Parameters: testgroup=review-dne-part-2
Test-Parameters: trivial clientselinux testlist=sanity-selinux

Lustre-commit: 7c332c2757fb125ffb1c902d5302f7f7dc3c0433
Lustre-change: https://review.whamcloud.com/27240

Change-Id: I7bdeb57c09f4a252f61737dbdbfa76939df7b5eb
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: https://review.whamcloud.com/28110
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
12 files changed:
lustre/autoconf/lustre-core.m4
lustre/include/lustre_compat.h
lustre/llite/Makefile.in
lustre/llite/file.c
lustre/llite/llite_internal.h
lustre/llite/llite_lib.c
lustre/llite/namei.c
lustre/llite/symlink.c
lustre/llite/xattr.c
lustre/llite/xattr26.c [new file with mode: 0644]
lustre/llite/xattr_security.c
lustre/obdclass/obd_mount_server.c