2013-06-17 14:19:59

by majianpeng

[permalink] [raw]
Subject: [PATCH] ceph: remove sb_start/end_write in ceph_aio_write.

Either in vfs_write or io_submit,it call file_start/end_write.
The different between file_start/end_write and sb_start/end_write is
file_ only handle regular file.But i think in ceph_aio_write,it only
for regular file.

Signed-off-by: Jianpeng Ma<[email protected]>
---
fs/ceph/file.c | 2 --
1 file changed, 2 deletions(-)

diff --git a/fs/ceph/file.c b/fs/ceph/file.c
index 656e169..7c69f4f 100644
--- a/fs/ceph/file.c
+++ b/fs/ceph/file.c
@@ -716,7 +716,6 @@ static ssize_t ceph_aio_write(struct kiocb *iocb, const struct iovec *iov,
if (ceph_snap(inode) != CEPH_NOSNAP)
return -EROFS;

- sb_start_write(inode->i_sb);
mutex_lock(&inode->i_mutex);
hold_mutex = true;

@@ -809,7 +808,6 @@ retry_snap:
out:
if (hold_mutex)
mutex_unlock(&inode->i_mutex);
- sb_end_write(inode->i_sb);
current->backing_dev_info = NULL;

return written ? written : err;
-- 1.8.3.rc1.44.gb387c77


2013-06-23 08:01:43

by Yan, Zheng

[permalink] [raw]
Subject: Re: [PATCH] ceph: remove sb_start/end_write in ceph_aio_write.

On Mon, Jun 17, 2013 at 10:19 PM, majianpeng <[email protected]> wrote:
>
> Either in vfs_write or io_submit,it call file_start/end_write.
> The different between file_start/end_write and sb_start/end_write is
> file_ only handle regular file.But i think in ceph_aio_write,it only
> for regular file.
>
> Signed-off-by: Jianpeng Ma<[email protected]>
> ---
> fs/ceph/file.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/fs/ceph/file.c b/fs/ceph/file.c
> index 656e169..7c69f4f 100644
> --- a/fs/ceph/file.c
> +++ b/fs/ceph/file.c
> @@ -716,7 +716,6 @@ static ssize_t ceph_aio_write(struct kiocb *iocb, const struct iovec *iov,
> if (ceph_snap(inode) != CEPH_NOSNAP)
> return -EROFS;
> - sb_start_write(inode->i_sb);
> mutex_lock(&inode->i_mutex);
> hold_mutex = true;
> @@ -809,7 +808,6 @@ retry_snap:
> out:
> if (hold_mutex)
> mutex_unlock(&inode->i_mutex);
> - sb_end_write(inode->i_sb);
> current->backing_dev_info = NULL;
> return written ? written : err;
> -- 1.8.3.rc1.44.gb387c77
>


It looks that my commit 03d254edeb (ceph: apply write checks in
ceph_aio_write) conflicts with
Al Viro's commit 8d71db4f08 (lift sb_start_write/sb_end_write out of
->aio_write())

Acked-by: Yan, Zheng <[email protected]>

2013-06-23 16:49:45

by Sage Weil

[permalink] [raw]
Subject: Re: [PATCH] ceph: remove sb_start/end_write in ceph_aio_write.

Thanks everyone, pushed this to the testing branch.

sage

On Sun, 23 Jun 2013, Yan, Zheng wrote:

> On Mon, Jun 17, 2013 at 10:19 PM, majianpeng <[email protected]> wrote:
> >
> > Either in vfs_write or io_submit,it call file_start/end_write.
> > The different between file_start/end_write and sb_start/end_write is
> > file_ only handle regular file.But i think in ceph_aio_write,it only
> > for regular file.
> >
> > Signed-off-by: Jianpeng Ma<[email protected]>
> > ---
> > fs/ceph/file.c | 2 --
> > 1 file changed, 2 deletions(-)
> >
> > diff --git a/fs/ceph/file.c b/fs/ceph/file.c
> > index 656e169..7c69f4f 100644
> > --- a/fs/ceph/file.c
> > +++ b/fs/ceph/file.c
> > @@ -716,7 +716,6 @@ static ssize_t ceph_aio_write(struct kiocb *iocb, const struct iovec *iov,
> > if (ceph_snap(inode) != CEPH_NOSNAP)
> > return -EROFS;
> > - sb_start_write(inode->i_sb);
> > mutex_lock(&inode->i_mutex);
> > hold_mutex = true;
> > @@ -809,7 +808,6 @@ retry_snap:
> > out:
> > if (hold_mutex)
> > mutex_unlock(&inode->i_mutex);
> > - sb_end_write(inode->i_sb);
> > current->backing_dev_info = NULL;
> > return written ? written : err;
> > -- 1.8.3.rc1.44.gb387c77
> >
>
>
> It looks that my commit 03d254edeb (ceph: apply write checks in
> ceph_aio_write) conflicts with
> Al Viro's commit 8d71db4f08 (lift sb_start_write/sb_end_write out of
> ->aio_write())
>
> Acked-by: Yan, Zheng <[email protected]>
>
>