X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Finclude%2Flinux%2Flustre_compat25.h;h=5bebf479bc81f1254427aa4040662ce9e960a880;hb=43620480d7b4ac578f5f9fd8465183b23e0d0dd1;hp=3e520259352fd4a30ea71a8f335aa8bfe8d15237;hpb=286f68d3859293b52917e74cb0dcc488c5649852;p=fs%2Flustre-release.git diff --git a/lustre/include/linux/lustre_compat25.h b/lustre/include/linux/lustre_compat25.h index 3e52025..5bebf47 100644 --- a/lustre/include/linux/lustre_compat25.h +++ b/lustre/include/linux/lustre_compat25.h @@ -88,6 +88,10 @@ static inline void ll_set_fs_pwd(struct fs_struct *fs, struct vfsmount *mnt, #define module_init(a) late_initcall(a) #endif +#ifndef MODULE_ALIAS_FS +#define MODULE_ALIAS_FS(name) +#endif + #define LTIME_S(time) (time.tv_sec) #ifdef HAVE_GENERIC_PERMISSION_2ARGS @@ -101,25 +105,6 @@ static inline void ll_set_fs_pwd(struct fs_struct *fs, struct vfsmount *mnt, generic_permission(inode, mask, check_acl) #endif -#ifdef HAVE_DENTRY_OPEN_USE_PATH -#define ll_dentry_open(a,b,c) dentry_open(a,b,c) -#else -/* - * dentry_open handles its own reference counting since Linux v3.6 - * (commit 765927b2). Callers should free their own references. - * - * Prior versions expected the caller to increment the references. - * The references are retained on success and freed on error. - */ -static inline struct file *ll_dentry_open(struct path *path, int flags, - const struct cred *cred) -{ - mntget(path->mnt); - dget(path->dentry); - return dentry_open(path->dentry, path->mnt, flags, cred); -} -#endif - #ifdef HAVE_4ARGS_VFS_SYMLINK #define ll_vfs_symlink(dir, dentry, mnt, path, mode) \ vfs_symlink(dir, dentry, path, mode) @@ -154,38 +139,7 @@ static inline struct file *ll_dentry_open(struct path *path, int flags, /* add a lustre compatible layer for crypto API */ #include -#define ll_crypto_hash crypto_hash -#define ll_crypto_cipher crypto_blkcipher -#define ll_crypto_alloc_hash(name, type, mask) crypto_alloc_hash(name, type, mask) -#define ll_crypto_hash_setkey(tfm, key, keylen) crypto_hash_setkey(tfm, key, keylen) -#define ll_crypto_hash_init(desc) crypto_hash_init(desc) -#define ll_crypto_hash_update(desc, sl, bytes) crypto_hash_update(desc, sl, bytes) -#define ll_crypto_hash_final(desc, out) crypto_hash_final(desc, out) -#define ll_crypto_blkcipher_setkey(tfm, key, keylen) \ - crypto_blkcipher_setkey(tfm, key, keylen) -#define ll_crypto_blkcipher_set_iv(tfm, src, len) \ - crypto_blkcipher_set_iv(tfm, src, len) -#define ll_crypto_blkcipher_get_iv(tfm, dst, len) \ - crypto_blkcipher_get_iv(tfm, dst, len) -#define ll_crypto_blkcipher_encrypt(desc, dst, src, bytes) \ - crypto_blkcipher_encrypt(desc, dst, src, bytes) -#define ll_crypto_blkcipher_decrypt(desc, dst, src, bytes) \ - crypto_blkcipher_decrypt(desc, dst, src, bytes) -#define ll_crypto_blkcipher_encrypt_iv(desc, dst, src, bytes) \ - crypto_blkcipher_encrypt_iv(desc, dst, src, bytes) -#define ll_crypto_blkcipher_decrypt_iv(desc, dst, src, bytes) \ - crypto_blkcipher_decrypt_iv(desc, dst, src, bytes) - -static inline -struct ll_crypto_cipher *ll_crypto_alloc_blkcipher(const char *name, - u32 type, u32 mask) -{ - struct ll_crypto_cipher *rtn = crypto_alloc_blkcipher(name, type, mask); - - return (rtn == NULL ? ERR_PTR(-ENOMEM) : rtn); -} - -static inline int ll_crypto_hmac(struct ll_crypto_hash *tfm, +static inline int ll_crypto_hmac(struct crypto_hash *tfm, u8 *key, unsigned int *keylen, struct scatterlist *sg, unsigned int size, u8 *result) @@ -201,24 +155,13 @@ static inline int ll_crypto_hmac(struct ll_crypto_hash *tfm, } return crypto_hash_digest(&desc, sg, size, result); } -static inline -unsigned int ll_crypto_tfm_alg_max_keysize(struct crypto_blkcipher *tfm) -{ - return crypto_blkcipher_tfm(tfm)->__crt_alg->cra_blkcipher.max_keysize; -} + static inline unsigned int ll_crypto_tfm_alg_min_keysize(struct crypto_blkcipher *tfm) { return crypto_blkcipher_tfm(tfm)->__crt_alg->cra_blkcipher.min_keysize; } -#define ll_crypto_hash_blocksize(tfm) crypto_hash_blocksize(tfm) -#define ll_crypto_hash_digestsize(tfm) crypto_hash_digestsize(tfm) -#define ll_crypto_blkcipher_ivsize(tfm) crypto_blkcipher_ivsize(tfm) -#define ll_crypto_blkcipher_blocksize(tfm) crypto_blkcipher_blocksize(tfm) -#define ll_crypto_free_hash(tfm) crypto_free_hash(tfm) -#define ll_crypto_free_blkcipher(tfm) crypto_free_blkcipher(tfm) - #ifdef for_each_possible_cpu #define cfs_for_each_possible_cpu(cpu) for_each_possible_cpu(cpu) #elif defined(for_each_cpu) @@ -391,4 +334,35 @@ static inline struct dentry *d_make_root(struct inode *root) # define set_file_inode(file, inode) #endif +#ifdef HAVE_OLDSIZE_TRUNCATE_PAGECACHE +#define ll_truncate_pagecache(inode, size) truncate_pagecache(inode, 0, size) +#else +#define ll_truncate_pagecache(inode, size) truncate_pagecache(inode, size) +#endif + +#ifdef HAVE_VFS_RENAME_5ARGS +#define ll_vfs_rename(a, b, c, d) vfs_rename(a, b, c, d, NULL) +#elif defined HAVE_VFS_RENAME_6ARGS +#define ll_vfs_rename(a, b, c, d) vfs_rename(a, b, c, d, NULL, 0) +#else +#define ll_vfs_rename(a, b, c, d) vfs_rename(a, b, c, d) +#endif + +#ifdef HAVE_VFS_UNLINK_3ARGS +#define ll_vfs_unlink(a, b) vfs_unlink(a, b, NULL) +#else +#define ll_vfs_unlink(a, b) vfs_unlink(a, b) +#endif + +#ifndef HAVE_RADIX_EXCEPTION_ENTRY +static inline int radix_tree_exceptional_entry(void *arg) +{ + return 0; +} +#endif + +#ifndef SIZE_MAX +#define SIZE_MAX (~(size_t)0) +#endif + #endif /* _COMPAT25_H */