mirror of
https://github.com/revyos/thead-kernel.git
synced 2026-06-21 09:12:26 +02:00
feat: trans EXPORT_SYMBOL_NS{_GPL}(*, ANDROID_GKI_VFS_EXPORT_ONLY) to EXPORT_SYMBOL{_GPL}(*)
Signed-off-by: Han Gao <gaohan@iscas.ac.cn>
This commit is contained in:
@@ -114,7 +114,7 @@ kill_priv:
|
||||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(setattr_prepare, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(setattr_prepare);
|
||||
|
||||
/**
|
||||
* inode_newsize_ok - may this inode be truncated to a given size
|
||||
@@ -158,7 +158,7 @@ out_sig:
|
||||
out_big:
|
||||
return -EFBIG;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(inode_newsize_ok, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(inode_newsize_ok);
|
||||
|
||||
/**
|
||||
* setattr_copy - copy simple metadata updates into the generic inode
|
||||
@@ -345,4 +345,4 @@ int notify_change(struct dentry * dentry, struct iattr * attr, struct inode **de
|
||||
|
||||
return error;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(notify_change, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(notify_change);
|
||||
|
||||
@@ -207,7 +207,7 @@ void make_bad_inode(struct inode *inode)
|
||||
inode->i_opflags &= ~IOP_XATTR;
|
||||
inode->i_fop = &bad_file_ops;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(make_bad_inode, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(make_bad_inode);
|
||||
|
||||
/*
|
||||
* This tests whether an inode has been flagged as bad. The test uses
|
||||
@@ -227,7 +227,7 @@ bool is_bad_inode(struct inode *inode)
|
||||
return (inode->i_op == &bad_inode_ops);
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL_NS(is_bad_inode, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(is_bad_inode);
|
||||
|
||||
/**
|
||||
* iget_failed - Mark an under-construction inode as dead and release it
|
||||
|
||||
@@ -186,7 +186,7 @@ int sb_set_blocksize(struct super_block *sb, int size)
|
||||
return sb->s_blocksize;
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL_NS(sb_set_blocksize, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(sb_set_blocksize);
|
||||
|
||||
int sb_min_blocksize(struct super_block *sb, int size)
|
||||
{
|
||||
@@ -196,7 +196,7 @@ int sb_min_blocksize(struct super_block *sb, int size)
|
||||
return sb_set_blocksize(sb, size);
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL_NS(sb_min_blocksize, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(sb_min_blocksize);
|
||||
|
||||
static int
|
||||
blkdev_get_block(struct inode *inode, sector_t iblock,
|
||||
|
||||
32
fs/buffer.c
32
fs/buffer.c
@@ -173,7 +173,7 @@ void end_buffer_write_sync(struct buffer_head *bh, int uptodate)
|
||||
unlock_buffer(bh);
|
||||
put_bh(bh);
|
||||
}
|
||||
EXPORT_SYMBOL_NS(end_buffer_write_sync, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(end_buffer_write_sync);
|
||||
|
||||
/*
|
||||
* Various filesystems appear to want __find_get_block to be non-blocking.
|
||||
@@ -419,7 +419,7 @@ void mark_buffer_async_write(struct buffer_head *bh)
|
||||
{
|
||||
mark_buffer_async_write_endio(bh, end_buffer_async_write);
|
||||
}
|
||||
EXPORT_SYMBOL_NS(mark_buffer_async_write, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(mark_buffer_async_write);
|
||||
|
||||
|
||||
/*
|
||||
@@ -674,7 +674,7 @@ int __set_page_dirty_buffers(struct page *page)
|
||||
|
||||
return newly_dirty;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(__set_page_dirty_buffers, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(__set_page_dirty_buffers);
|
||||
|
||||
/*
|
||||
* Write out and wait upon a list of buffers.
|
||||
@@ -1141,7 +1141,7 @@ void mark_buffer_dirty(struct buffer_head *bh)
|
||||
__mark_inode_dirty(mapping->host, I_DIRTY_PAGES);
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL_NS(mark_buffer_dirty, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(mark_buffer_dirty);
|
||||
|
||||
void mark_buffer_write_io_error(struct buffer_head *bh)
|
||||
{
|
||||
@@ -1159,7 +1159,7 @@ void mark_buffer_write_io_error(struct buffer_head *bh)
|
||||
errseq_set(&sb->s_wb_err, -EIO);
|
||||
rcu_read_unlock();
|
||||
}
|
||||
EXPORT_SYMBOL_NS(mark_buffer_write_io_error, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(mark_buffer_write_io_error);
|
||||
|
||||
/*
|
||||
* Decrement a buffer_head's reference count. If all buffers against a page
|
||||
@@ -1176,7 +1176,7 @@ void __brelse(struct buffer_head * buf)
|
||||
}
|
||||
WARN(1, KERN_ERR "VFS: brelse: Trying to free free buffer\n");
|
||||
}
|
||||
EXPORT_SYMBOL_NS(__brelse, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(__brelse);
|
||||
|
||||
/*
|
||||
* bforget() is like brelse(), except it discards any
|
||||
@@ -1195,7 +1195,7 @@ void __bforget(struct buffer_head *bh)
|
||||
}
|
||||
__brelse(bh);
|
||||
}
|
||||
EXPORT_SYMBOL_NS(__bforget, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(__bforget);
|
||||
|
||||
static struct buffer_head *__bread_slow(struct buffer_head *bh)
|
||||
{
|
||||
@@ -1376,7 +1376,7 @@ void __breadahead(struct block_device *bdev, sector_t block, unsigned size)
|
||||
brelse(bh);
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL_NS(__breadahead, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(__breadahead);
|
||||
|
||||
void __breadahead_gfp(struct block_device *bdev, sector_t block, unsigned size,
|
||||
gfp_t gfp)
|
||||
@@ -1411,7 +1411,7 @@ __bread_gfp(struct block_device *bdev, sector_t block,
|
||||
bh = __bread_slow(bh);
|
||||
return bh;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(__bread_gfp, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(__bread_gfp);
|
||||
|
||||
static void __invalidate_bh_lrus(struct bh_lru *b)
|
||||
{
|
||||
@@ -1573,7 +1573,7 @@ void block_invalidatepage(struct page *page, unsigned int offset,
|
||||
out:
|
||||
return;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(block_invalidatepage, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(block_invalidatepage);
|
||||
|
||||
|
||||
/*
|
||||
@@ -1609,7 +1609,7 @@ void create_empty_buffers(struct page *page,
|
||||
attach_page_private(page, head);
|
||||
spin_unlock(&page->mapping->private_lock);
|
||||
}
|
||||
EXPORT_SYMBOL_NS(create_empty_buffers, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(create_empty_buffers);
|
||||
|
||||
/**
|
||||
* clean_bdev_aliases: clean a range of buffers in block device
|
||||
@@ -1683,7 +1683,7 @@ unlock_page:
|
||||
break;
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL_NS(clean_bdev_aliases, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(clean_bdev_aliases);
|
||||
|
||||
/*
|
||||
* Size is a power-of-two in the range 512..PAGE_SIZE,
|
||||
@@ -1941,7 +1941,7 @@ void page_zero_new_buffers(struct page *page, unsigned from, unsigned to)
|
||||
bh = bh->b_this_page;
|
||||
} while (bh != head);
|
||||
}
|
||||
EXPORT_SYMBOL_NS(page_zero_new_buffers, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(page_zero_new_buffers);
|
||||
|
||||
static void
|
||||
iomap_to_bh(struct inode *inode, sector_t block, struct buffer_head *bh,
|
||||
@@ -2275,7 +2275,7 @@ int block_is_partially_uptodate(struct page *page, unsigned long from,
|
||||
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(block_is_partially_uptodate, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(block_is_partially_uptodate);
|
||||
|
||||
/*
|
||||
* Generic "read page" function for block devices that have the normal
|
||||
@@ -3142,7 +3142,7 @@ void ll_rw_block(int op, int op_flags, int nr, struct buffer_head *bhs[])
|
||||
unlock_buffer(bh);
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL_NS(ll_rw_block, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(ll_rw_block);
|
||||
|
||||
void write_dirty_buffer(struct buffer_head *bh, int op_flags)
|
||||
{
|
||||
@@ -3195,7 +3195,7 @@ int sync_dirty_buffer(struct buffer_head *bh)
|
||||
{
|
||||
return __sync_dirty_buffer(bh, REQ_SYNC);
|
||||
}
|
||||
EXPORT_SYMBOL_NS(sync_dirty_buffer, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(sync_dirty_buffer);
|
||||
|
||||
/*
|
||||
* try_to_free_buffers() checks if all the buffers on this particular page
|
||||
|
||||
@@ -2110,7 +2110,7 @@ struct dentry *d_obtain_alias(struct inode *inode)
|
||||
{
|
||||
return __d_obtain_alias(inode, true);
|
||||
}
|
||||
EXPORT_SYMBOL_NS(d_obtain_alias, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(d_obtain_alias);
|
||||
|
||||
/**
|
||||
* d_obtain_root - find or allocate a dentry for a given inode
|
||||
@@ -2184,7 +2184,7 @@ struct dentry *d_add_ci(struct dentry *dentry, struct inode *inode,
|
||||
}
|
||||
return found;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(d_add_ci, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(d_add_ci);
|
||||
|
||||
|
||||
static inline bool d_same_name(const struct dentry *dentry,
|
||||
@@ -3065,7 +3065,7 @@ out:
|
||||
__d_add(dentry, inode);
|
||||
return NULL;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(d_splice_alias, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(d_splice_alias);
|
||||
|
||||
/*
|
||||
* Test whether new_dentry is a subdirectory of old_dentry.
|
||||
|
||||
@@ -1380,7 +1380,7 @@ ssize_t __blockdev_direct_IO(struct kiocb *iocb, struct inode *inode,
|
||||
end_io, submit_io, flags);
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL_NS(__blockdev_direct_IO, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(__blockdev_direct_IO);
|
||||
|
||||
static __init int dio_init(void)
|
||||
{
|
||||
|
||||
@@ -2338,7 +2338,7 @@ void __mark_inode_dirty(struct inode *inode, int flags)
|
||||
out_unlock_inode:
|
||||
spin_unlock(&inode->i_lock);
|
||||
}
|
||||
EXPORT_SYMBOL_NS(__mark_inode_dirty, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(__mark_inode_dirty);
|
||||
|
||||
/*
|
||||
* The @s_sync_lock is used to serialise concurrent sync operations
|
||||
@@ -2504,7 +2504,7 @@ void try_to_writeback_inodes_sb(struct super_block *sb, enum wb_reason reason)
|
||||
__writeback_inodes_sb_nr(sb, get_nr_dirty_pages(), reason, true);
|
||||
up_read(&sb->s_umount);
|
||||
}
|
||||
EXPORT_SYMBOL_NS(try_to_writeback_inodes_sb, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(try_to_writeback_inodes_sb);
|
||||
|
||||
/**
|
||||
* sync_inodes_sb - sync sb inode pages
|
||||
@@ -2571,7 +2571,7 @@ int write_inode_now(struct inode *inode, int sync)
|
||||
might_sleep();
|
||||
return writeback_single_inode(inode, &wbc);
|
||||
}
|
||||
EXPORT_SYMBOL_NS(write_inode_now, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(write_inode_now);
|
||||
|
||||
/**
|
||||
* sync_inode - write an inode and its pages to disk.
|
||||
@@ -2608,4 +2608,4 @@ int sync_inode_metadata(struct inode *inode, int wait)
|
||||
|
||||
return sync_inode(inode, &wbc);
|
||||
}
|
||||
EXPORT_SYMBOL_NS(sync_inode_metadata, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(sync_inode_metadata);
|
||||
|
||||
@@ -41,7 +41,7 @@ unsigned char fs_ftype_to_dtype(unsigned int filetype)
|
||||
|
||||
return fs_dtype_by_ftype[filetype];
|
||||
}
|
||||
EXPORT_SYMBOL_NS_GPL(fs_ftype_to_dtype, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL_GPL(fs_ftype_to_dtype);
|
||||
|
||||
/*
|
||||
* dirent file type to fs on-disk file type conversion
|
||||
|
||||
36
fs/inode.c
36
fs/inode.c
@@ -307,7 +307,7 @@ void drop_nlink(struct inode *inode)
|
||||
if (!inode->i_nlink)
|
||||
atomic_long_inc(&inode->i_sb->s_remove_count);
|
||||
}
|
||||
EXPORT_SYMBOL_NS(drop_nlink, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(drop_nlink);
|
||||
|
||||
/**
|
||||
* clear_nlink - directly zero an inode's link count
|
||||
@@ -346,7 +346,7 @@ void set_nlink(struct inode *inode, unsigned int nlink)
|
||||
inode->__i_nlink = nlink;
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL_NS(set_nlink, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(set_nlink);
|
||||
|
||||
/**
|
||||
* inc_nlink - directly increment an inode's link count
|
||||
@@ -399,7 +399,7 @@ void inode_init_once(struct inode *inode)
|
||||
__address_space_init_once(&inode->i_data);
|
||||
i_size_ordered_init(inode);
|
||||
}
|
||||
EXPORT_SYMBOL_NS(inode_init_once, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(inode_init_once);
|
||||
|
||||
static void init_once(void *foo)
|
||||
{
|
||||
@@ -423,7 +423,7 @@ void ihold(struct inode *inode)
|
||||
{
|
||||
WARN_ON(atomic_inc_return(&inode->i_count) < 2);
|
||||
}
|
||||
EXPORT_SYMBOL_NS(ihold, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(ihold);
|
||||
|
||||
static void inode_lru_list_add(struct inode *inode)
|
||||
{
|
||||
@@ -503,7 +503,7 @@ void __insert_inode_hash(struct inode *inode, unsigned long hashval)
|
||||
spin_unlock(&inode->i_lock);
|
||||
spin_unlock(&inode_hash_lock);
|
||||
}
|
||||
EXPORT_SYMBOL_NS(__insert_inode_hash, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(__insert_inode_hash);
|
||||
|
||||
/**
|
||||
* __remove_inode_hash - remove an inode from the hash
|
||||
@@ -519,7 +519,7 @@ void __remove_inode_hash(struct inode *inode)
|
||||
spin_unlock(&inode->i_lock);
|
||||
spin_unlock(&inode_hash_lock);
|
||||
}
|
||||
EXPORT_SYMBOL_NS(__remove_inode_hash, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(__remove_inode_hash);
|
||||
|
||||
void clear_inode(struct inode *inode)
|
||||
{
|
||||
@@ -539,7 +539,7 @@ void clear_inode(struct inode *inode)
|
||||
/* don't need i_lock here, no concurrent mods to i_state */
|
||||
inode->i_state = I_FREEING | I_CLEAR;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(clear_inode, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(clear_inode);
|
||||
|
||||
/*
|
||||
* Free the inode passed in, removing it from the lists it is still connected
|
||||
@@ -1001,7 +1001,7 @@ void unlock_new_inode(struct inode *inode)
|
||||
wake_up_bit(&inode->i_state, __I_NEW);
|
||||
spin_unlock(&inode->i_lock);
|
||||
}
|
||||
EXPORT_SYMBOL_NS(unlock_new_inode, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(unlock_new_inode);
|
||||
|
||||
void discard_new_inode(struct inode *inode)
|
||||
{
|
||||
@@ -1158,7 +1158,7 @@ struct inode *iget5_locked(struct super_block *sb, unsigned long hashval,
|
||||
}
|
||||
return inode;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(iget5_locked, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(iget5_locked);
|
||||
|
||||
/**
|
||||
* iget_locked - obtain an inode from a mounted file system
|
||||
@@ -1290,7 +1290,7 @@ ino_t iunique(struct super_block *sb, ino_t max_reserved)
|
||||
|
||||
return res;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(iunique, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(iunique);
|
||||
|
||||
struct inode *igrab(struct inode *inode)
|
||||
{
|
||||
@@ -1373,7 +1373,7 @@ again:
|
||||
}
|
||||
return inode;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(ilookup5, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(ilookup5);
|
||||
|
||||
/**
|
||||
* ilookup - search for an inode in the inode cache
|
||||
@@ -1853,7 +1853,7 @@ void touch_atime(const struct path *path)
|
||||
skip_update:
|
||||
sb_end_write(inode->i_sb);
|
||||
}
|
||||
EXPORT_SYMBOL_NS(touch_atime, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(touch_atime);
|
||||
|
||||
/*
|
||||
* The logic we want is
|
||||
@@ -1949,7 +1949,7 @@ int file_remove_privs(struct file *file)
|
||||
|
||||
return error;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(file_remove_privs, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(file_remove_privs);
|
||||
|
||||
/**
|
||||
* file_update_time - update mtime and ctime time
|
||||
@@ -2130,7 +2130,7 @@ void init_special_inode(struct inode *inode, umode_t mode, dev_t rdev)
|
||||
" inode %s:%lu\n", mode, inode->i_sb->s_id,
|
||||
inode->i_ino);
|
||||
}
|
||||
EXPORT_SYMBOL_NS(init_special_inode, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(init_special_inode);
|
||||
|
||||
/**
|
||||
* inode_init_owner - Init uid,gid,mode for new inode according to posix standards
|
||||
@@ -2156,7 +2156,7 @@ void inode_init_owner(struct inode *inode, const struct inode *dir,
|
||||
inode->i_gid = current_fsgid();
|
||||
inode->i_mode = mode;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(inode_init_owner, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(inode_init_owner);
|
||||
|
||||
/**
|
||||
* inode_owner_or_capable - check current task permissions to inode
|
||||
@@ -2210,7 +2210,7 @@ void inode_dio_wait(struct inode *inode)
|
||||
if (atomic_read(&inode->i_dio_count))
|
||||
__inode_dio_wait(inode);
|
||||
}
|
||||
EXPORT_SYMBOL_NS(inode_dio_wait, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(inode_dio_wait);
|
||||
|
||||
/*
|
||||
* inode_set_flags - atomically set some inode flags
|
||||
@@ -2234,7 +2234,7 @@ void inode_set_flags(struct inode *inode, unsigned int flags,
|
||||
WARN_ON_ONCE(flags & ~mask);
|
||||
set_mask_bits(&inode->i_flags, mask, flags);
|
||||
}
|
||||
EXPORT_SYMBOL_NS(inode_set_flags, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(inode_set_flags);
|
||||
|
||||
void inode_nohighmem(struct inode *inode)
|
||||
{
|
||||
@@ -2271,7 +2271,7 @@ struct timespec64 timestamp_truncate(struct timespec64 t, struct inode *inode)
|
||||
WARN(1, "invalid file time granularity: %u", gran);
|
||||
return t;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(timestamp_truncate, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(timestamp_truncate);
|
||||
|
||||
/**
|
||||
* current_time - Return FS time
|
||||
|
||||
@@ -146,7 +146,7 @@ int fiemap_fill_next_extent(struct fiemap_extent_info *fieinfo, u64 logical,
|
||||
return 1;
|
||||
return (flags & FIEMAP_EXTENT_LAST) ? 1 : 0;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(fiemap_fill_next_extent, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(fiemap_fill_next_extent);
|
||||
|
||||
/**
|
||||
* fiemap_prep - check validity of requested flags for fiemap
|
||||
@@ -191,7 +191,7 @@ int fiemap_prep(struct inode *inode, struct fiemap_extent_info *fieinfo,
|
||||
ret = filemap_write_and_wait(inode->i_mapping);
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(fiemap_prep, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(fiemap_prep);
|
||||
|
||||
static int ioctl_fiemap(struct file *filp, struct fiemap __user *ufiemap)
|
||||
{
|
||||
|
||||
@@ -225,7 +225,7 @@ ssize_t generic_read_dir(struct file *filp, char __user *buf, size_t siz, loff_t
|
||||
{
|
||||
return -EISDIR;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(generic_read_dir, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(generic_read_dir);
|
||||
|
||||
const struct file_operations simple_dir_operations = {
|
||||
.open = dcache_dir_open,
|
||||
|
||||
@@ -430,7 +430,7 @@ void mpage_readahead(struct readahead_control *rac, get_block_t get_block)
|
||||
if (args.bio)
|
||||
mpage_bio_submit(REQ_OP_READ, REQ_RAHEAD, args.bio);
|
||||
}
|
||||
EXPORT_SYMBOL_NS(mpage_readahead, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(mpage_readahead);
|
||||
|
||||
/*
|
||||
* This isn't called much at all
|
||||
@@ -448,7 +448,7 @@ int mpage_readpage(struct page *page, get_block_t get_block)
|
||||
mpage_bio_submit(REQ_OP_READ, 0, args.bio);
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(mpage_readpage, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(mpage_readpage);
|
||||
|
||||
/*
|
||||
* Writing is not so simple.
|
||||
|
||||
12
fs/namei.c
12
fs/namei.c
@@ -2887,7 +2887,7 @@ int vfs_create(struct inode *dir, struct dentry *dentry, umode_t mode,
|
||||
fsnotify_create(dir, dentry);
|
||||
return error;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(vfs_create, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(vfs_create);
|
||||
|
||||
int vfs_mkobj(struct dentry *dentry, umode_t mode,
|
||||
int (*f)(struct dentry *, umode_t, void *),
|
||||
@@ -3727,7 +3727,7 @@ int vfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
|
||||
fsnotify_mkdir(dir, dentry);
|
||||
return error;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(vfs_mkdir, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(vfs_mkdir);
|
||||
|
||||
static long do_mkdirat(int dfd, const char __user *pathname, umode_t mode)
|
||||
{
|
||||
@@ -3801,7 +3801,7 @@ out:
|
||||
d_delete_notify(dir, dentry);
|
||||
return error;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(vfs_rmdir, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(vfs_rmdir);
|
||||
|
||||
long do_rmdir(int dfd, struct filename *name)
|
||||
{
|
||||
@@ -3924,7 +3924,7 @@ out:
|
||||
|
||||
return error;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(vfs_unlink, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(vfs_unlink);
|
||||
|
||||
/*
|
||||
* Make sure that the actual truncation of the file will occur outside its
|
||||
@@ -4159,7 +4159,7 @@ int vfs_link(struct dentry *old_dentry, struct inode *dir, struct dentry *new_de
|
||||
fsnotify_link(dir, inode, new_dentry);
|
||||
return error;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(vfs_link, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(vfs_link);
|
||||
|
||||
/*
|
||||
* Hardlinks are often used in delicate situations. We avoid
|
||||
@@ -4419,7 +4419,7 @@ out:
|
||||
|
||||
return error;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(vfs_rename, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(vfs_rename);
|
||||
|
||||
static int do_renameat2(int olddfd, const char __user *oldname, int newdfd,
|
||||
const char __user *newname, unsigned int flags)
|
||||
|
||||
@@ -415,7 +415,7 @@ int mnt_want_write_file(struct file *file)
|
||||
sb_end_write(file_inode(file)->i_sb);
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_NS_GPL(mnt_want_write_file, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL_GPL(mnt_want_write_file);
|
||||
|
||||
/**
|
||||
* __mnt_drop_write - give up write access to a mount
|
||||
@@ -457,7 +457,7 @@ void mnt_drop_write_file(struct file *file)
|
||||
__mnt_drop_write_file(file);
|
||||
sb_end_write(file_inode(file)->i_sb);
|
||||
}
|
||||
EXPORT_SYMBOL_NS(mnt_drop_write_file, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(mnt_drop_write_file);
|
||||
|
||||
static int mnt_make_readonly(struct mount *mnt)
|
||||
{
|
||||
|
||||
@@ -541,8 +541,8 @@ struct nls_table *load_nls_default(void)
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(unregister_nls);
|
||||
EXPORT_SYMBOL_NS(unload_nls, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL_NS(load_nls, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL_NS(load_nls_default, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(unload_nls);
|
||||
EXPORT_SYMBOL(load_nls);
|
||||
EXPORT_SYMBOL(load_nls_default);
|
||||
|
||||
MODULE_LICENSE("Dual BSD/GPL");
|
||||
|
||||
@@ -1158,7 +1158,7 @@ struct file *filp_open(const char *filename, int flags, umode_t mode)
|
||||
}
|
||||
return file;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(filp_open, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(filp_open);
|
||||
|
||||
/* ANDROID: Allow drivers to open only block files from kernel mode */
|
||||
struct file *filp_open_block(const char *filename, int flags, umode_t mode)
|
||||
@@ -1390,7 +1390,7 @@ int generic_file_open(struct inode * inode, struct file * filp)
|
||||
return 0;
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL_NS(generic_file_open, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(generic_file_open);
|
||||
|
||||
/*
|
||||
* This is used by subsystems that don't want seekable
|
||||
|
||||
@@ -471,7 +471,7 @@ ssize_t kernel_read(struct file *file, void *buf, size_t count, loff_t *pos)
|
||||
return ret;
|
||||
return __kernel_read(file, buf, count, pos);
|
||||
}
|
||||
EXPORT_SYMBOL_NS(kernel_read, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(kernel_read);
|
||||
|
||||
ssize_t vfs_read(struct file *file, char __user *buf, size_t count, loff_t *pos)
|
||||
{
|
||||
@@ -580,7 +580,7 @@ ssize_t kernel_write(struct file *file, const void *buf, size_t count,
|
||||
file_end_write(file);
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(kernel_write, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(kernel_write);
|
||||
|
||||
ssize_t vfs_write(struct file *file, const char __user *buf, size_t count, loff_t *pos)
|
||||
{
|
||||
|
||||
@@ -326,7 +326,7 @@ ssize_t generic_file_splice_read(struct file *in, loff_t *ppos,
|
||||
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(generic_file_splice_read, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(generic_file_splice_read);
|
||||
|
||||
const struct pipe_buf_operations default_pipe_buf_ops = {
|
||||
.release = generic_pipe_buf_release,
|
||||
@@ -722,7 +722,7 @@ done:
|
||||
return ret;
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL_NS(iter_file_splice_write, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(iter_file_splice_write);
|
||||
|
||||
/**
|
||||
* generic_splice_sendpage - splice data from a pipe to a socket
|
||||
|
||||
@@ -49,7 +49,7 @@ void generic_fillattr(struct inode *inode, struct kstat *stat)
|
||||
stat->blksize = i_blocksize(inode);
|
||||
stat->blocks = inode->i_blocks;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(generic_fillattr, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(generic_fillattr);
|
||||
|
||||
/**
|
||||
* vfs_getattr_nosec - getattr without security checks
|
||||
|
||||
@@ -1435,7 +1435,7 @@ error_bdev:
|
||||
error:
|
||||
return ERR_PTR(error);
|
||||
}
|
||||
EXPORT_SYMBOL_NS(mount_bdev, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(mount_bdev);
|
||||
|
||||
void kill_block_super(struct super_block *sb)
|
||||
{
|
||||
@@ -1449,7 +1449,7 @@ void kill_block_super(struct super_block *sb)
|
||||
blkdev_put(bdev, mode | FMODE_EXCL);
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL_NS(kill_block_super, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(kill_block_super);
|
||||
#endif
|
||||
|
||||
struct dentry *mount_nodev(struct file_system_type *fs_type,
|
||||
|
||||
@@ -66,7 +66,7 @@ int sync_filesystem(struct super_block *sb)
|
||||
return ret;
|
||||
return __sync_filesystem(sb, 1);
|
||||
}
|
||||
EXPORT_SYMBOL_NS(sync_filesystem, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL(sync_filesystem);
|
||||
|
||||
static void sync_inodes_one_sb(struct super_block *sb, void *arg)
|
||||
{
|
||||
|
||||
@@ -291,7 +291,7 @@ retry_deleg:
|
||||
}
|
||||
return error;
|
||||
}
|
||||
EXPORT_SYMBOL_NS_GPL(vfs_setxattr, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL_GPL(vfs_setxattr);
|
||||
|
||||
static ssize_t
|
||||
xattr_getsecurity(struct inode *inode, const char *name, void *value,
|
||||
@@ -405,7 +405,7 @@ vfs_getxattr(struct dentry *dentry, const char *name, void *value, size_t size)
|
||||
{
|
||||
return __vfs_getxattr(dentry, dentry->d_inode, name, value, size, 0);
|
||||
}
|
||||
EXPORT_SYMBOL_NS_GPL(vfs_getxattr, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL_GPL(vfs_getxattr);
|
||||
|
||||
ssize_t
|
||||
vfs_listxattr(struct dentry *dentry, char *list, size_t size)
|
||||
@@ -425,7 +425,7 @@ vfs_listxattr(struct dentry *dentry, char *list, size_t size)
|
||||
}
|
||||
return error;
|
||||
}
|
||||
EXPORT_SYMBOL_NS_GPL(vfs_listxattr, ANDROID_GKI_VFS_EXPORT_ONLY);
|
||||
EXPORT_SYMBOL_GPL(vfs_listxattr);
|
||||
|
||||
int
|
||||
__vfs_removexattr(struct dentry *dentry, const char *name)
|
||||
|
||||
Reference in New Issue
Block a user