mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-24 21:54:34 -04:00
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs
Pull quota updates from Jan Kara: "Quota improvements and some minor cleanups. The main portion in the pull request are changes which move i_dquot array from struct inode into fs-private part of an inode which saves memory for filesystems which don't use VFS quotas" * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs: udf: One function call less in udf_fill_super() after error detection udf: Deletion of unnecessary checks before the function call "iput" jbd: Deletion of an unnecessary check before the function call "iput" vfs: Remove i_dquot field from inode jfs: Convert to private i_dquot field reiserfs: Convert to private i_dquot field ocfs2: Convert to private i_dquot field ext4: Convert to private i_dquot field ext3: Convert to private i_dquot field ext2: Convert to private i_dquot field quota: Use function to provide i_dquot pointers xfs: Set allowed quota types gfs2: Set allowed quota types quota: Allow each filesystem to specify which quota types it supports quota: Remove const from function declarations quota: Add log level to printk
This commit is contained in:
commit
1366f5d312
22 changed files with 138 additions and 47 deletions
|
|
@ -606,9 +606,6 @@ struct inode {
|
|||
const struct file_operations *i_fop; /* former ->i_op->default_file_ops */
|
||||
struct file_lock *i_flock;
|
||||
struct address_space i_data;
|
||||
#ifdef CONFIG_QUOTA
|
||||
struct dquot *i_dquot[MAXQUOTAS];
|
||||
#endif
|
||||
struct list_head i_devices;
|
||||
union {
|
||||
struct pipe_inode_info *i_pipe;
|
||||
|
|
@ -1224,6 +1221,7 @@ struct super_block {
|
|||
struct backing_dev_info *s_bdi;
|
||||
struct mtd_info *s_mtd;
|
||||
struct hlist_node s_instances;
|
||||
unsigned int s_quota_types; /* Bitmask of supported quota types */
|
||||
struct quota_info s_dquot; /* Diskquota specific options */
|
||||
|
||||
struct sb_writers s_writers;
|
||||
|
|
@ -1592,6 +1590,7 @@ struct super_operations {
|
|||
#ifdef CONFIG_QUOTA
|
||||
ssize_t (*quota_read)(struct super_block *, int, char *, size_t, loff_t);
|
||||
ssize_t (*quota_write)(struct super_block *, int, const char *, size_t, loff_t);
|
||||
struct dquot **(*get_dquots)(struct inode *);
|
||||
#endif
|
||||
int (*bdev_try_to_free_page)(struct super_block*, struct page*, gfp_t);
|
||||
long (*nr_cached_objects)(struct super_block *, int);
|
||||
|
|
|
|||
|
|
@ -56,6 +56,11 @@ enum quota_type {
|
|||
PRJQUOTA = 2, /* element used for project quotas */
|
||||
};
|
||||
|
||||
/* Masks for quota types when used as a bitmask */
|
||||
#define QTYPE_MASK_USR (1 << USRQUOTA)
|
||||
#define QTYPE_MASK_GRP (1 << GRPQUOTA)
|
||||
#define QTYPE_MASK_PRJ (1 << PRJQUOTA)
|
||||
|
||||
typedef __kernel_uid32_t qid_t; /* Type in which we store ids in memory */
|
||||
typedef long long qsize_t; /* Type in which we store sizes */
|
||||
|
||||
|
|
|
|||
|
|
@ -64,10 +64,10 @@ void dquot_destroy(struct dquot *dquot);
|
|||
int __dquot_alloc_space(struct inode *inode, qsize_t number, int flags);
|
||||
void __dquot_free_space(struct inode *inode, qsize_t number, int flags);
|
||||
|
||||
int dquot_alloc_inode(const struct inode *inode);
|
||||
int dquot_alloc_inode(struct inode *inode);
|
||||
|
||||
int dquot_claim_space_nodirty(struct inode *inode, qsize_t number);
|
||||
void dquot_free_inode(const struct inode *inode);
|
||||
void dquot_free_inode(struct inode *inode);
|
||||
void dquot_reclaim_space_nodirty(struct inode *inode, qsize_t number);
|
||||
|
||||
int dquot_disable(struct super_block *sb, int type, unsigned int flags);
|
||||
|
|
@ -213,12 +213,12 @@ static inline void dquot_drop(struct inode *inode)
|
|||
{
|
||||
}
|
||||
|
||||
static inline int dquot_alloc_inode(const struct inode *inode)
|
||||
static inline int dquot_alloc_inode(struct inode *inode)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void dquot_free_inode(const struct inode *inode)
|
||||
static inline void dquot_free_inode(struct inode *inode)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue