Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756827AbXJJQgx (ORCPT ); Wed, 10 Oct 2007 12:36:53 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1756767AbXJJQfe (ORCPT ); Wed, 10 Oct 2007 12:35:34 -0400 Received: from e4.ny.us.ibm.com ([32.97.182.144]:49719 "EHLO e4.ny.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756759AbXJJQfd (ORCPT ); Wed, 10 Oct 2007 12:35:33 -0400 Subject: [RFC][PATCH 1/7] init_file(): only take writes on normal files To: linux-kernel@vger.kernel.org Cc: miklos@szeredi.hu, hch@infradead.org, Dave Hansen From: Dave Hansen Date: Wed, 10 Oct 2007 09:34:39 -0700 Message-Id: <20071010163439.0F8089F7@kernel> Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1105 Lines: 30 --- lxc-dave/fs/file_table.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff -puN fs/file_table.c~init_file-only-take-writes-on-normal-files fs/file_table.c --- lxc/fs/file_table.c~init_file-only-take-writes-on-normal-files 2007-10-04 13:01:59.000000000 -0700 +++ lxc-dave/fs/file_table.c 2007-10-04 13:03:03.000000000 -0700 @@ -199,7 +199,12 @@ int init_file(struct file *file, struct file->f_mapping = dentry->d_inode->i_mapping; file->f_mode = mode; file->f_op = fop; - if (mode & FMODE_WRITE) { + /* + * These mounts don't really matter in practice + * for r/o bind mounts. They aren't userspace- + * visible. We do this for consistency. + */ + if ((mode & FMODE_WRITE) && !special_file(dentry->d_inode->i_mode)) { file->f_mnt_write_state = FILE_MNT_WRITE_TAKEN; error = mnt_want_write(mnt); WARN_ON(error); _ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/