提交 442d207e 编写于 作者: A Anton Altaparmakov

NTFS: Use C99 style structure initialization after memory allocation where

      possible (fs/ntfs/{attrib.c,index.c,super.c}).  Thanks to Al Viro and
      Pekka Enberg.
Signed-off-by: NAnton Altaparmakov <aia21@cantab.net>
上级 2fb21db2
...@@ -116,6 +116,9 @@ ToDo/Notes: ...@@ -116,6 +116,9 @@ ToDo/Notes:
- Use MAX_BUF_PER_PAGE instead of variable sized array allocation for - Use MAX_BUF_PER_PAGE instead of variable sized array allocation for
better code generation and one less sparse warning in fs/ntfs/aops.c. better code generation and one less sparse warning in fs/ntfs/aops.c.
- Remove spurious void pointer casts from fs/ntfs/. (Pekka Enberg) - Remove spurious void pointer casts from fs/ntfs/. (Pekka Enberg)
- Use C99 style structure initialization after memory allocation where
possible (fs/ntfs/{attrib.c,index.c,super.c}). Thanks to Al Viro and
Pekka Enberg.
2.1.22 - Many bug and race fixes and error handling improvements. 2.1.22 - Many bug and race fixes and error handling improvements.
......
...@@ -982,15 +982,14 @@ int ntfs_attr_lookup(const ATTR_TYPE type, const ntfschar *name, ...@@ -982,15 +982,14 @@ int ntfs_attr_lookup(const ATTR_TYPE type, const ntfschar *name,
static inline void ntfs_attr_init_search_ctx(ntfs_attr_search_ctx *ctx, static inline void ntfs_attr_init_search_ctx(ntfs_attr_search_ctx *ctx,
ntfs_inode *ni, MFT_RECORD *mrec) ntfs_inode *ni, MFT_RECORD *mrec)
{ {
ctx->mrec = mrec; *ctx = (ntfs_attr_search_ctx) {
/* Sanity checks are performed elsewhere. */ .mrec = mrec,
ctx->attr = (ATTR_RECORD*)((u8*)mrec + le16_to_cpu(mrec->attrs_offset)); /* Sanity checks are performed elsewhere. */
ctx->is_first = TRUE; .attr = (ATTR_RECORD*)((u8*)mrec +
ctx->ntfs_ino = ni; le16_to_cpu(mrec->attrs_offset)),
ctx->al_entry = NULL; .is_first = TRUE,
ctx->base_ntfs_ino = NULL; .ntfs_ino = ni,
ctx->base_mrec = NULL; };
ctx->base_attr = NULL;
} }
/** /**
......
/* /*
* index.c - NTFS kernel index handling. Part of the Linux-NTFS project. * index.c - NTFS kernel index handling. Part of the Linux-NTFS project.
* *
* Copyright (c) 2004 Anton Altaparmakov * Copyright (c) 2004-2005 Anton Altaparmakov
* *
* This program/include file is free software; you can redistribute it and/or * This program/include file is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as published * modify it under the terms of the GNU General Public License as published
...@@ -39,18 +39,8 @@ ntfs_index_context *ntfs_index_ctx_get(ntfs_inode *idx_ni) ...@@ -39,18 +39,8 @@ ntfs_index_context *ntfs_index_ctx_get(ntfs_inode *idx_ni)
ntfs_index_context *ictx; ntfs_index_context *ictx;
ictx = kmem_cache_alloc(ntfs_index_ctx_cache, SLAB_NOFS); ictx = kmem_cache_alloc(ntfs_index_ctx_cache, SLAB_NOFS);
if (ictx) { if (ictx)
ictx->idx_ni = idx_ni; *ictx = (ntfs_index_context){ .idx_ni = idx_ni };
ictx->entry = NULL;
ictx->data = NULL;
ictx->data_len = 0;
ictx->is_in_root = 0;
ictx->ir = NULL;
ictx->actx = NULL;
ictx->base_ni = NULL;
ictx->ia = NULL;
ictx->page = NULL;
}
return ictx; return ictx;
} }
......
...@@ -2292,36 +2292,19 @@ static int ntfs_fill_super(struct super_block *sb, void *opt, const int silent) ...@@ -2292,36 +2292,19 @@ static int ntfs_fill_super(struct super_block *sb, void *opt, const int silent)
return -ENOMEM; return -ENOMEM;
} }
/* Initialize ntfs_volume structure. */ /* Initialize ntfs_volume structure. */
memset(vol, 0, sizeof(ntfs_volume)); *vol = (ntfs_volume) {
vol->sb = sb; .sb = sb,
vol->upcase = NULL; /*
vol->attrdef = NULL; * Default is group and other don't have any access to files or
vol->mft_ino = NULL; * directories while owner has full access. Further, files by
vol->mftbmp_ino = NULL; * default are not executable but directories are of course
* browseable.
*/
.fmask = 0177,
.dmask = 0077,
};
init_rwsem(&vol->mftbmp_lock); init_rwsem(&vol->mftbmp_lock);
#ifdef NTFS_RW
vol->mftmirr_ino = NULL;
vol->logfile_ino = NULL;
#endif /* NTFS_RW */
vol->lcnbmp_ino = NULL;
init_rwsem(&vol->lcnbmp_lock); init_rwsem(&vol->lcnbmp_lock);
vol->vol_ino = NULL;
vol->root_ino = NULL;
vol->secure_ino = NULL;
vol->extend_ino = NULL;
#ifdef NTFS_RW
vol->quota_ino = NULL;
vol->quota_q_ino = NULL;
#endif /* NTFS_RW */
vol->nls_map = NULL;
/*
* Default is group and other don't have any access to files or
* directories while owner has full access. Further, files by default
* are not executable but directories are of course browseable.
*/
vol->fmask = 0177;
vol->dmask = 0077;
unlock_kernel(); unlock_kernel();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册