Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull vfs pile 1 from Al Viro: "This is _not_ all; in particular, Miklos' and Jan's stuff is not there yet." * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (64 commits) ext4: initialization of ext4_li_mtx needs to be done earlier debugfs-related mode_t whack-a-mole hfsplus: add an ioctl to bless files hfsplus: change finder_info to u32 hfsplus: initialise userflags qnx4: new helper - try_extent() qnx4: get rid of qnx4_bread/qnx4_getblk take removal of PF_FORKNOEXEC to flush_old_exec() trim includes in inode.c um: uml_dup_mmap() relies on ->mmap_sem being held, but activate_mm() doesn't hold it um: embed ->stub_pages[] into mmu_context gadgetfs: list_for_each_safe() misuse ocfs2: fix leaks on failure exits in module_init ecryptfs: make register_filesystem() the last potential failure exit ntfs: forgets to unregister sysctls on register_filesystem() failure logfs: missing cleanup on register_filesystem() failure jfs: mising cleanup on register_filesystem() failure make configfs_pin_fs() return root dentry on success configfs: configfs_create_dir() has parent dentry in dentry->d_parent configfs: sanitize configfs_create() ...
这个提交包含在:
@@ -558,9 +558,6 @@ static int logfs_link(struct dentry *old_dentry, struct inode *dir,
|
||||
{
|
||||
struct inode *inode = old_dentry->d_inode;
|
||||
|
||||
if (inode->i_nlink >= LOGFS_LINK_MAX)
|
||||
return -EMLINK;
|
||||
|
||||
inode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME;
|
||||
ihold(inode);
|
||||
inc_nlink(inode);
|
||||
|
@@ -315,11 +315,9 @@ static int logfs_get_sb_final(struct super_block *sb)
|
||||
if (IS_ERR(rootdir))
|
||||
goto fail;
|
||||
|
||||
sb->s_root = d_alloc_root(rootdir);
|
||||
if (!sb->s_root) {
|
||||
iput(rootdir);
|
||||
sb->s_root = d_make_root(rootdir);
|
||||
if (!sb->s_root)
|
||||
goto fail;
|
||||
}
|
||||
|
||||
/* at that point we know that ->put_super() will be called */
|
||||
super->s_erase_page = alloc_pages(GFP_KERNEL, 0);
|
||||
@@ -542,6 +540,7 @@ static struct dentry *logfs_get_sb_device(struct logfs_super *super,
|
||||
* the filesystem incompatible with 32bit systems.
|
||||
*/
|
||||
sb->s_maxbytes = (1ull << 43) - 1;
|
||||
sb->s_max_links = LOGFS_LINK_MAX;
|
||||
sb->s_op = &logfs_super_operations;
|
||||
sb->s_flags = flags | MS_NOATIME;
|
||||
|
||||
@@ -627,7 +626,10 @@ static int __init logfs_init(void)
|
||||
if (ret)
|
||||
goto out2;
|
||||
|
||||
return register_filesystem(&logfs_fs_type);
|
||||
ret = register_filesystem(&logfs_fs_type);
|
||||
if (!ret)
|
||||
return 0;
|
||||
logfs_destroy_inode_cache();
|
||||
out2:
|
||||
logfs_compr_exit();
|
||||
out1:
|
||||
|
在新工单中引用
屏蔽一个用户