2013-04-13 10:45:30

by Marco Stornelli

[permalink] [raw]
Subject: [PATCH 3/3] fsfreeze: use sb_start_write_killable instead of sb_start_write

Replace sb_start_write with sb_start_write_killable where
possible.

Signed-off-by: Marco Stornelli <[email protected]>
---
fs/open.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/fs/open.c b/fs/open.c
index 8c74100..d621d76 100644
--- a/fs/open.c
+++ b/fs/open.c
@@ -182,7 +182,9 @@ static long do_sys_ftruncate(unsigned int fd, loff_t length, int small)
if (IS_APPEND(inode))
goto out_putf;

- sb_start_write(inode->i_sb);
+ error = sb_start_write_killable(inode->i_sb);
+ if (error < 0)
+ return error;
error = locks_verify_truncate(inode, f.file, length);
if (!error)
error = security_path_truncate(&f.file->f_path);
@@ -273,7 +275,9 @@ int do_fallocate(struct file *file, int mode, loff_t offset, loff_t len)
if (!file->f_op->fallocate)
return -EOPNOTSUPP;

- sb_start_write(inode->i_sb);
+ ret = sb_start_write_killable(inode->i_sb);
+ if (ret < 0)
+ return ret;
ret = file->f_op->fallocate(file, mode, offset, len);
sb_end_write(inode->i_sb);
return ret;
--
1.7.3.4


2013-04-16 16:36:27

by Jan Kara

[permalink] [raw]
Subject: Re: [PATCH 3/3] fsfreeze: use sb_start_write_killable instead of sb_start_write

On Sat 13-04-13 12:38:18, Marco Stornelli wrote:
> Replace sb_start_write with sb_start_write_killable where
> possible.
Looks good. You can add:
Reviewed-by: Jan Kara <[email protected]>

Honza

>
> Signed-off-by: Marco Stornelli <[email protected]>
> ---
> fs/open.c | 8 ++++++--
> 1 files changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/fs/open.c b/fs/open.c
> index 8c74100..d621d76 100644
> --- a/fs/open.c
> +++ b/fs/open.c
> @@ -182,7 +182,9 @@ static long do_sys_ftruncate(unsigned int fd, loff_t length, int small)
> if (IS_APPEND(inode))
> goto out_putf;
>
> - sb_start_write(inode->i_sb);
> + error = sb_start_write_killable(inode->i_sb);
> + if (error < 0)
> + return error;
> error = locks_verify_truncate(inode, f.file, length);
> if (!error)
> error = security_path_truncate(&f.file->f_path);
> @@ -273,7 +275,9 @@ int do_fallocate(struct file *file, int mode, loff_t offset, loff_t len)
> if (!file->f_op->fallocate)
> return -EOPNOTSUPP;
>
> - sb_start_write(inode->i_sb);
> + ret = sb_start_write_killable(inode->i_sb);
> + if (ret < 0)
> + return ret;
> ret = file->f_op->fallocate(file, mode, offset, len);
> sb_end_write(inode->i_sb);
> return ret;
> --
> 1.7.3.4
--
Jan Kara <[email protected]>
SUSE Labs, CR