diff options
author | Jan Kara <jack@suse.cz> | 2008-04-28 05:16:23 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-28 11:58:46 -0400 |
commit | d5dee5c395062a55236318ac4eec1f4ebb9de6db (patch) | |
tree | 2481afd9fbdd1df106d71a41cce2b08380f21d44 /fs/reiserfs/ioctl.c | |
parent | a2fe594fa3732298947377409b5d8111b14f56ec (diff) |
reiserfs: unpack tails on quota files
Quota files cannot have tails because quota_write and quota_read functions do
not support them. So far when quota files did have tail, we just refused to
turn quotas on it. Sadly this check has been wrong and so there are now
plenty installations where quota files don't have NOTAIL flag set and so now
after fixing the check, they suddently fail to turn quotas on. Since it's
easy to unpack the tail from kernel, do this from reiserfs_quota_on() which
solves the problem and is generally nicer to users anyway.
Signed-off-by: Jan Kara <jack@suse.cz>
Reported-by: <urhausen@urifabi.net>
Cc: Jeff Mahoney <jeffm@suse.com>
Cc: Chris Mason <chris.mason@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/reiserfs/ioctl.c')
-rw-r--r-- | fs/reiserfs/ioctl.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/fs/reiserfs/ioctl.c b/fs/reiserfs/ioctl.c index 74363a7aacbc..830332021ed4 100644 --- a/fs/reiserfs/ioctl.c +++ b/fs/reiserfs/ioctl.c | |||
@@ -12,8 +12,6 @@ | |||
12 | #include <linux/smp_lock.h> | 12 | #include <linux/smp_lock.h> |
13 | #include <linux/compat.h> | 13 | #include <linux/compat.h> |
14 | 14 | ||
15 | static int reiserfs_unpack(struct inode *inode, struct file *filp); | ||
16 | |||
17 | /* | 15 | /* |
18 | ** reiserfs_ioctl - handler for ioctl for inode | 16 | ** reiserfs_ioctl - handler for ioctl for inode |
19 | ** supported commands: | 17 | ** supported commands: |
@@ -159,7 +157,7 @@ int reiserfs_prepare_write(struct file *f, struct page *page, | |||
159 | ** Function try to convert tail from direct item into indirect. | 157 | ** Function try to convert tail from direct item into indirect. |
160 | ** It set up nopack attribute in the REISERFS_I(inode)->nopack | 158 | ** It set up nopack attribute in the REISERFS_I(inode)->nopack |
161 | */ | 159 | */ |
162 | static int reiserfs_unpack(struct inode *inode, struct file *filp) | 160 | int reiserfs_unpack(struct inode *inode, struct file *filp) |
163 | { | 161 | { |
164 | int retval = 0; | 162 | int retval = 0; |
165 | int index; | 163 | int index; |