15 Nov, 2006
1 commit
-
Resolve the panic on failed mount of an autofs filesystem originally
reported by Mao Bibo.It addresses two issues that happen after the mount fail. The first a NULL
pointer reference to a field (pipe) in the autofs superblock info structure
and second the lack of super block cleanup by the autofs and autofs4
modules.Signed-off-by: Ian Kent
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
14 Nov, 2006
2 commits
-
* git://oss.sgi.com:8090/xfs/xfs-2.6:
[XFS] Remove KERNEL_VERSION macros from xfs_dmapi.h
[XFS] Prevent a deadlock when xfslogd unpins inodes.
[XFS] Clean up i_flags and i_flags_lock handling.
[XFS] 956664: dm_read_invis() changes i_atime
[XFS] rename uio_read() to xfs_uio_read()
[XFS] Keep lockdep happy.
[XFS] 956618: Linux crashes on boot with XFS-DMAPI filesystem when -
* master.kernel.org:/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
[CIFS] Fix minor problem with previous patch
[CIFS] Fix mount failure when domain not specified
[CIFS] Explicitly set stat->blksize
[CIFS] NFS stress test generates flood of "close with pending write" messages
11 Nov, 2006
7 commits
-
SGI-PV: 957005
SGI-Modid: xfs-linux-melb:xfs-kern:27398aSigned-off-by: David Chinner
Signed-off-by: Michal Piotrowski
Signed-off-by: Tim Shimmin -
The previous fixes for the use after free in xfs_iunpin left a nasty log
deadlock when xfslogd unpinned the inode and dropped the last reference to
the inode. the ->clear_inode() method can issue transactions, and if the
log was full, the transaction could push on the log and get stuck trying
to push the inode it was currently unpinning.To fix this, we provide xfs_iunpin a guarantee that it will always have a
valid xfs_inode linux inode link or a particular flag will be set on
the inode. We then use log forces during lookup to ensure transactions are
completed before we recycle the inode. This ensures that xfs_iunpin will
never use the linux inode after it is being freed, and any lookup on an
inode on the reclaim list will wait until it is safe to attach a new linux
inode to the xfs inode.SGI-PV: 956832
SGI-Modid: xfs-linux-melb:xfs-kern:27359aSigned-off-by: David Chinner
Signed-off-by: Shailendra Tripathi
Signed-off-by: Takenori Nagano
Signed-off-by: Tim Shimmin -
SGI-PV: 956832
SGI-Modid: xfs-linux-melb:xfs-kern:27358aSigned-off-by: David Chinner
Signed-off-by: Nathan Scott
Signed-off-by: Tim Shimmin -
SGI-PV: 956664
SGI-Modid: xfs-linux-melb:xfs-kern:27315aSigned-off-by: Vlad Apostolov
Signed-off-by: Sam Vaughan
Signed-off-by: Tim Shimmin -
SGI-PV: 957004
SGI-Modid: xfs-linux-melb:xfs-kern:27231aSigned-off-by: Vlad Apostolov
Signed-off-by: Tim Shimmin -
SGI-PV: 956964
SGI-Modid: xfs-linux-melb:xfs-kern:27200aSigned-off-by: Tim Shimmin
Signed-off-by: David Chinner
Signed-off-by: Eric Sandeen -
CONFIG_XFS_TRACE is on
SGI-PV: 956618
SGI-Modid: xfs-linux-melb:xfs-kern:27196aSigned-off-by: Vlad Apostolov
Signed-off-by: Tim Shimmin
10 Nov, 2006
1 commit
-
The patch
NFS stress test generates flood of "close with pending writewas missing an if
Signed-off-by: Steve French
09 Nov, 2006
4 commits
-
Commit 6264d69d7df654ca64f625e9409189a0e50734e9 modified the nfsd_create()
error handling in such a way that nfsd_create will usually return
nfserr_perm even when succesful, if the export has the async export option.This introduced a regression that could cause mkdir() to always return a
permissions error, even though the directory in question was actually
succesfully created.Signed-off-by: J. Bruce Fields
Acked-by: NeilBrown
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
In the case where an open creates the file, we shouldn't be rechecking
permissions to open the file; the open succeeds regardless of what the new
file's mode bits say.This patch fixes the problem, but only by introducing yet another parameter
to nfsd_create_v3. This is ugly. This will be fixed by later patches.Signed-off-by: J. Bruce Fields
Acked-by: Neil Brown
Cc: Jeff Garzik
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Minor rearrangement, cleanup of do_open_lookup(). No change in behavior.
Signed-off-by: J. Bruce Fields
Acked-by: Neil Brown
Cc: Jeff Garzik
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Fixes Samba bugzilla #4176
When users do not specify their domain on mount, 2.6.18 started sending
default domain instead of a null domain (which was the only way on some
servers to use a default domain). Users of 2.6.18 who did not specify
their domain name on mounts to certain common Windows servers that were
members of a domain, but not the domain controller, would get mount
failures which they did not get in 2.6.18This fixes that issue and should remove complaints about mount
behavior changing.Signed-off-by: Steve French
08 Nov, 2006
2 commits
-
CIFS may perform I/O over the network in larger chunks than the page size,
so it should explicitly set stat->blksize to ensure optimal I/O bandwidthSigned-off-by: Dave Kleikamp
Signed-off-by: Steve French -
Informational/debug message was being logged too often. The error
case of logging having to send a close with (presumably stuck on buggy
server) pending writes is still logged.Signed-off-by: Steve French
07 Nov, 2006
1 commit
-
* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:
[DLM] fix oops in kref_put when removing a lockspace
[DLM] Fix kref_put oops
[GFS2] Fix OOM error handling
[GFS2] Fix incorrect fs sync behaviour.
[GFS2] don't panic needlessly
06 Nov, 2006
6 commits
-
Now that the lockspace struct is freed when the last sysfs object is released
this patch prevents use of that lockspace by sysfs. We attempt to re-get the
lockspace from the lockspace list and fail the request if it has been removed.Signed-Off-By: Patrick Caulfield
Signed-off-by: Steven Whitehouse -
This patch fixes the recounting on the lockspace kobject. Previously the lockspace was freed while userspace could have had a
reference to one of its sysfs files, causing an oops in kref_put.Now the lockspace kfree is moved into the kobject release() function
Signed-Off-By: Patrick Caulfield
Signed-off-by: Steven Whitehouse -
Fix the OOM error handling in inode.c where it was possible for
a NULL pointer to be dereferenced.Signed-off-by: Steven Whitehouse
-
This adds a sync_fs superblock operation for GFS2 and removes
the journal flush from write_super in favour of sync_fs where it
ought to be. This is more or less identical to the way in which ext3
does this.This bug was pointed out by Russell Cattelan
Cc: Russell Cattelan
Signed-off-by: Steven Whitehouse -
First, SLAB_PANIC is unjustified. Second, all error propagating and backing out
is in place.Signed-off-by: Alexey Dobriyan
Signed-off-by: Steven Whitehouse -
This patch takes the CTL_UNNUMBERD concept from NFS and makes it available to
all new sysctl users.At the same time the sysctl binary interface maintenance documentation is
updated to mention and to describe what is needed to successfully maintain the
sysctl binary interface.Signed-off-by: Eric W. Biederman
Acked-by: Alan Cox
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
05 Nov, 2006
2 commits
-
After the inode slimming patch that unionised i_pipe/i_bdev/i_cdev, it's
no longer enough to check for existance of ->i_pipe to verify that this
is a pipe.Original patch from Eric Dumazet
Final solution suggested by Linus.Signed-off-by: Jens Axboe
Signed-off-by: Linus Torvalds -
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6:
JFS: Remove redundant xattr permission checking
04 Nov, 2006
8 commits
-
The user.* extended attributes are only allowed on regular files and
directories. Sticky directories further restrict write access to the owner
and privileged users. (See the attr(5) man page for an explanation.)The original check in ext2/ext3 when user.* xattrs were merged was more
restrictive than intended, and when the xattr permission checks were moved
into the VFS, read access to user.* attributes on sticky directores ended
up being denied in addition.Originally-from: Gerard Neil
Signed-off-by: Andreas Gruenbacher
Cc: Dave Kleikamp
Cc: Jan Engelhardt
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Callers after reiserfs_init_bitmap_cache() expect errval to contain -EINVAL
until much later. If a condition fails before errval is reset later,
reiserfs_fill_super() will mistakenly return 0, causing an Oops in
do_add_mount(). This patch resets errval to -EINVAL after the call.I view this as a temporary fix and real error codes should be used
throughout reiserfs_fill_super().Signed-off-by: Jeff Mahoney
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
When I was performing some operations on NFS, I got below error on server
side.=============================================
[ INFO: possible recursive locking detected ]
2.6.19-prep #1
---------------------------------------------
nfsd4/3525 is trying to acquire lock:
(&inode->i_mutex){--..}, at: [] mutex_lock+0x21/0x24but task is already holding lock:
(&inode->i_mutex){--..}, at: [] mutex_lock+0x21/0x24other info that might help us debug this:
2 locks held by nfsd4/3525:
#0: (client_mutex){--..}, at: [] mutex_lock+0x21/0x24
#1: (&inode->i_mutex){--..}, at: [] mutex_lock+0x21/0x24stack backtrace:
[] show_trace_log_lvl+0x58/0x16a
[] show_trace+0xd/0x10
[] dump_stack+0x19/0x1b
[] __lock_acquire+0x778/0x99c
[] lock_acquire+0x4b/0x6d
[] __mutex_lock_slowpath+0xbc/0x20a
[] mutex_lock+0x21/0x24
[] vfs_rmdir+0x76/0xf8
[] nfsd4_clear_clid_dir+0x2c/0x41 [nfsd]
[] nfsd4_remove_clid_dir+0xb1/0xe8 [nfsd]
[] laundromat_main+0x9b/0x1c3 [nfsd]
[] run_workqueue+0x7a/0xbb
[] worker_thread+0xd2/0x107
[] kthread+0xc3/0xf2
[] kernel_thread_helper+0x5/0xb
===================================================================Cause for this problem was,2 successive mutex_lock calls on 2 diffrent inodes ,as shown below
static int
nfsd4_clear_clid_dir(struct dentry *dir, struct dentry *dentry)
{
int status;/* For now this directory should already be empty, but we empty it of
* any regular files anyway, just in case the directory was created by
* a kernel from the future.... */
nfsd4_list_rec_dir(dentry, nfsd4_remove_clid_file);
mutex_lock(&dir->d_inode->i_mutex);
status = vfs_rmdir(dir->d_inode, dentry);
...int vfs_rmdir(struct inode *dir, struct dentry *dentry)
{
int error = may_delete(dir, dentry, 1);if (error)
return error;if (!dir->i_op || !dir->i_op->rmdir)
return -EPERM;DQUOT_INIT(dir);
mutex_lock(&dentry->d_inode->i_mutex);
...So I have developed the patch to overcome this problem.
Signed-off-by: Srinivasa DS
Cc: Neil Brown
Cc: Peter Zijlstra
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
This just ignore the remaining pages, and remove unneeded unlock_pages().
Signed-off-by: OGAWA Hirofumi
Cc: Steven French
Cc: Miklos Szeredi
Acked-by: Steven Whitehouse
Cc: Trond Myklebust
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
This just ignore the remaining pages.
Signed-off-by: OGAWA Hirofumi
Cc: Steven French
Cc: Miklos Szeredi
Cc: Steven Whitehouse
Cc: Trond Myklebust
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
This just ignore the remaining pages, and will fix a forgot put_pages_list().
Signed-off-by: OGAWA Hirofumi
Cc: Steven French
Cc: Miklos Szeredi
Cc: Steven Whitehouse
Cc: Trond Myklebust
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
758333458aa719bfc26ec16eafd4ad3a9e96014d fixes the not checked copy_to_user
return value of compat_sys_pselect7. I ran into this too because of an old
source tree, but my fix would look quite a bit different to Andi's fix.The reason is that the compat function IMHO should behave the very same as
the non-compat function if possible. Since sys_pselect7 does not return
-EFAULT in this specific case, change the compat code so it behaves like
sys_pselect7.Cc: David Woodhouse
Cc: Andi Kleen
Signed-off-by: Heiko Carstens
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
I missed a pointer dereference in this kmalloc result check.
Signed-off-by: Michael Halcrow
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
03 Nov, 2006
3 commits
-
* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
[CIFS] report rename failure when target file is locked by Windows
[CIFS] Allow null user connections
[CIFS] Fix readdir breakage when blocksize set too small -
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6:
jfs: Add splice support -
The vfs handles most permissions for setting and retrieving xattrs.
This patch removes a redundant and wrong check so that it won't override
the correct behavior which is being fixed in the vfs.Signed-off-by: Dave Kleikamp
02 Nov, 2006
1 commit
-
Fixes Samba bugzilla bug # 4182
Rename by handle failures (retry after rename by path) were not
being returned back.Signed-off-by: Steve French
01 Nov, 2006
2 commits
-
Fix the use of dget/dput calls to balance out on the lower filesystem.
Signed-off-by: Michael Halcrow
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
There is no point to calling the lower umount_begin when the eCryptfs
umount_begin is called.Signed-off-by: Michael Halcrow
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds