An error occurred fetching the project authors.
- 22 Sep, 2004 1 commit
-
-
Jeff Mahoney authored
reiserfs_set_xattr() explicitly updates the ctime for the host inode. This works for direct setfacl/setfattr calls, but for the more common case of an inherited default ACL, it breaks. The ACL is inherited in the middle of the new inode creation, before the inode has been hashed. When mark_inode_dirty is called, one of the checks bails out if the inode is unhashed -- but AFTER inode->i_state is updated, so the inode is marked dirty but never placed on any dirty list. Since the inode is never placed on a dirty list, __sync_single_inode from the writeback_inodes() path can never be called on it to clear the dirty flags. Once the inode is hashed and mark_inode_dirty is called for it again, it's too late -- it will bail early assuming (correctly) that the inode is already marked dirty. This ultimately results in I/O stalls that can't be resolved by the fs path, only be the memory allocation path that uses pages directly. The attached patch makes the update of the ctime conditional on the inode being hashed already. Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
-
- 24 Aug, 2004 1 commit
-
-
Jeff Mahoney authored
Here are a few fixes for bugs noticed on reiserfs-list or our own bugzilla. Attached is a patch that fixes several problems with xattrs/acls: [SECURITY] Fixes the inode not getting dirtied when mode is set via setxattr() [CORRECTNESS] Fixes the inode not getting ctime updated when an xattr is removed [DATA] Fixes an issue with dcache hash colliding names in the filesystem root caused by the d_compare to hide .reiserfs_priv. The bug can only occur in the filesystem root, which is why we haven't seen many (any, outside of the suse bugzilla, afaik) reports on this. The results are that dcache operations on colliding entries in the fs root will choose the first match rather than the correct entry. Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
-
- 25 May, 2004 1 commit
-
-
Andrew Morton authored
From: Jeff Mahoney <jeffm@suse.com> The following is a patch to fix a locking problem in ACL/xattr code. It manifests when a user attempts to set an xattr on a file which they do not own, and on which an ACL is applied. What happens is this: reiserfs_setxattr [write lock inode xattr sem] ->xattr_set -> lookup -> __reiserfs_permission [if conditions above are met, and need_lock= is unset, read lock inode xattr sem] *lockup* Since we already keep track of when to lock during permission calls, the fix is simple: just make the locking conditional as it was before. Credits to Andreas Gruenbacher <agruen@suse.de>
-
- 10 May, 2004 7 commits
-
-
Andrew Morton authored
From: Chris Mason <mason@suse.com> From: Jeff Mahoney <jeffm@suse.com> Add device info to the various reiserfs warnings and panics so you can tell which filesystem triggers the message. Loosely based on code from Oleg Drokin.
-
Andrew Morton authored
From: Chris Mason <mason@suse.com> From: jeffm@suse.com reiserfs permission bug fix for xattrs
-
Andrew Morton authored
From: Chris Mason <mason@suse.com> From: jeffm@suse.com reiserfs xattr locking fixes
-
Andrew Morton authored
From: Chris Mason <mason@suse.com> From: jeffm@suse.com reiserfs support for selinux
-
Andrew Morton authored
From: Chris Mason <mason@suse.com> From: jeffm@suse.com reiserfs support for trusted xattrs
-
Andrew Morton authored
From: Chris Mason <mason@suse.com> From: jeffm@suse.com reiserfs acl support
-
Andrew Morton authored
From: Chris Mason <mason@suse.com> From: jeffm@suse.com reiserfs support for xattrs
-