Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: nilfs2: deleted inconsistent comment in nilfs_load_inode_block() nilfs2: deleted struct nilfs_dat_group_desc nilfs2: fix lock order reversal in chcp operation
This commit is contained in:
commit
82abc2a97a
|
@ -871,7 +871,6 @@ int nilfs_cpfile_change_cpmode(struct inode *cpfile, __u64 cno, int mode)
|
|||
* exclusive with a new mount job. Though it doesn't cover
|
||||
* umount, it's enough for the purpose.
|
||||
*/
|
||||
mutex_lock(&nilfs->ns_mount_mutex);
|
||||
if (nilfs_checkpoint_is_mounted(nilfs, cno, 1)) {
|
||||
/* Current implementation does not have to protect
|
||||
plain read-only mounts since they are exclusive
|
||||
|
@ -880,7 +879,6 @@ int nilfs_cpfile_change_cpmode(struct inode *cpfile, __u64 cno, int mode)
|
|||
ret = -EBUSY;
|
||||
} else
|
||||
ret = nilfs_cpfile_clear_snapshot(cpfile, cno);
|
||||
mutex_unlock(&nilfs->ns_mount_mutex);
|
||||
return ret;
|
||||
case NILFS_SNAPSHOT:
|
||||
return nilfs_cpfile_set_snapshot(cpfile, cno);
|
||||
|
|
|
@ -664,7 +664,6 @@ int nilfs_load_inode_block(struct nilfs_sb_info *sbi, struct inode *inode,
|
|||
int err;
|
||||
|
||||
spin_lock(&sbi->s_inode_lock);
|
||||
/* Caller of this function MUST lock s_inode_lock */
|
||||
if (ii->i_bh == NULL) {
|
||||
spin_unlock(&sbi->s_inode_lock);
|
||||
err = nilfs_ifile_get_inode_block(sbi->s_ifile, inode->i_ino,
|
||||
|
|
|
@ -99,7 +99,8 @@ static int nilfs_ioctl_wrap_copy(struct the_nilfs *nilfs,
|
|||
static int nilfs_ioctl_change_cpmode(struct inode *inode, struct file *filp,
|
||||
unsigned int cmd, void __user *argp)
|
||||
{
|
||||
struct inode *cpfile = NILFS_SB(inode->i_sb)->s_nilfs->ns_cpfile;
|
||||
struct the_nilfs *nilfs = NILFS_SB(inode->i_sb)->s_nilfs;
|
||||
struct inode *cpfile = nilfs->ns_cpfile;
|
||||
struct nilfs_transaction_info ti;
|
||||
struct nilfs_cpmode cpmode;
|
||||
int ret;
|
||||
|
@ -109,14 +110,17 @@ static int nilfs_ioctl_change_cpmode(struct inode *inode, struct file *filp,
|
|||
if (copy_from_user(&cpmode, argp, sizeof(cpmode)))
|
||||
return -EFAULT;
|
||||
|
||||
mutex_lock(&nilfs->ns_mount_mutex);
|
||||
nilfs_transaction_begin(inode->i_sb, &ti, 0);
|
||||
ret = nilfs_cpfile_change_cpmode(
|
||||
cpfile, cpmode.cm_cno, cpmode.cm_mode);
|
||||
if (unlikely(ret < 0)) {
|
||||
nilfs_transaction_abort(inode->i_sb);
|
||||
mutex_unlock(&nilfs->ns_mount_mutex);
|
||||
return ret;
|
||||
}
|
||||
nilfs_transaction_commit(inode->i_sb); /* never fails */
|
||||
mutex_unlock(&nilfs->ns_mount_mutex);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
@ -424,15 +424,6 @@ struct nilfs_dat_entry {
|
|||
__le64 de_rsv;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct nilfs_dat_group_desc - block group descriptor
|
||||
* @dg_nfrees: number of free virtual block numbers in block group
|
||||
*/
|
||||
struct nilfs_dat_group_desc {
|
||||
__le32 dg_nfrees;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* struct nilfs_snapshot_list - snapshot list
|
||||
* @ssl_next: next checkpoint number on snapshot list
|
||||
|
|
Loading…
Reference in New Issue