Loading fs/file_table.c +1 −8 Original line number Original line Diff line number Diff line Loading @@ -483,10 +483,8 @@ void mark_files_ro(struct super_block *sb) { { struct file *f; struct file *f; retry: lg_global_lock(&files_lglock); lg_global_lock(&files_lglock); do_file_list_for_each_entry(sb, f) { do_file_list_for_each_entry(sb, f) { struct vfsmount *mnt; if (!S_ISREG(f->f_path.dentry->d_inode->i_mode)) if (!S_ISREG(f->f_path.dentry->d_inode->i_mode)) continue; continue; if (!file_count(f)) if (!file_count(f)) Loading @@ -499,12 +497,7 @@ void mark_files_ro(struct super_block *sb) if (file_check_writeable(f) != 0) if (file_check_writeable(f) != 0) continue; continue; file_release_write(f); file_release_write(f); mnt = mntget(f->f_path.mnt); mnt_drop_write_file(f); /* This can sleep, so we can't hold the spinlock. */ lg_global_unlock(&files_lglock); mnt_drop_write(mnt); mntput(mnt); goto retry; } while_file_list_for_each_entry; } while_file_list_for_each_entry; lg_global_unlock(&files_lglock); lg_global_unlock(&files_lglock); } } Loading Loading
fs/file_table.c +1 −8 Original line number Original line Diff line number Diff line Loading @@ -483,10 +483,8 @@ void mark_files_ro(struct super_block *sb) { { struct file *f; struct file *f; retry: lg_global_lock(&files_lglock); lg_global_lock(&files_lglock); do_file_list_for_each_entry(sb, f) { do_file_list_for_each_entry(sb, f) { struct vfsmount *mnt; if (!S_ISREG(f->f_path.dentry->d_inode->i_mode)) if (!S_ISREG(f->f_path.dentry->d_inode->i_mode)) continue; continue; if (!file_count(f)) if (!file_count(f)) Loading @@ -499,12 +497,7 @@ void mark_files_ro(struct super_block *sb) if (file_check_writeable(f) != 0) if (file_check_writeable(f) != 0) continue; continue; file_release_write(f); file_release_write(f); mnt = mntget(f->f_path.mnt); mnt_drop_write_file(f); /* This can sleep, so we can't hold the spinlock. */ lg_global_unlock(&files_lglock); mnt_drop_write(mnt); mntput(mnt); goto retry; } while_file_list_for_each_entry; } while_file_list_for_each_entry; lg_global_unlock(&files_lglock); lg_global_unlock(&files_lglock); } } Loading