Andrew,
Thanks for your information :-)
Coly
在 2007-05-25五的 16:33 +1000,andrew hendry写道:
select your whole mail and use pre-format in evolution.
or change it to pre-format and do insert-text file.
this should send it with tabs intact, the confusing bit i think is if
your testing it by
David Howells napsal(a):
Implement file locking for AFS.
Signed-off-by: David Howells [EMAIL PROTECTED]
---
fs/afs/Makefile|1
fs/afs/afs.h |8 +
fs/afs/afs_fs.h|3
fs/afs/callback.c |3
fs/afs/dir.c |1
fs/afs/file.c |2
This mail is about an issue that has been of concern to me for quite a
while and I think it is (well past) time to air it more widely and try
to come to a resolution.
This issue is how write barriers (the block-device kind, not the
memory-barrier kind) should be handled by the various layers.
Hi,
2007/5/24, James Morris [EMAIL PROTECTED]:
I can restate my question and ask why you'd want a security policy like:
Subject 'sysadmin' has:
read access to /etc/shadow
read/write access to /views/sysadmin/etc/shadow
where the objects referenced by the paths are identical and
On Fri, May 25, 2007 at 05:58:25PM +1000, Neil Brown wrote:
We can think of there being three types of devices:
1/ SAFE. With a SAFE device, there is no write-behind cache, or if
there is it is non-volatile. Once a write completes it is
completely safe. Such a device
On Fri, May 25 2007, David Chinner wrote:
The second, while much easier, can fail.
So we do a test I/O to see if the device supports them before
enabling that mode. But, as we've recently discovered, this is not
sufficient to detect *correctly functioning* barrier support.
Right, those
I actually forgot to cc linux-fsdevel on this one.
Vladimir found a corner case bug in the case of faulting source
address, which is since fixed, but might be interesting to anyone
else following development...
- Forwarded message from Nick Piggin [EMAIL PROTECTED] -
Date: Wed, 16 May
Hi,
This is a resync of the new aops patches to 2.6.22-rc2-mm1
Only one more conversion broken this time, so we're doing OK. AFFS
compile is broken due to cont_prepare_write disappearing, and me not
bringing the conversion patch uptodate (which I won't do again until
something happens with this
Revert the patch from Neil Brown to optimise NFSD writev handling.
Cc: Linux Memory Management [EMAIL PROTECTED]
Cc: Linux Filesystems linux-fsdevel@vger.kernel.org
Cc: Neil Brown [EMAIL PROTECTED]
Signed-off-by: Nick Piggin [EMAIL PROTECTED]
mm/filemap.c | 32
Restore the KERNEL_DS optimisation, especially helpful to the 2copy write
path.
This may be a pretty questionable gain in most cases, especially after the
legacy 2copy write path is removed, but it doesn't cost much.
Cc: Linux Memory Management [EMAIL PROTECTED]
Cc: Linux Filesystems
Cc: [EMAIL PROTECTED]
Cc: Linux Filesystems linux-fsdevel@vger.kernel.org
Signed-off-by: Nick Piggin [EMAIL PROTECTED]
fs/xfs/linux-2.6/xfs_aops.c | 19 ---
fs/xfs/linux-2.6/xfs_lrw.c | 35 ---
2 files changed, 24 insertions(+), 30
Cc: [EMAIL PROTECTED]
Cc: Linux Filesystems linux-fsdevel@vger.kernel.org
Signed-off-by: Nick Piggin [EMAIL PROTECTED]
fs/ext2/dir.c | 56 ++--
fs/ext2/ext2.h |3 +++
fs/ext2/inode.c | 24 +---
3 files changed, 54
From: Vladimir Saveliev [EMAIL PROTECTED]
This patch makes reiserfs to use AOP_FLAG_CONT_EXPAND
in order to get rid of the special generic_cont_expand routine
Signed-off-by: Vladimir Saveliev [EMAIL PROTECTED]
Signed-off-by: Nick Piggin [EMAIL PROTECTED]
---
---
fs/reiserfs/inode.c | 13
[mszeredi]
- don't send zero length write requests
- it is not legal for the filesystem to return with zero written bytes
Signed-off-by: Nick Piggin [EMAIL PROTECTED]
Signed-off-by: Miklos Szeredi [EMAIL PROTECTED]
fs/fuse/file.c | 48 +---
1 file
Implement new aops for some of the simpler filesystems.
Cc: Linux Filesystems linux-fsdevel@vger.kernel.org
Signed-off-by: Nick Piggin [EMAIL PROTECTED]
fs/configfs/inode.c |4 ++--
fs/hugetlbfs/inode.c | 16 ++--
fs/ramfs/file-mmu.c |4 ++--
fs/ramfs/file-nommu.c |
Cc: Linux Filesystems linux-fsdevel@vger.kernel.org
Acked-by: Trond Myklebust [EMAIL PROTECTED]
Signed-off-by: Nick Piggin [EMAIL PROTECTED]
fs/nfs/file.c | 49 -
1 file changed, 36 insertions(+), 13 deletions(-)
Index: linux-2.6/fs/nfs/file.c
Cc: Linux Filesystems linux-fsdevel@vger.kernel.org
Signed-off-by: Nick Piggin [EMAIL PROTECTED]
fs/block_dev.c | 26 +++---
1 file changed, 19 insertions(+), 7 deletions(-)
Index: linux-2.6/fs/block_dev.c
===
Cc: [EMAIL PROTECTED]
Cc: Linux Filesystems linux-fsdevel@vger.kernel.org
Signed-off-by: Nick Piggin [EMAIL PROTECTED]
Various fixes and improvements
Signed-off-by: Badari Pulavarty [EMAIL PROTECTED]
fs/ext3/inode.c | 136
1 file
Cc: [EMAIL PROTECTED]
Cc: Linux Filesystems linux-fsdevel@vger.kernel.org
Signed-off-by: Nick Piggin [EMAIL PROTECTED]
fs/bfs/file.c | 12
1 file changed, 8 insertions(+), 4 deletions(-)
Index: linux-2.6/fs/bfs/file.c
Convert udf to new aops. Also seem to have fixed pagecache corruption in
udf_adinicb_commit_write -- page was marked uptodate when it is not. Also,
fixed the silly setup where prepare_write was doing a kmap to be used in
commit_write: just do kmap_atomic in write_end. Use libfs helpers to make
Cc: [EMAIL PROTECTED]
Cc: Linux Filesystems linux-fsdevel@vger.kernel.org
Signed-off-by: Nick Piggin [EMAIL PROTECTED]
fs/ufs/dir.c | 56 +---
fs/ufs/inode.c | 23 +++
2 files changed, 56 insertions(+), 23 deletions(-)
Cc: [EMAIL PROTECTED]
Cc: Linux Filesystems linux-fsdevel@vger.kernel.org
Convert ext4 to use write_begin()/write_end() methods.
Signed-off-by: Badari Pulavarty [EMAIL PROTECTED]
fs/ext4/inode.c | 147 +++-
1 file changed, 93 insertions(+),
From: Andrew Morton [EMAIL PROTECTED]
Rename some variables and fix some types.
Cc: Linux Memory Management [EMAIL PROTECTED]
Cc: Linux Filesystems linux-fsdevel@vger.kernel.org
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Nick Piggin [EMAIL PROTECTED]
mm/filemap.c | 35
From: Vladimir Saveliev [EMAIL PROTECTED]
Convert reiserfs to new aops
Signed-off-by: Vladimir Saveliev [EMAIL PROTECTED]
Signed-off-by: Nick Piggin [EMAIL PROTECTED]
---
---
fs/reiserfs/inode.c | 177 +---
fs/reiserfs/ioctl.c | 10 +-
Cc: Linux Filesystems linux-fsdevel@vger.kernel.org
Signed-off-by: Nick Piggin [EMAIL PROTECTED]
fs/smbfs/file.c | 34 +-
1 file changed, 25 insertions(+), 9 deletions(-)
Index: linux-2.6/fs/smbfs/file.c
Add an iterator data structure to operate over an iovec. Add usercopy
operators needed by generic_file_buffered_write, and convert that function
over.
Cc: Linux Memory Management [EMAIL PROTECTED]
Cc: Linux Filesystems linux-fsdevel@vger.kernel.org
Signed-off-by: Nick Piggin [EMAIL PROTECTED]
Signed-off-by: Nick Piggin [EMAIL PROTECTED]
---
fs/buffer.c | 20
include/linux/buffer_head.h |1 -
2 files changed, 21 deletions(-)
Index: linux-2.6/fs/buffer.c
===
---
Modify the core write() code so that it won't take a pagefault while holding a
lock on the pagecache page. There are a number of different deadlocks possible
if we try to do such a thing:
1. generic_buffered_write
2. lock_page
3.prepare_write
4. unlock_page+vmtruncate
5.
Quite a bit of code is used in maintaining these cached pages that are
probably pretty unlikely to get used. It would require a narrow race where
the page is inserted concurrently while this process is allocating a page
in order to create the spare page. Then a multi-page write into an uncached
From: Vladimir Saveliev [EMAIL PROTECTED]
Make reiserfs to write via generic routines.
Original reiserfs write optimized for big writes is deadlock rone
Signed-off-by: Vladimir Saveliev [EMAIL PROTECTED]
Signed-off-by: Nick Piggin [EMAIL PROTECTED]
---
---
fs/reiserfs/file.c | 1240
These are intended to replace prepare_write and commit_write with more
flexible alternatives that are also able to avoid the buffered write
deadlock problems efficiently (which prepare_write is unable to do).
Cc: Linux Memory Management [EMAIL PROTECTED]
Cc: Linux Filesystems
From: Andrew Morton [EMAIL PROTECTED]
This was a bugfix against 6527c2bdf1f833cc18e8f42bd97973d583e4aa83, which we
also revert.
Cc: Linux Memory Management [EMAIL PROTECTED]
Cc: Linux Filesystems linux-fsdevel@vger.kernel.org
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Nick
New buffers against uptodate pages are simply be marked uptodate, while the
buffer_new bit remains set. This causes error-case code to zero out parts
of those buffers because it thinks they contain stale data: wrong, they
are actually uptodate so this is a data loss situation.
Fix this by
Cc: [EMAIL PROTECTED]
Cc: Linux Filesystems linux-fsdevel@vger.kernel.org
Signed-off-by: Nick Piggin [EMAIL PROTECTED]
fs/qnx4/inode.c | 21 +
1 file changed, 13 insertions(+), 8 deletions(-)
Index: linux-2.6/fs/qnx4/inode.c
If prepare_write fails with AOP_TRUNCATED_PAGE, or if commit_write fails, then
we may have failed the write operation despite prepare_write having
instantiated blocks past i_size. Fix this, and consolidate the trimming into
one place.
Cc: Linux Memory Management [EMAIL PROTECTED]
Cc: Linux
Allow CONFIG_DEBUG_VM to switch off the prefaulting logic, to simulate the
difficult race where the page may be unmapped before calling copy_from_user.
Makes the race much easier to hit.
This is useful for demonstration and testing purposes, but is removed in a
subsequent patch.
Cc: Linux
Cc: [EMAIL PROTECTED]
Cc: Linux Filesystems linux-fsdevel@vger.kernel.org
Signed-off-by: Nick Piggin [EMAIL PROTECTED]
fs/hfsplus/extents.c | 21 +
fs/hfsplus/inode.c | 20
2 files changed, 21 insertions(+), 20 deletions(-)
Index:
From: Andrew Morton [EMAIL PROTECTED]
This patch fixed the following bug:
When prefaulting in the pages in generic_file_buffered_write(), we only
faulted in the pages for the firts segment of the iovec. If the second of
successive segment described a mmapping of the page into which we're
Cc: [EMAIL PROTECTED]
Cc: Linux Filesystems linux-fsdevel@vger.kernel.org
Signed-off-by: Nick Piggin [EMAIL PROTECTED]
fs/hfs/extent.c | 19 ---
fs/hfs/inode.c | 20
2 files changed, 20 insertions(+), 19 deletions(-)
Index: linux-2.6/fs/hfs/inode.c
This also gets rid of a lot of useless read_file stuff. And also
optimises the full page write case by marking a !uptodate page uptodate.
Cc: Jeff Dike [EMAIL PROTECTED]
Cc: Linux Filesystems linux-fsdevel@vger.kernel.org
Signed-off-by: Nick Piggin [EMAIL PROTECTED]
fs/hostfs/hostfs_kern.c |
Cc: [EMAIL PROTECTED]
Cc: Linux Filesystems linux-fsdevel@vger.kernel.org
Signed-off-by: Nick Piggin [EMAIL PROTECTED]
fs/adfs/inode.c | 14 +-
1 file changed, 9 insertions(+), 5 deletions(-)
Index: linux-2.6/fs/adfs/inode.c
Cc: [EMAIL PROTECTED]
Cc: Linux Filesystems linux-fsdevel@vger.kernel.org
Signed-off-by: Nick Piggin [EMAIL PROTECTED]
fs/sysv/dir.c | 51 +++
fs/sysv/itree.c | 23 +++
2 files changed, 50 insertions(+), 24 deletions(-)
Cc: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Cc: Linux Filesystems linux-fsdevel@vger.kernel.org
Signed-off-by: Nick Piggin [EMAIL PROTECTED]
fs/jffs2/file.c | 105 +++-
1 file changed, 66 insertions(+), 39 deletions(-)
Index:
2007/5/25, Neil Brown [EMAIL PROTECTED]:
HOW DO MD or DM USE THIS
1/ striping devices.
This includes md/raid0 md/linear dm-linear dm-stripe and probably
others.
These devices can easily support blkdev_issue_flush by simply
calling blkdev_issue_flush on
On 2007-05-25 14:22:11, [EMAIL PROTECTED] wrote:
Signed-off-by: Nick Piggin [EMAIL PROTECTED]
Acked-by: Anders Larsen [EMAIL PROTECTED]
(although we might just as well do away with the 'write' methods completely,
since write-support is BROKEN anyway)
Cheers
Anders
fs/qnx4/inode.c |
Jens Axboe wrote:
A barrier write will include a flush, but it may also use the FUA bit to
ensure data is on platter. So the only situation where a fallback from a
barrier to flush would be valid, is if the device lied and told you it
could do FUA but it could not and that is the reason why the
Neil Brown wrote:
There is no guarantee that a device can support BIO_RW_BARRIER - it is
always possible that a request will fail with EOPNOTSUPP.
Why is it not the job of the block layer to translate for broken devices
and send them a flush/write/flush?
These devices would find it very
Concerning the first part of the set, the i_version field of the inode
structure has been reused. The field has been redefined as the counter
has to be 64-bits.
The patch modifies the i_version field of the inode on the VFS layer.
The i_version field become a 64bit counter that is set on inode
The patch is on top of the ext4 tree:
http://repo.or.cz/w/ext4-patch-queue.git
In this part, the i_version counter is stored into 2 32bit fields of
the ext4_inode structure osd1.linux1.l_i_version and i_version_hi.
I included the ext4_expand_inode_extra_isize patch, which does part of
the job,
--- Jeremy Maitin-Shepard [EMAIL PROTECTED] wrote:
Casey Schaufler [EMAIL PROTECTED] writes:
On Fedora zcat, gzip and gunzip are all links to the same file.
I can imagine (although it is a bit of a stretch) allowing a set
of users access to gunzip but not gzip (or the other way around).
Casey Schaufler [EMAIL PROTECTED] writes:
--- Jeremy Maitin-Shepard [EMAIL PROTECTED] wrote:
Casey Schaufler [EMAIL PROTECTED] writes:
On Fedora zcat, gzip and gunzip are all links to the same file.
I can imagine (although it is a bit of a stretch) allowing a set
of users access to
--- Jeremy Maitin-Shepard [EMAIL PROTECTED] wrote:
...
Well, my point was exactly that App Armor doesn't (as far as I know) do
anything to enforce the argv[0] convention,
Sounds like an opportunity for improvement then.
nor would it in general
prevent a confined program from making a
On Friday 25 May 2007 19:43, Casey Schaufler wrote:
[...] but the AppArmor code could certainly check for that in exec by
enforcing the argv[0] convention. It would be perfectly reasonable for a
system that is so dependent on pathnames to require that.
Hmm ... that's a strange idea. AppArmor
--- Andreas Gruenbacher [EMAIL PROTECTED] wrote:
On Friday 25 May 2007 19:43, Casey Schaufler wrote:
[...] but the AppArmor code could certainly check for that in exec by
enforcing the argv[0] convention. It would be perfectly reasonable for a
system that is so dependent on pathnames to
On Fri, May 25, 2007 at 10:21:44PM +1000, [EMAIL PROTECTED] wrote:
Still unfortunately missing the OCFS2 and GFS2 conversions, which
allowed us to remove a lot of code -- I won't ask the maintainers to
redo them either until the patchset gets somewhere.
Nonetheless, I'll give this a go and try
On May 25, 2007 17:58 +1000, Neil Brown wrote:
These devices would find it very hard to support BIO_RW_BARRIER.
Doing this would require keeping track of all in-flight requests
(which some, possibly all, of the above don't) and then:
When a BIO_RW_BARRIER request arrives:
Hello.
Casey Schaufler wrote:
Sorry, but I don't understand your objection. If AppArmor is configured
to allow everyone access to /bin/gzip but only some people access to
/bin/gunzip and (important detail) the single binary uses argv[0]
as documented and (another important detail) there
On Thu, May 24, 2007 at 05:55:54PM +0100, David Howells wrote:
+/*
+ * initialise the lock manager thread if it isn't already running
+ */
+static int afs_init_lock_manager(void)
+{
+ if (!afs_lock_manager) {
+ afs_lock_manager = create_singlethread_workqueue(kafs_lockd);
+
On May 25, 2007, at 22:23:42, J. Bruce Fields wrote:
On Thu, May 24, 2007 at 05:55:54PM +0100, David Howells wrote:
+ /* only whole-file locks are supported */
+ if (fl-fl_start != 0 || fl-fl_end != OFFSET_MAX)
+ return -EINVAL;
Do you allow upgrades and downgrades?
On May 24, 2007, at 14:58:41, Casey Schaufler wrote:
On Fedora zcat, gzip and gunzip are all links to the same file. I
can imagine (although it is a bit of a stretch) allowing a set of
users access to gunzip but not gzip (or the other way around).
That is a COMPLETE straw-man argument. I
Casey Schaufler wrote:
--- Andreas Gruenbacher [EMAIL PROTECTED] wrote:
AppArmor cannot assume anything about argv[0],
and it would be a really bad idea to change the well-established semantics of
argv[0].
There is no actual need for looking at argv[0], though: AppArmor decides
based
61 matches
Mail list logo