Re: 2.6.24-rc8-mm1: sparc64 warning at fs/file_table.c:49 __fput+0x1a8/0x1e0()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 22 Jan 2008 15:13:58 -0800
Dave Hansen <haveblue@xxxxxxxxxx> wrote:

> @@ -566,10 +567,26 @@ static void mark_files_ro(struct super_b
>  {
>  	struct file *f;
>  
> +retry:
>  	file_list_lock();
>  	list_for_each_entry(f, &sb->s_files, f_u.fu_list) {
> -		if (S_ISREG(f->f_path.dentry->d_inode->i_mode) && file_count(f))
> -			f->f_mode &= ~FMODE_WRITE;
> +		struct vfsmount mnt;
> +		if (!S_ISREG(f->f_path.dentry->d_inode->i_mode))
> +		       continue;
> +		if (!file_count(f))
> +			continue;
> +		if (!(f->f_mode & FMODE_WRITE))
> +			continue;
> +		f->f_mode &= ~FMODE_WRITE;
> +		f->f_mnt_write_state |= FILE_MNT_WRITE_RELEASED;
> +		mnt = f->f_path.mnt;
> +		file_list_unlock();
> +		/*
> +		 * This can sleep, so we can't hold
> +		 * the file_list_lock() spinlock.
> +		 */
> +		mnt_drop_write(mnt);
> +		goto retry;
>  	}
>  	file_list_unlock();
>  }
> _

this doesn't even compile.  How much confidence am I supposed
to have that once I've fixed it, it will actually work?
-
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux