\n
-----BEGIN PGP SIGNATURE----- iQEzBAABCAAdFiEEq1nRK9aeMoq1VSgcnJ2qBz9kQNkFAmbxQcMACgkQnJ2qBz9k QNm7vwf7BF/8EXviJq58Nkifay1miMcZmaJk9LCWY3zB6Ce5ZzmqdtJbs0/RmCAq q67lqsDibu5tMaIh+WOQ9RLPOQi1UFlmKzOCIdbrGzMFkHHW758+KUMdbo6CR3Bi T4TAsRRLwOkZW+cTGhtF43EY3sSKiNPgGeeDcCBKXGYi259Wmq22SZLoy9EmOVKe bNlK+zbKCaVJtgmvaN2MGmc+vamOgSBTZ+vXDrokDOmmyLr66ozrrvvSa3SOKeDA 9alTE0jjRdhjMOjpYH7yy1x3LtLez5qAA0rK/WPiuQSx0wGvXsmyLyLtf1NRHUsX 7wIWV0Gz5RookxnVCGZdZMCWihRhSg== =sDCT -----END PGP SIGNATURE----- Merge tag 'fs_for_v6.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs Pull quota and isofs updates from Jan Kara: "A few small cleanups in quota and isofs" * tag 'fs_for_v6.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs: isofs: Annotate struct SL_component with __counted_by() quota: remove unnecessary error code translation in dquot_quota_enable quota: remove redundant return at end of void function quota: remove unneeded return value of register_quota_format quota: avoid missing put_quota_format when DQUOT_SUSPENDED is passed
This commit is contained in:
commit
d0359e4ca0
@ -44,7 +44,7 @@ struct RR_PN_s {
|
|||||||
struct SL_component {
|
struct SL_component {
|
||||||
__u8 flags;
|
__u8 flags;
|
||||||
__u8 len;
|
__u8 len;
|
||||||
__u8 text[];
|
__u8 text[] __counted_by(len);
|
||||||
} __attribute__ ((packed));
|
} __attribute__ ((packed));
|
||||||
|
|
||||||
struct RR_SL_s {
|
struct RR_SL_s {
|
||||||
|
@ -1571,15 +1571,13 @@ static int __init ocfs2_init(void)
|
|||||||
|
|
||||||
ocfs2_set_locking_protocol();
|
ocfs2_set_locking_protocol();
|
||||||
|
|
||||||
status = register_quota_format(&ocfs2_quota_format);
|
register_quota_format(&ocfs2_quota_format);
|
||||||
if (status < 0)
|
|
||||||
goto out3;
|
|
||||||
status = register_filesystem(&ocfs2_fs_type);
|
status = register_filesystem(&ocfs2_fs_type);
|
||||||
if (!status)
|
if (!status)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
unregister_quota_format(&ocfs2_quota_format);
|
unregister_quota_format(&ocfs2_quota_format);
|
||||||
out3:
|
|
||||||
debugfs_remove(ocfs2_debugfs_root);
|
debugfs_remove(ocfs2_debugfs_root);
|
||||||
ocfs2_free_mem_caches();
|
ocfs2_free_mem_caches();
|
||||||
out2:
|
out2:
|
||||||
|
@ -163,13 +163,12 @@ static struct quota_module_name module_names[] = INIT_QUOTA_MODULE_NAMES;
|
|||||||
/* SLAB cache for dquot structures */
|
/* SLAB cache for dquot structures */
|
||||||
static struct kmem_cache *dquot_cachep;
|
static struct kmem_cache *dquot_cachep;
|
||||||
|
|
||||||
int register_quota_format(struct quota_format_type *fmt)
|
void register_quota_format(struct quota_format_type *fmt)
|
||||||
{
|
{
|
||||||
spin_lock(&dq_list_lock);
|
spin_lock(&dq_list_lock);
|
||||||
fmt->qf_next = quota_formats;
|
fmt->qf_next = quota_formats;
|
||||||
quota_formats = fmt;
|
quota_formats = fmt;
|
||||||
spin_unlock(&dq_list_lock);
|
spin_unlock(&dq_list_lock);
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(register_quota_format);
|
EXPORT_SYMBOL(register_quota_format);
|
||||||
|
|
||||||
@ -1831,7 +1830,6 @@ void dquot_claim_space_nodirty(struct inode *inode, qsize_t number)
|
|||||||
spin_unlock(&inode->i_lock);
|
spin_unlock(&inode->i_lock);
|
||||||
mark_all_dquot_dirty(dquots);
|
mark_all_dquot_dirty(dquots);
|
||||||
srcu_read_unlock(&dquot_srcu, index);
|
srcu_read_unlock(&dquot_srcu, index);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(dquot_claim_space_nodirty);
|
EXPORT_SYMBOL(dquot_claim_space_nodirty);
|
||||||
|
|
||||||
@ -1873,7 +1871,6 @@ void dquot_reclaim_space_nodirty(struct inode *inode, qsize_t number)
|
|||||||
spin_unlock(&inode->i_lock);
|
spin_unlock(&inode->i_lock);
|
||||||
mark_all_dquot_dirty(dquots);
|
mark_all_dquot_dirty(dquots);
|
||||||
srcu_read_unlock(&dquot_srcu, index);
|
srcu_read_unlock(&dquot_srcu, index);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(dquot_reclaim_space_nodirty);
|
EXPORT_SYMBOL(dquot_reclaim_space_nodirty);
|
||||||
|
|
||||||
@ -2406,7 +2403,7 @@ static int vfs_setup_quota_inode(struct inode *inode, int type)
|
|||||||
int dquot_load_quota_sb(struct super_block *sb, int type, int format_id,
|
int dquot_load_quota_sb(struct super_block *sb, int type, int format_id,
|
||||||
unsigned int flags)
|
unsigned int flags)
|
||||||
{
|
{
|
||||||
struct quota_format_type *fmt = find_quota_format(format_id);
|
struct quota_format_type *fmt;
|
||||||
struct quota_info *dqopt = sb_dqopt(sb);
|
struct quota_info *dqopt = sb_dqopt(sb);
|
||||||
int error;
|
int error;
|
||||||
|
|
||||||
@ -2416,6 +2413,7 @@ int dquot_load_quota_sb(struct super_block *sb, int type, int format_id,
|
|||||||
if (WARN_ON_ONCE(flags & DQUOT_SUSPENDED))
|
if (WARN_ON_ONCE(flags & DQUOT_SUSPENDED))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
|
fmt = find_quota_format(format_id);
|
||||||
if (!fmt)
|
if (!fmt)
|
||||||
return -ESRCH;
|
return -ESRCH;
|
||||||
if (!sb->dq_op || !sb->s_qcop ||
|
if (!sb->dq_op || !sb->s_qcop ||
|
||||||
@ -2596,7 +2594,8 @@ static int dquot_quota_enable(struct super_block *sb, unsigned int flags)
|
|||||||
goto out_err;
|
goto out_err;
|
||||||
}
|
}
|
||||||
if (sb_has_quota_limits_enabled(sb, type)) {
|
if (sb_has_quota_limits_enabled(sb, type)) {
|
||||||
ret = -EBUSY;
|
/* compatible with XFS */
|
||||||
|
ret = -EEXIST;
|
||||||
goto out_err;
|
goto out_err;
|
||||||
}
|
}
|
||||||
spin_lock(&dq_state_lock);
|
spin_lock(&dq_state_lock);
|
||||||
@ -2610,9 +2609,6 @@ out_err:
|
|||||||
if (flags & qtype_enforce_flag(type))
|
if (flags & qtype_enforce_flag(type))
|
||||||
dquot_disable(sb, type, DQUOT_LIMITS_ENABLED);
|
dquot_disable(sb, type, DQUOT_LIMITS_ENABLED);
|
||||||
}
|
}
|
||||||
/* Error code translation for better compatibility with XFS */
|
|
||||||
if (ret == -EBUSY)
|
|
||||||
ret = -EEXIST;
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -235,7 +235,8 @@ static struct quota_format_type v1_quota_format = {
|
|||||||
|
|
||||||
static int __init init_v1_quota_format(void)
|
static int __init init_v1_quota_format(void)
|
||||||
{
|
{
|
||||||
return register_quota_format(&v1_quota_format);
|
register_quota_format(&v1_quota_format);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __exit exit_v1_quota_format(void)
|
static void __exit exit_v1_quota_format(void)
|
||||||
|
@ -440,12 +440,9 @@ static struct quota_format_type v2r1_quota_format = {
|
|||||||
|
|
||||||
static int __init init_v2_quota_format(void)
|
static int __init init_v2_quota_format(void)
|
||||||
{
|
{
|
||||||
int ret;
|
register_quota_format(&v2r0_quota_format);
|
||||||
|
register_quota_format(&v2r1_quota_format);
|
||||||
ret = register_quota_format(&v2r0_quota_format);
|
return 0;
|
||||||
if (ret)
|
|
||||||
return ret;
|
|
||||||
return register_quota_format(&v2r1_quota_format);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __exit exit_v2_quota_format(void)
|
static void __exit exit_v2_quota_format(void)
|
||||||
|
@ -526,7 +526,7 @@ struct quota_info {
|
|||||||
const struct quota_format_ops *ops[MAXQUOTAS]; /* Operations for each type */
|
const struct quota_format_ops *ops[MAXQUOTAS]; /* Operations for each type */
|
||||||
};
|
};
|
||||||
|
|
||||||
int register_quota_format(struct quota_format_type *fmt);
|
void register_quota_format(struct quota_format_type *fmt);
|
||||||
void unregister_quota_format(struct quota_format_type *fmt);
|
void unregister_quota_format(struct quota_format_type *fmt);
|
||||||
|
|
||||||
struct quota_module_name {
|
struct quota_module_name {
|
||||||
|
@ -4961,11 +4961,7 @@ void __init shmem_init(void)
|
|||||||
shmem_init_inodecache();
|
shmem_init_inodecache();
|
||||||
|
|
||||||
#ifdef CONFIG_TMPFS_QUOTA
|
#ifdef CONFIG_TMPFS_QUOTA
|
||||||
error = register_quota_format(&shmem_quota_format);
|
register_quota_format(&shmem_quota_format);
|
||||||
if (error < 0) {
|
|
||||||
pr_err("Could not register quota format\n");
|
|
||||||
goto out3;
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
error = register_filesystem(&shmem_fs_type);
|
error = register_filesystem(&shmem_fs_type);
|
||||||
@ -5000,7 +4996,6 @@ out1:
|
|||||||
out2:
|
out2:
|
||||||
#ifdef CONFIG_TMPFS_QUOTA
|
#ifdef CONFIG_TMPFS_QUOTA
|
||||||
unregister_quota_format(&shmem_quota_format);
|
unregister_quota_format(&shmem_quota_format);
|
||||||
out3:
|
|
||||||
#endif
|
#endif
|
||||||
shmem_destroy_inodecache();
|
shmem_destroy_inodecache();
|
||||||
shm_mnt = ERR_PTR(error);
|
shm_mnt = ERR_PTR(error);
|
||||||
|
Loading…
Reference in New Issue
Block a user