diff options
author | Christoph Hellwig <hch@lst.de> | 2005-06-23 03:09:16 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-23 12:45:20 -0400 |
commit | 84de856ed30c568c2bb7b9ac0679772bd2737d9b (patch) | |
tree | 532e4f6bcc0db2d1baf0455484ec7f64a2a51e71 /fs/dquot.c | |
parent | df164db5fd16888ddbe2a63a47b2f6dda9a428b5 (diff) |
[PATCH] quota: consolidate code surrounding vfs_quota_on_mount
Move some code duplicated in both callers into vfs_quota_on_mount
Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Jan Kara <jack@ucw.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/dquot.c')
-rw-r--r-- | fs/dquot.c | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/fs/dquot.c b/fs/dquot.c index 3995ce7907cc..343c03655619 100644 --- a/fs/dquot.c +++ b/fs/dquot.c | |||
@@ -1519,14 +1519,29 @@ out_path: | |||
1519 | * This function is used when filesystem needs to initialize quotas | 1519 | * This function is used when filesystem needs to initialize quotas |
1520 | * during mount time. | 1520 | * during mount time. |
1521 | */ | 1521 | */ |
1522 | int vfs_quota_on_mount(int type, int format_id, struct dentry *dentry) | 1522 | int vfs_quota_on_mount(struct super_block *sb, char *qf_name, |
1523 | int format_id, int type) | ||
1523 | { | 1524 | { |
1525 | struct qstr name = {.name = qf_name, .len = 0, .len = strlen(qf_name)}; | ||
1526 | struct dentry *dentry; | ||
1524 | int error; | 1527 | int error; |
1525 | 1528 | ||
1529 | dentry = lookup_hash(&name, sb->s_root); | ||
1530 | if (IS_ERR(dentry)) | ||
1531 | return PTR_ERR(dentry); | ||
1532 | |||
1526 | error = security_quota_on(dentry); | 1533 | error = security_quota_on(dentry); |
1527 | if (error) | 1534 | if (!error) |
1528 | return error; | 1535 | error = vfs_quota_on_inode(dentry->d_inode, type, format_id); |
1529 | return vfs_quota_on_inode(dentry->d_inode, type, format_id); | 1536 | |
1537 | /* | ||
1538 | * Now invalidate and put the dentry - quota got its own reference | ||
1539 | * to inode and dentry has at least wrong hash so we had better | ||
1540 | * throw it away. | ||
1541 | */ | ||
1542 | d_invalidate(dentry); | ||
1543 | dput(dentry); | ||
1544 | return error; | ||
1530 | } | 1545 | } |
1531 | 1546 | ||
1532 | /* Generic routine for getting common part of quota structure */ | 1547 | /* Generic routine for getting common part of quota structure */ |