Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs
Pull UDF, reiserfs, quota, fsnotify cleanups from Jan Kara: "Several UDF, reiserfs, quota and fsnotify cleanups. Note that there is also a patch updating MAINTAINERS entry for notification subsystem to point to me as a maintainer since current entries are stale" * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs: fsnotify: make dnotify_fsnotify_ops const isofs: Delete an unnecessary variable initialisation in isofs_read_inode() isofs: Adjust four checks for null pointers isofs: Delete an error message for a failed memory allocation in isofs_read_inode() quota_v2: Delete an error message for a failed memory allocation in v2_read_file_info() fs-udf: Delete an error message for a failed memory allocation in two functions fs-udf: Improve six size determinations fs-udf: Adjust two checks for null pointers reiserfs: fix spelling mistake: "tranasction" -> "transaction" MAINTAINERS: Update entries for notification subsystem uapi/linux/quota.h: Do not include linux/errno.h
This commit is contained in:
commit
460352c2f1
14
MAINTAINERS
14
MAINTAINERS
|
@ -4136,7 +4136,9 @@ F: include/linux/dax.h
|
||||||
F: include/trace/events/fs_dax.h
|
F: include/trace/events/fs_dax.h
|
||||||
|
|
||||||
DIRECTORY NOTIFICATION (DNOTIFY)
|
DIRECTORY NOTIFICATION (DNOTIFY)
|
||||||
M: Eric Paris <eparis@parisplace.org>
|
M: Jan Kara <jack@suse.cz>
|
||||||
|
R: Amir Goldstein <amir73il@gmail.com>
|
||||||
|
L: linux-fsdevel@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/filesystems/dnotify.txt
|
F: Documentation/filesystems/dnotify.txt
|
||||||
F: fs/notify/dnotify/
|
F: fs/notify/dnotify/
|
||||||
|
@ -5247,7 +5249,9 @@ F: Documentation/hwmon/f71805f
|
||||||
F: drivers/hwmon/f71805f.c
|
F: drivers/hwmon/f71805f.c
|
||||||
|
|
||||||
FANOTIFY
|
FANOTIFY
|
||||||
M: Eric Paris <eparis@redhat.com>
|
M: Jan Kara <jack@suse.cz>
|
||||||
|
R: Amir Goldstein <amir73il@gmail.com>
|
||||||
|
L: linux-fsdevel@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: fs/notify/fanotify/
|
F: fs/notify/fanotify/
|
||||||
F: include/linux/fanotify.h
|
F: include/linux/fanotify.h
|
||||||
|
@ -6757,9 +6761,9 @@ S: Maintained
|
||||||
F: drivers/mtd/nand/jz4780_*
|
F: drivers/mtd/nand/jz4780_*
|
||||||
|
|
||||||
INOTIFY
|
INOTIFY
|
||||||
M: John McCutchan <john@johnmccutchan.com>
|
M: Jan Kara <jack@suse.cz>
|
||||||
M: Robert Love <rlove@rlove.org>
|
R: Amir Goldstein <amir73il@gmail.com>
|
||||||
M: Eric Paris <eparis@parisplace.org>
|
L: linux-fsdevel@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/filesystems/inotify.txt
|
F: Documentation/filesystems/inotify.txt
|
||||||
F: fs/notify/inotify/
|
F: fs/notify/inotify/
|
||||||
|
|
|
@ -96,7 +96,7 @@ static int __init init_inodecache(void)
|
||||||
0, (SLAB_RECLAIM_ACCOUNT|
|
0, (SLAB_RECLAIM_ACCOUNT|
|
||||||
SLAB_MEM_SPREAD|SLAB_ACCOUNT),
|
SLAB_MEM_SPREAD|SLAB_ACCOUNT),
|
||||||
init_once);
|
init_once);
|
||||||
if (isofs_inode_cachep == NULL)
|
if (!isofs_inode_cachep)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -678,7 +678,7 @@ static int isofs_fill_super(struct super_block *s, void *data, int silent)
|
||||||
if (isonum_711(vdp->type) == ISO_VD_END)
|
if (isonum_711(vdp->type) == ISO_VD_END)
|
||||||
break;
|
break;
|
||||||
if (isonum_711(vdp->type) == ISO_VD_PRIMARY) {
|
if (isonum_711(vdp->type) == ISO_VD_PRIMARY) {
|
||||||
if (pri == NULL) {
|
if (!pri) {
|
||||||
pri = (struct iso_primary_descriptor *)vdp;
|
pri = (struct iso_primary_descriptor *)vdp;
|
||||||
/* Save the buffer in case we need it ... */
|
/* Save the buffer in case we need it ... */
|
||||||
pri_bh = bh;
|
pri_bh = bh;
|
||||||
|
@ -742,7 +742,7 @@ root_found:
|
||||||
goto out_freebh;
|
goto out_freebh;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (joliet_level && (pri == NULL || !opt.rock)) {
|
if (joliet_level && (!pri || !opt.rock)) {
|
||||||
/* This is the case of Joliet with the norock mount flag.
|
/* This is the case of Joliet with the norock mount flag.
|
||||||
* A disc with both Joliet and Rock Ridge is handled later
|
* A disc with both Joliet and Rock Ridge is handled later
|
||||||
*/
|
*/
|
||||||
|
@ -1298,7 +1298,7 @@ static int isofs_read_inode(struct inode *inode, int relocated)
|
||||||
unsigned long bufsize = ISOFS_BUFFER_SIZE(inode);
|
unsigned long bufsize = ISOFS_BUFFER_SIZE(inode);
|
||||||
unsigned long block;
|
unsigned long block;
|
||||||
int high_sierra = sbi->s_high_sierra;
|
int high_sierra = sbi->s_high_sierra;
|
||||||
struct buffer_head *bh = NULL;
|
struct buffer_head *bh;
|
||||||
struct iso_directory_record *de;
|
struct iso_directory_record *de;
|
||||||
struct iso_directory_record *tmpde = NULL;
|
struct iso_directory_record *tmpde = NULL;
|
||||||
unsigned int de_len;
|
unsigned int de_len;
|
||||||
|
@ -1320,8 +1320,7 @@ static int isofs_read_inode(struct inode *inode, int relocated)
|
||||||
int frag1 = bufsize - offset;
|
int frag1 = bufsize - offset;
|
||||||
|
|
||||||
tmpde = kmalloc(de_len, GFP_KERNEL);
|
tmpde = kmalloc(de_len, GFP_KERNEL);
|
||||||
if (tmpde == NULL) {
|
if (!tmpde) {
|
||||||
printk(KERN_INFO "%s: out of memory\n", __func__);
|
|
||||||
ret = -ENOMEM;
|
ret = -ENOMEM;
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
|
@ -133,7 +133,7 @@ static void dnotify_free_mark(struct fsnotify_mark *fsn_mark)
|
||||||
kmem_cache_free(dnotify_mark_cache, dn_mark);
|
kmem_cache_free(dnotify_mark_cache, dn_mark);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct fsnotify_ops dnotify_fsnotify_ops = {
|
static const struct fsnotify_ops dnotify_fsnotify_ops = {
|
||||||
.handle_event = dnotify_handle_event,
|
.handle_event = dnotify_handle_event,
|
||||||
.free_mark = dnotify_free_mark,
|
.free_mark = dnotify_free_mark,
|
||||||
};
|
};
|
||||||
|
|
|
@ -109,11 +109,9 @@ static int v2_read_file_info(struct super_block *sb, int type)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
info->dqi_priv = kmalloc(sizeof(struct qtree_mem_dqinfo), GFP_NOFS);
|
info->dqi_priv = kmalloc(sizeof(struct qtree_mem_dqinfo), GFP_NOFS);
|
||||||
if (!info->dqi_priv) {
|
if (!info->dqi_priv)
|
||||||
printk(KERN_WARNING
|
|
||||||
"Not enough memory for quota information structure.\n");
|
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
|
||||||
qinfo = info->dqi_priv;
|
qinfo = info->dqi_priv;
|
||||||
if (version == 0) {
|
if (version == 0) {
|
||||||
/* limits are stored as unsigned 32-bit data */
|
/* limits are stored as unsigned 32-bit data */
|
||||||
|
|
|
@ -1481,7 +1481,7 @@ static int flush_journal_list(struct super_block *s,
|
||||||
if ((!was_jwait) && !buffer_locked(saved_bh)) {
|
if ((!was_jwait) && !buffer_locked(saved_bh)) {
|
||||||
reiserfs_warning(s, "journal-813",
|
reiserfs_warning(s, "journal-813",
|
||||||
"BAD! buffer %llu %cdirty %cjwait, "
|
"BAD! buffer %llu %cdirty %cjwait, "
|
||||||
"not in a newer tranasction",
|
"not in a newer transaction",
|
||||||
(unsigned long long)saved_bh->
|
(unsigned long long)saved_bh->
|
||||||
b_blocknr, was_dirty ? ' ' : '!',
|
b_blocknr, was_dirty ? ' ' : '!',
|
||||||
was_jwait ? ' ' : '!');
|
was_jwait ? ' ' : '!');
|
||||||
|
|
|
@ -114,7 +114,7 @@ static void udf_update_extent_cache(struct inode *inode, loff_t estart,
|
||||||
__udf_clear_extent_cache(inode);
|
__udf_clear_extent_cache(inode);
|
||||||
if (pos->bh)
|
if (pos->bh)
|
||||||
get_bh(pos->bh);
|
get_bh(pos->bh);
|
||||||
memcpy(&iinfo->cached_extent.epos, pos, sizeof(struct extent_position));
|
memcpy(&iinfo->cached_extent.epos, pos, sizeof(*pos));
|
||||||
iinfo->cached_extent.lstart = estart;
|
iinfo->cached_extent.lstart = estart;
|
||||||
switch (iinfo->i_alloc_type) {
|
switch (iinfo->i_alloc_type) {
|
||||||
case ICBTAG_FLAG_AD_SHORT:
|
case ICBTAG_FLAG_AD_SHORT:
|
||||||
|
@ -1572,13 +1572,8 @@ static int udf_alloc_i_data(struct inode *inode, size_t size)
|
||||||
{
|
{
|
||||||
struct udf_inode_info *iinfo = UDF_I(inode);
|
struct udf_inode_info *iinfo = UDF_I(inode);
|
||||||
iinfo->i_ext.i_data = kmalloc(size, GFP_KERNEL);
|
iinfo->i_ext.i_data = kmalloc(size, GFP_KERNEL);
|
||||||
|
if (!iinfo->i_ext.i_data)
|
||||||
if (!iinfo->i_ext.i_data) {
|
|
||||||
udf_err(inode->i_sb, "(ino %ld) no free memory\n",
|
|
||||||
inode->i_ino);
|
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1703,7 +1698,7 @@ static int udf_update_inode(struct inode *inode, int do_sync)
|
||||||
dsea->impUseLength = cpu_to_le32(sizeof(struct regid));
|
dsea->impUseLength = cpu_to_le32(sizeof(struct regid));
|
||||||
}
|
}
|
||||||
eid = (struct regid *)dsea->impUse;
|
eid = (struct regid *)dsea->impUse;
|
||||||
memset(eid, 0, sizeof(struct regid));
|
memset(eid, 0, sizeof(*eid));
|
||||||
strcpy(eid->ident, UDF_ID_DEVELOPER);
|
strcpy(eid->ident, UDF_ID_DEVELOPER);
|
||||||
eid->identSuffix[0] = UDF_OS_CLASS_UNIX;
|
eid->identSuffix[0] = UDF_OS_CLASS_UNIX;
|
||||||
eid->identSuffix[1] = UDF_OS_ID_LINUX;
|
eid->identSuffix[1] = UDF_OS_ID_LINUX;
|
||||||
|
@ -1754,7 +1749,7 @@ static int udf_update_inode(struct inode *inode, int do_sync)
|
||||||
udf_time_to_disk_stamp(&efe->createTime, iinfo->i_crtime);
|
udf_time_to_disk_stamp(&efe->createTime, iinfo->i_crtime);
|
||||||
udf_time_to_disk_stamp(&efe->attrTime, inode->i_ctime);
|
udf_time_to_disk_stamp(&efe->attrTime, inode->i_ctime);
|
||||||
|
|
||||||
memset(&(efe->impIdent), 0, sizeof(struct regid));
|
memset(&(efe->impIdent), 0, sizeof(efe->impIdent));
|
||||||
strcpy(efe->impIdent.ident, UDF_ID_DEVELOPER);
|
strcpy(efe->impIdent.ident, UDF_ID_DEVELOPER);
|
||||||
efe->impIdent.identSuffix[0] = UDF_OS_CLASS_UNIX;
|
efe->impIdent.identSuffix[0] = UDF_OS_CLASS_UNIX;
|
||||||
efe->impIdent.identSuffix[1] = UDF_OS_ID_LINUX;
|
efe->impIdent.identSuffix[1] = UDF_OS_ID_LINUX;
|
||||||
|
|
|
@ -1184,7 +1184,7 @@ static int udf_rename(struct inode *old_dir, struct dentry *old_dentry,
|
||||||
*/
|
*/
|
||||||
ncfi.fileVersionNum = ocfi.fileVersionNum;
|
ncfi.fileVersionNum = ocfi.fileVersionNum;
|
||||||
ncfi.fileCharacteristics = ocfi.fileCharacteristics;
|
ncfi.fileCharacteristics = ocfi.fileCharacteristics;
|
||||||
memcpy(&(ncfi.icb), &(ocfi.icb), sizeof(struct long_ad));
|
memcpy(&(ncfi.icb), &(ocfi.icb), sizeof(ocfi.icb));
|
||||||
udf_write_fi(new_dir, &ncfi, nfi, &nfibh, NULL, NULL);
|
udf_write_fi(new_dir, &ncfi, nfi, &nfibh, NULL, NULL);
|
||||||
|
|
||||||
/* The old fid may have moved - find it again */
|
/* The old fid may have moved - find it again */
|
||||||
|
|
|
@ -266,11 +266,8 @@ static int udf_sb_alloc_partition_maps(struct super_block *sb, u32 count)
|
||||||
{
|
{
|
||||||
struct udf_sb_info *sbi = UDF_SB(sb);
|
struct udf_sb_info *sbi = UDF_SB(sb);
|
||||||
|
|
||||||
sbi->s_partmaps = kcalloc(count, sizeof(struct udf_part_map),
|
sbi->s_partmaps = kcalloc(count, sizeof(*sbi->s_partmaps), GFP_KERNEL);
|
||||||
GFP_KERNEL);
|
|
||||||
if (!sbi->s_partmaps) {
|
if (!sbi->s_partmaps) {
|
||||||
udf_err(sb, "Unable to allocate space for %d partition maps\n",
|
|
||||||
count);
|
|
||||||
sbi->s_partitions = 0;
|
sbi->s_partitions = 0;
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
@ -324,7 +321,8 @@ static void udf_sb_free_partitions(struct super_block *sb)
|
||||||
{
|
{
|
||||||
struct udf_sb_info *sbi = UDF_SB(sb);
|
struct udf_sb_info *sbi = UDF_SB(sb);
|
||||||
int i;
|
int i;
|
||||||
if (sbi->s_partmaps == NULL)
|
|
||||||
|
if (!sbi->s_partmaps)
|
||||||
return;
|
return;
|
||||||
for (i = 0; i < sbi->s_partitions; i++)
|
for (i = 0; i < sbi->s_partitions; i++)
|
||||||
udf_free_partition(&sbi->s_partmaps[i]);
|
udf_free_partition(&sbi->s_partmaps[i]);
|
||||||
|
@ -1071,7 +1069,7 @@ static struct udf_bitmap *udf_sb_alloc_bitmap(struct super_block *sb, u32 index)
|
||||||
else
|
else
|
||||||
bitmap = vzalloc(size); /* TODO: get rid of vzalloc */
|
bitmap = vzalloc(size); /* TODO: get rid of vzalloc */
|
||||||
|
|
||||||
if (bitmap == NULL)
|
if (!bitmap)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
bitmap->s_nr_groups = nr_groups;
|
bitmap->s_nr_groups = nr_groups;
|
||||||
|
@ -2099,7 +2097,7 @@ static int udf_fill_super(struct super_block *sb, void *options, int silent)
|
||||||
uopt.fmode = UDF_INVALID_MODE;
|
uopt.fmode = UDF_INVALID_MODE;
|
||||||
uopt.dmode = UDF_INVALID_MODE;
|
uopt.dmode = UDF_INVALID_MODE;
|
||||||
|
|
||||||
sbi = kzalloc(sizeof(struct udf_sb_info), GFP_KERNEL);
|
sbi = kzalloc(sizeof(*sbi), GFP_KERNEL);
|
||||||
if (!sbi)
|
if (!sbi)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,6 @@
|
||||||
#ifndef _UAPI_LINUX_QUOTA_
|
#ifndef _UAPI_LINUX_QUOTA_
|
||||||
#define _UAPI_LINUX_QUOTA_
|
#define _UAPI_LINUX_QUOTA_
|
||||||
|
|
||||||
#include <linux/errno.h>
|
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
|
|
||||||
#define __DQUOT_VERSION__ "dquot_6.6.0"
|
#define __DQUOT_VERSION__ "dquot_6.6.0"
|
||||||
|
|
Loading…
Reference in New Issue