All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] pipe: skip file_update_time on frozen fs
@ 2013-11-26  7:59 Dmitry Monakhov
  0 siblings, 0 replies; 3+ messages in thread
From: Dmitry Monakhov @ 2013-11-26  7:59 UTC (permalink / raw)
  To: Al Viro; +Cc: linux-fsdevel, Jan Kara

Pipe has no data associated with fs so it is not good idea to block
pipe_write() if FS is frozen, but we can not update file's time on such
filesystem. Let's use same idea as we use in touch_atime().

https://bugzilla.kernel.org/show_bug.cgi?id=65701

Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
Reviewed-by: Jan Kara <jack@suse.cz>

---
 fs/pipe.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/fs/pipe.c b/fs/pipe.c
index d2c45e1..a9acd9a 100644
--- a/fs/pipe.c
+++ b/fs/pipe.c
@@ -663,10 +663,11 @@ out:
 		wake_up_interruptible_sync_poll(&pipe->wait, POLLIN | POLLRDNORM);
 		kill_fasync(&pipe->fasync_readers, SIGIO, POLL_IN);
 	}
-	if (ret > 0) {
+	if (ret > 0 && sb_start_write_trylock(file_inode(filp)->i_sb)) {
 		int err = file_update_time(filp);
 		if (err)
 			ret = err;
+		sb_end_write(file_inode(filp)->i_sb);
 	}
 	return ret;
 }
-- 
1.7.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread
* [PATCH] pipe: skip file_update_time on frozen fs
@ 2013-11-25  9:43 Dmitry Monakhov
  2013-11-25 22:17 ` Jan Kara
  0 siblings, 1 reply; 3+ messages in thread
From: Dmitry Monakhov @ 2013-11-25  9:43 UTC (permalink / raw)
  To: linux-fsdevel; +Cc: Dmitry Monakhov

Pipe has no data associated with fs so it is not good idea to block
pipe_write() if FS is frozen, but we can not update file's time on such
filesystem. Let's use same idea as we use in touch_time().

https://bugzilla.kernel.org/show_bug.cgi?id=65701

Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
---
 fs/pipe.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/fs/pipe.c b/fs/pipe.c
index d2c45e1..a9acd9a 100644
--- a/fs/pipe.c
+++ b/fs/pipe.c
@@ -663,10 +663,11 @@ out:
 		wake_up_interruptible_sync_poll(&pipe->wait, POLLIN | POLLRDNORM);
 		kill_fasync(&pipe->fasync_readers, SIGIO, POLL_IN);
 	}
-	if (ret > 0) {
+	if (ret > 0 && sb_start_write_trylock(file_inode(filp)->i_sb)) {
 		int err = file_update_time(filp);
 		if (err)
 			ret = err;
+		sb_end_write(file_inode(filp)->i_sb);
 	}
 	return ret;
 }
-- 
1.7.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-11-26  7:59 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-26  7:59 [PATCH] pipe: skip file_update_time on frozen fs Dmitry Monakhov
  -- strict thread matches above, loose matches on Subject: below --
2013-11-25  9:43 Dmitry Monakhov
2013-11-25 22:17 ` Jan Kara

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.