diff options
Diffstat (limited to 'fs/reiserfs')
-rw-r--r-- | fs/reiserfs/inode.c | 15 | ||||
-rw-r--r-- | fs/reiserfs/super.c | 10 |
2 files changed, 12 insertions, 13 deletions
diff --git a/fs/reiserfs/inode.c b/fs/reiserfs/inode.c index 145c2d3e5e01..55fce92cdf18 100644 --- a/fs/reiserfs/inode.c +++ b/fs/reiserfs/inode.c | |||
@@ -1782,6 +1782,12 @@ int reiserfs_new_inode(struct reiserfs_transaction_handle *th, | |||
1782 | goto out_bad_inode; | 1782 | goto out_bad_inode; |
1783 | } | 1783 | } |
1784 | args.objectid = inode->i_ino = le32_to_cpu(ih.ih_key.k_objectid); | 1784 | args.objectid = inode->i_ino = le32_to_cpu(ih.ih_key.k_objectid); |
1785 | if (old_format_only(sb)) | ||
1786 | make_le_item_head(&ih, NULL, KEY_FORMAT_3_5, SD_OFFSET, | ||
1787 | TYPE_STAT_DATA, SD_V1_SIZE, MAX_US_INT); | ||
1788 | else | ||
1789 | make_le_item_head(&ih, NULL, KEY_FORMAT_3_6, SD_OFFSET, | ||
1790 | TYPE_STAT_DATA, SD_SIZE, MAX_US_INT); | ||
1785 | memcpy(INODE_PKEY(inode), &(ih.ih_key), KEY_SIZE); | 1791 | memcpy(INODE_PKEY(inode), &(ih.ih_key), KEY_SIZE); |
1786 | args.dirid = le32_to_cpu(ih.ih_key.k_dir_id); | 1792 | args.dirid = le32_to_cpu(ih.ih_key.k_dir_id); |
1787 | if (insert_inode_locked4(inode, args.objectid, | 1793 | if (insert_inode_locked4(inode, args.objectid, |
@@ -1834,13 +1840,6 @@ int reiserfs_new_inode(struct reiserfs_transaction_handle *th, | |||
1834 | reiserfs_init_acl_default(inode); | 1840 | reiserfs_init_acl_default(inode); |
1835 | reiserfs_init_xattr_rwsem(inode); | 1841 | reiserfs_init_xattr_rwsem(inode); |
1836 | 1842 | ||
1837 | if (old_format_only(sb)) | ||
1838 | make_le_item_head(&ih, NULL, KEY_FORMAT_3_5, SD_OFFSET, | ||
1839 | TYPE_STAT_DATA, SD_V1_SIZE, MAX_US_INT); | ||
1840 | else | ||
1841 | make_le_item_head(&ih, NULL, KEY_FORMAT_3_6, SD_OFFSET, | ||
1842 | TYPE_STAT_DATA, SD_SIZE, MAX_US_INT); | ||
1843 | |||
1844 | /* key to search for correct place for new stat data */ | 1843 | /* key to search for correct place for new stat data */ |
1845 | _make_cpu_key(&key, KEY_FORMAT_3_6, le32_to_cpu(ih.ih_key.k_dir_id), | 1844 | _make_cpu_key(&key, KEY_FORMAT_3_6, le32_to_cpu(ih.ih_key.k_dir_id), |
1846 | le32_to_cpu(ih.ih_key.k_objectid), SD_OFFSET, | 1845 | le32_to_cpu(ih.ih_key.k_objectid), SD_OFFSET, |
@@ -2561,7 +2560,7 @@ static int reiserfs_write_begin(struct file *file, | |||
2561 | } | 2560 | } |
2562 | 2561 | ||
2563 | index = pos >> PAGE_CACHE_SHIFT; | 2562 | index = pos >> PAGE_CACHE_SHIFT; |
2564 | page = __grab_cache_page(mapping, index); | 2563 | page = grab_cache_page_write_begin(mapping, index, flags); |
2565 | if (!page) | 2564 | if (!page) |
2566 | return -ENOMEM; | 2565 | return -ENOMEM; |
2567 | *pagep = page; | 2566 | *pagep = page; |
diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c index 663a91f5dce8..c55651f1407c 100644 --- a/fs/reiserfs/super.c +++ b/fs/reiserfs/super.c | |||
@@ -649,6 +649,8 @@ static struct dquot_operations reiserfs_quota_operations = { | |||
649 | .release_dquot = reiserfs_release_dquot, | 649 | .release_dquot = reiserfs_release_dquot, |
650 | .mark_dirty = reiserfs_mark_dquot_dirty, | 650 | .mark_dirty = reiserfs_mark_dquot_dirty, |
651 | .write_info = reiserfs_write_info, | 651 | .write_info = reiserfs_write_info, |
652 | .alloc_dquot = dquot_alloc, | ||
653 | .destroy_dquot = dquot_destroy, | ||
652 | }; | 654 | }; |
653 | 655 | ||
654 | static struct quotactl_ops reiserfs_qctl_operations = { | 656 | static struct quotactl_ops reiserfs_qctl_operations = { |
@@ -994,8 +996,7 @@ static int reiserfs_parse_options(struct super_block *s, char *options, /* strin | |||
994 | if (c == 'u' || c == 'g') { | 996 | if (c == 'u' || c == 'g') { |
995 | int qtype = c == 'u' ? USRQUOTA : GRPQUOTA; | 997 | int qtype = c == 'u' ? USRQUOTA : GRPQUOTA; |
996 | 998 | ||
997 | if ((sb_any_quota_enabled(s) || | 999 | if (sb_any_quota_loaded(s) && |
998 | sb_any_quota_suspended(s)) && | ||
999 | (!*arg != !REISERFS_SB(s)->s_qf_names[qtype])) { | 1000 | (!*arg != !REISERFS_SB(s)->s_qf_names[qtype])) { |
1000 | reiserfs_warning(s, | 1001 | reiserfs_warning(s, |
1001 | "reiserfs_parse_options: cannot change journaled quota options when quota turned on."); | 1002 | "reiserfs_parse_options: cannot change journaled quota options when quota turned on."); |
@@ -1041,8 +1042,7 @@ static int reiserfs_parse_options(struct super_block *s, char *options, /* strin | |||
1041 | "reiserfs_parse_options: unknown quota format specified."); | 1042 | "reiserfs_parse_options: unknown quota format specified."); |
1042 | return 0; | 1043 | return 0; |
1043 | } | 1044 | } |
1044 | if ((sb_any_quota_enabled(s) || | 1045 | if (sb_any_quota_loaded(s) && |
1045 | sb_any_quota_suspended(s)) && | ||
1046 | *qfmt != REISERFS_SB(s)->s_jquota_fmt) { | 1046 | *qfmt != REISERFS_SB(s)->s_jquota_fmt) { |
1047 | reiserfs_warning(s, | 1047 | reiserfs_warning(s, |
1048 | "reiserfs_parse_options: cannot change journaled quota options when quota turned on."); | 1048 | "reiserfs_parse_options: cannot change journaled quota options when quota turned on."); |
@@ -1067,7 +1067,7 @@ static int reiserfs_parse_options(struct super_block *s, char *options, /* strin | |||
1067 | } | 1067 | } |
1068 | /* This checking is not precise wrt the quota type but for our purposes it is sufficient */ | 1068 | /* This checking is not precise wrt the quota type but for our purposes it is sufficient */ |
1069 | if (!(*mount_options & (1 << REISERFS_QUOTA)) | 1069 | if (!(*mount_options & (1 << REISERFS_QUOTA)) |
1070 | && sb_any_quota_enabled(s)) { | 1070 | && sb_any_quota_loaded(s)) { |
1071 | reiserfs_warning(s, | 1071 | reiserfs_warning(s, |
1072 | "reiserfs_parse_options: quota options must be present when quota is turned on."); | 1072 | "reiserfs_parse_options: quota options must be present when quota is turned on."); |
1073 | return 0; | 1073 | return 0; |