diff options
author | Jan Kara <jack@suse.cz> | 2010-05-19 10:28:56 -0400 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2010-05-24 08:10:19 -0400 |
commit | 36350462814739e1f38cba59a6900ebadb08d3bb (patch) | |
tree | 09c1f17c5a264a50028a1ea25f3fd681734d2058 /fs/udf/ialloc.c | |
parent | 287a80958cf63fc5c68d5bf6e89a3669dd66234a (diff) |
udf: Remove dead quota code
Quota on UDF is non-functional at least since 2.6.16 (I'm too lazy to
do more archeology) because it does not provide .quota_write and .quota_read
functions and thus quotaon(8) just returns EINVAL. Since nobody complained
for all those years and quota support is not even in UDF standard just nuke
it.
Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs/udf/ialloc.c')
-rw-r--r-- | fs/udf/ialloc.c | 21 |
1 files changed, 1 insertions, 20 deletions
diff --git a/fs/udf/ialloc.c b/fs/udf/ialloc.c index 2b5586c7f02a..18cd7111185d 100644 --- a/fs/udf/ialloc.c +++ b/fs/udf/ialloc.c | |||
@@ -20,7 +20,6 @@ | |||
20 | 20 | ||
21 | #include "udfdecl.h" | 21 | #include "udfdecl.h" |
22 | #include <linux/fs.h> | 22 | #include <linux/fs.h> |
23 | #include <linux/quotaops.h> | ||
24 | #include <linux/sched.h> | 23 | #include <linux/sched.h> |
25 | #include <linux/slab.h> | 24 | #include <linux/slab.h> |
26 | 25 | ||
@@ -32,13 +31,6 @@ void udf_free_inode(struct inode *inode) | |||
32 | struct super_block *sb = inode->i_sb; | 31 | struct super_block *sb = inode->i_sb; |
33 | struct udf_sb_info *sbi = UDF_SB(sb); | 32 | struct udf_sb_info *sbi = UDF_SB(sb); |
34 | 33 | ||
35 | /* | ||
36 | * Note: we must free any quota before locking the superblock, | ||
37 | * as writing the quota to disk may need the lock as well. | ||
38 | */ | ||
39 | dquot_free_inode(inode); | ||
40 | dquot_drop(inode); | ||
41 | |||
42 | clear_inode(inode); | 34 | clear_inode(inode); |
43 | 35 | ||
44 | mutex_lock(&sbi->s_alloc_mutex); | 36 | mutex_lock(&sbi->s_alloc_mutex); |
@@ -61,7 +53,7 @@ struct inode *udf_new_inode(struct inode *dir, int mode, int *err) | |||
61 | struct super_block *sb = dir->i_sb; | 53 | struct super_block *sb = dir->i_sb; |
62 | struct udf_sb_info *sbi = UDF_SB(sb); | 54 | struct udf_sb_info *sbi = UDF_SB(sb); |
63 | struct inode *inode; | 55 | struct inode *inode; |
64 | int block, ret; | 56 | int block; |
65 | uint32_t start = UDF_I(dir)->i_location.logicalBlockNum; | 57 | uint32_t start = UDF_I(dir)->i_location.logicalBlockNum; |
66 | struct udf_inode_info *iinfo; | 58 | struct udf_inode_info *iinfo; |
67 | struct udf_inode_info *dinfo = UDF_I(dir); | 59 | struct udf_inode_info *dinfo = UDF_I(dir); |
@@ -146,17 +138,6 @@ struct inode *udf_new_inode(struct inode *dir, int mode, int *err) | |||
146 | insert_inode_hash(inode); | 138 | insert_inode_hash(inode); |
147 | mark_inode_dirty(inode); | 139 | mark_inode_dirty(inode); |
148 | 140 | ||
149 | dquot_initialize(inode); | ||
150 | ret = dquot_alloc_inode(inode); | ||
151 | if (ret) { | ||
152 | dquot_drop(inode); | ||
153 | inode->i_flags |= S_NOQUOTA; | ||
154 | inode->i_nlink = 0; | ||
155 | iput(inode); | ||
156 | *err = ret; | ||
157 | return NULL; | ||
158 | } | ||
159 | |||
160 | *err = 0; | 141 | *err = 0; |
161 | return inode; | 142 | return inode; |
162 | } | 143 | } |