fs/ntfs3: Remove noacsrules
Currently, this option does not work properly. Its use leads to unstable results. If we figure out how to implement it without errors, we will add it later. Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
This commit is contained in:
parent
c20bc9c6d8
commit
267a36ba30
|
@ -61,17 +61,6 @@ this table marked with no it means default is without **no**.
|
|||
directories, fmask applies only to files and dmask only to directories.
|
||||
* - fmask=
|
||||
|
||||
* - noacsrules
|
||||
- "No access rules" mount option sets access rights for files/folders to
|
||||
777 and owner/group to root. This mount option absorbs all other
|
||||
permissions.
|
||||
|
||||
- Permissions change for files/folders will be reported as successful,
|
||||
but they will remain 777.
|
||||
|
||||
- Owner/group change will be reported as successful, butthey will stay
|
||||
as root.
|
||||
|
||||
* - nohidden
|
||||
- Files with the Windows-specific HIDDEN (FILE_ATTRIBUTE_HIDDEN) attribute
|
||||
will not be shown under Linux.
|
||||
|
|
|
@ -654,22 +654,12 @@ out:
|
|||
int ntfs3_setattr(struct mnt_idmap *idmap, struct dentry *dentry,
|
||||
struct iattr *attr)
|
||||
{
|
||||
struct super_block *sb = dentry->d_sb;
|
||||
struct ntfs_sb_info *sbi = sb->s_fs_info;
|
||||
struct inode *inode = d_inode(dentry);
|
||||
struct ntfs_inode *ni = ntfs_i(inode);
|
||||
u32 ia_valid = attr->ia_valid;
|
||||
umode_t mode = inode->i_mode;
|
||||
int err;
|
||||
|
||||
if (sbi->options->noacsrules) {
|
||||
/* "No access rules" - Force any changes of time etc. */
|
||||
attr->ia_valid |= ATTR_FORCE;
|
||||
/* and disable for editing some attributes. */
|
||||
attr->ia_valid &= ~(ATTR_UID | ATTR_GID | ATTR_MODE);
|
||||
ia_valid = attr->ia_valid;
|
||||
}
|
||||
|
||||
err = setattr_prepare(idmap, dentry, attr);
|
||||
if (err)
|
||||
goto out;
|
||||
|
@ -1153,7 +1143,6 @@ const struct inode_operations ntfs_file_inode_operations = {
|
|||
.getattr = ntfs_getattr,
|
||||
.setattr = ntfs3_setattr,
|
||||
.listxattr = ntfs_listxattr,
|
||||
.permission = ntfs_permission,
|
||||
.get_inode_acl = ntfs_get_acl,
|
||||
.set_acl = ntfs_set_acl,
|
||||
.fiemap = ntfs_fiemap,
|
||||
|
|
|
@ -2070,7 +2070,6 @@ const struct inode_operations ntfs_link_inode_operations = {
|
|||
.get_link = ntfs_get_link,
|
||||
.setattr = ntfs3_setattr,
|
||||
.listxattr = ntfs_listxattr,
|
||||
.permission = ntfs_permission,
|
||||
};
|
||||
|
||||
const struct address_space_operations ntfs_aops = {
|
||||
|
|
|
@ -607,7 +607,6 @@ const struct inode_operations ntfs_dir_inode_operations = {
|
|||
.rmdir = ntfs_rmdir,
|
||||
.mknod = ntfs_mknod,
|
||||
.rename = ntfs_rename,
|
||||
.permission = ntfs_permission,
|
||||
.get_inode_acl = ntfs_get_acl,
|
||||
.set_acl = ntfs_set_acl,
|
||||
.setattr = ntfs3_setattr,
|
||||
|
|
|
@ -100,7 +100,6 @@ struct ntfs_mount_options {
|
|||
unsigned hide_dot_files : 1; /* Set hidden flag on dot files. */
|
||||
unsigned windows_names : 1; /* Disallow names forbidden by Windows. */
|
||||
unsigned force : 1; /* RW mount dirty volume. */
|
||||
unsigned noacsrules : 1; /* Exclude acs rules. */
|
||||
unsigned prealloc : 1; /* Preallocate space when file is growing. */
|
||||
unsigned nocase : 1; /* case insensitive. */
|
||||
};
|
||||
|
@ -870,8 +869,6 @@ int ntfs_init_acl(struct mnt_idmap *idmap, struct inode *inode,
|
|||
#endif
|
||||
|
||||
int ntfs_acl_chmod(struct mnt_idmap *idmap, struct dentry *dentry);
|
||||
int ntfs_permission(struct mnt_idmap *idmap, struct inode *inode,
|
||||
int mask);
|
||||
ssize_t ntfs_listxattr(struct dentry *dentry, char *buffer, size_t size);
|
||||
extern const struct xattr_handler *ntfs_xattr_handlers[];
|
||||
|
||||
|
|
|
@ -253,7 +253,6 @@ enum Opt {
|
|||
Opt_acl,
|
||||
Opt_iocharset,
|
||||
Opt_prealloc,
|
||||
Opt_noacsrules,
|
||||
Opt_nocase,
|
||||
Opt_err,
|
||||
};
|
||||
|
@ -274,7 +273,6 @@ static const struct fs_parameter_spec ntfs_fs_parameters[] = {
|
|||
fsparam_flag_no("acl", Opt_acl),
|
||||
fsparam_flag_no("showmeta", Opt_showmeta),
|
||||
fsparam_flag_no("prealloc", Opt_prealloc),
|
||||
fsparam_flag_no("acsrules", Opt_noacsrules),
|
||||
fsparam_flag_no("nocase", Opt_nocase),
|
||||
fsparam_string("iocharset", Opt_iocharset),
|
||||
{}
|
||||
|
@ -387,9 +385,6 @@ static int ntfs_fs_parse_param(struct fs_context *fc,
|
|||
case Opt_prealloc:
|
||||
opts->prealloc = result.negated ? 0 : 1;
|
||||
break;
|
||||
case Opt_noacsrules:
|
||||
opts->noacsrules = result.negated ? 1 : 0;
|
||||
break;
|
||||
case Opt_nocase:
|
||||
opts->nocase = result.negated ? 1 : 0;
|
||||
break;
|
||||
|
@ -572,8 +567,6 @@ static int ntfs_show_options(struct seq_file *m, struct dentry *root)
|
|||
seq_puts(m, ",hide_dot_files");
|
||||
if (opts->force)
|
||||
seq_puts(m, ",force");
|
||||
if (opts->noacsrules)
|
||||
seq_puts(m, ",noacsrules");
|
||||
if (opts->prealloc)
|
||||
seq_puts(m, ",prealloc");
|
||||
if (sb->s_flags & SB_POSIXACL)
|
||||
|
@ -791,7 +784,7 @@ static int ntfs_init_from_boot(struct super_block *sb, u32 sector_size,
|
|||
if (boot_sector_size != sector_size) {
|
||||
ntfs_warn(
|
||||
sb,
|
||||
"Different NTFS' sector size (%u) and media sector size (%u)",
|
||||
"Different NTFS sector size (%u) and media sector size (%u)",
|
||||
boot_sector_size, sector_size);
|
||||
dev_size += sector_size - 1;
|
||||
}
|
||||
|
|
|
@ -711,20 +711,6 @@ int ntfs_acl_chmod(struct mnt_idmap *idmap, struct dentry *dentry)
|
|||
return posix_acl_chmod(idmap, dentry, inode->i_mode);
|
||||
}
|
||||
|
||||
/*
|
||||
* ntfs_permission - inode_operations::permission
|
||||
*/
|
||||
int ntfs_permission(struct mnt_idmap *idmap, struct inode *inode,
|
||||
int mask)
|
||||
{
|
||||
if (ntfs_sb(inode->i_sb)->options->noacsrules) {
|
||||
/* "No access rules" mode - Allow all changes. */
|
||||
return 0;
|
||||
}
|
||||
|
||||
return generic_permission(idmap, inode, mask);
|
||||
}
|
||||
|
||||
/*
|
||||
* ntfs_listxattr - inode_operations::listxattr
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue