james rich wrote:
> Hi folks,
> I'm sure many here have read the discussion on lkml about lvm and
> the problems that team is having. As part of that discussion it was said:
I'm not entirely familiar with the issues surrounding lvm development, I know
things
are not in good shape right
Jens Axboe wrote:
> On Tue, Nov 21 2000, [EMAIL PROTECTED] wrote:
> > > Believe it or not, but this is intentional. In that regard, the
> > > function name is a misnomer -- call it i/o scheduler instead :-)
> >
> > I never believe it intentional. If it is true, the current kernel
> > will be s
Jens Axboe wrote:
> On Fri, Dec 01 2000, Russell Cattelan wrote:
> > > If performance is down, then that problem is most likely elsewhere.
> > > I/O limited benchmarking typically thrives on lots of request
> > > latency -- with that comes better thr
Jens Axboe wrote:
> On Fri, Dec 01 2000, Russell Cattelan wrote:
> > > If performance is down, then that problem is most likely elsewhere.
> > > I/O limited benchmarking typically thrives on lots of request
> > > latency -- with that comes better thr
Jens Axboe wrote:
> On Mon, Dec 04 2000, Russell Cattelan wrote:
> > I'm going to take a closer look at the scsi_back_merge_fn.
> > This may have more to due with our/Chait's kiobuf modifications than
> > anything else.
> >
> >
> >
> > XF
@@
if (test_and_set_bit(BH_Lock, &bh->b_state))
continue;
- set_bit(BH_Req, &bh->b_state);
+ /* We have the buffer lock */
+ bh->b_end_io = end_buffer_io_sync;
switch(rw) {
case
Linus Torvalds wrote:
> On Thu, 14 Dec 2000, Russell Cattelan wrote:
> >
> > Ok one more wrinkle.
> > sync_buffers calls ll_rw_block, this is going to have the same problem as
> > calling ll_rw_block directly.
>
> Good point.
>
> This actually looks fairly
XFS code to say for sure, but...
>
> What we really need is a way for VFS/VM to pass the pressure on filesystem.
> That's it. If fs wants unusual completions for requests - let it have its
> own queueing mechanism and submit these requests when it finds that convenient.
>
>
s a way for VFS/VM to pass the pressure on filesystem.
> > That's it. If fs wants unusual completions for requests - let it have its
> > own queueing mechanism and submit these requests when it finds that convenient.
> >
> Yes, this is exactly what we've discussed.
>
wever, a filesystem which had additional ordering
> constraints could then intercept the flush or writeback calls from the
> VM and decide on its own how best to honour the VM pressure.
>
> This even works both for hashed and unhashed anonymous buffers, *if*
> you allow the filesystem
On Thu, 2005-08-18 at 06:53 -0700, Chris Wedgwood wrote:
> On Wed, Aug 17, 2005 at 10:45:48PM +0200, Jesper Juhl wrote:
>
> > It seems slightly odd to me that XFS support should be in a separate
> > submenu, when all the other filesystems are not using submenus but
> > are directly selectable from
On Fri, 2006-12-01 at 21:08 +, Al Viro wrote:
> On Fri, Dec 01, 2006 at 02:52:11PM -0600, Russell Cattelan wrote:
> > code clean up are not without risk and with no regression test suite to
> > verify
> > that a "cleanup" has not broken something. Cleanups a
Al Viro wrote:
On Fri, Dec 01, 2006 at 05:29:46PM -0600, Russell Cattelan wrote:
gfs2 is supposed to be stabilized and use-able for the up coming rhel5
release, not pretty up for somebody to print out and hang on their wall.
Your insight, sir, is truly stunning. That is to say, it
ocfs2_git_patches/ocfs2-upstream-linus-20060924/0009-PATCH-Allow-file-systems-to-manually-d_move-inside-of-rename.txt
Does this change help fix gfs lock ordering problem as well?
-Russell Cattelan
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line "unsubscribe linux-
our.
>
> 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 <
ndip) {
> - if (!ndip->i_di.di_nlink) {
> + if (!ndip->i_inode.i_nlink) {
> error = -EINVAL;
> goto out_gunlock;
> }
> @@ -645,7 +645,7 @@ static int gfs2_rename(struct inode *odi
> goto out_gunlock;
> }
> if (S_ISDIR(ip->i_inode.i_mode) &&
> - ndip->i_di.di_nlink == (u32)-1) {
> + ndip->i_inode.i_nlink == (u32)-1) {
> error = -EMLINK;
> goto out_gunlock;
> }
> diff --git a/include/linux/gfs2_ondisk.h b/include/linux/gfs2_ondisk.h
> index 896c7f8..c61517b 100644
> --- a/include/linux/gfs2_ondisk.h
> +++ b/include/linux/gfs2_ondisk.h
> @@ -322,7 +322,6 @@ struct gfs2_dinode {
> };
>
> struct gfs2_dinode_host {
> - __u32 di_nlink; /* number of links to this file */
> __u64 di_size; /* number of bytes in file */
> __u64 di_blocks;/* number of blocks in file */
> __u64 di_atime; /* time last accessed */
--
Russell Cattelan <[EMAIL PROTECTED]>
signature.asc
Description: This is a digitally signed message part
ops_address.c
> +++ b/fs/gfs2/ops_address.c
> @@ -498,10 +498,6 @@ static int gfs2_commit_write(struct file
> di->di_size = cpu_to_be64(inode->i_size);
> }
>
> - di->di_atime = cpu_to_be64(inode->i_atime.tv_sec);
> - di->di_mtime = cpu_to_be64(inode->i_mtime.tv_sec);
> - di->di_ctime = cpu_to_be64(inode->i_ctime.tv_sec);
> -
> brelse(dibh);
> gfs2_trans_end(sdp);
> if (al->al_requested) {
> diff --git a/fs/gfs2/ops_inode.c b/fs/gfs2/ops_inode.c
> index 06176de..585b43a 100644
> --- a/fs/gfs2/ops_inode.c
> +++ b/fs/gfs2/ops_inode.c
> @@ -729,7 +729,7 @@ static int gfs2_rename(struct inode *odi
> error = gfs2_meta_inode_buffer(ip, &dibh);
> if (error)
> goto out_end_trans;
> - ip->i_di.di_ctime = get_seconds();
> + ip->i_inode.i_ctime.tv_sec = get_seconds();
> gfs2_trans_add_bh(ip->i_gl, dibh, 1);
> gfs2_dinode_out(ip, dibh->b_data);
> brelse(dibh);
> @@ -915,7 +915,6 @@ static int setattr_chown(struct inode *i
>
> error = inode_setattr(inode, attr);
> gfs2_assert_warn(sdp, !error);
> - gfs2_inode_attr_out(ip);
>
> gfs2_trans_add_bh(ip->i_gl, dibh, 1);
> gfs2_dinode_out(ip, dibh->b_data);
> diff --git a/include/linux/gfs2_ondisk.h b/include/linux/gfs2_ondisk.h
> index c61517b..7f5a4a1 100644
> --- a/include/linux/gfs2_ondisk.h
> +++ b/include/linux/gfs2_ondisk.h
> @@ -324,9 +324,6 @@ struct gfs2_dinode {
> struct gfs2_dinode_host {
> __u64 di_size; /* number of bytes in file */
> __u64 di_blocks;/* number of blocks in file */
> - __u64 di_atime; /* time last accessed */
> - __u64 di_mtime; /* time last modified */
> - __u64 di_ctime; /* time last changed */
>
> /* This section varies from gfs1. Padding added to align with
> * remainder of dinode
--
Russell Cattelan <[EMAIL PROTECTED]>
signature.asc
Description: This is a digitally signed message part
->i_flags);
>
> return error;
> }
> diff --git a/fs/gfs2/ops_inode.c b/fs/gfs2/ops_inode.c
> index 0e4eade..b247f25 100644
> --- a/fs/gfs2/ops_inode.c
> +++ b/fs/gfs2/ops_inode.c
> @@ -844,7 +844,7 @@ static int gfs2_permission(struct inode
> struct gfs2_
> @@ -609,7 +609,7 @@ static ssize_t gfs2_direct_IO(int rw, st
>* on this path. All we need change is atime.
>*/
> gfs2_holder_init(ip->i_gl, LM_ST_SHARED, GL_ATIME, &gh);
> - rv = gfs2_glock_nq_m_atime(1, &gh);
> + rv = gfs2_glock_nq_atime(&gh);
> if (rv)
> goto out;
>
> diff --git a/fs/gfs2/ops_file.c b/fs/gfs2/ops_file.c
> index eabf6c6..c2be216 100644
> --- a/fs/gfs2/ops_file.c
> +++ b/fs/gfs2/ops_file.c
> @@ -253,7 +253,7 @@ static int gfs2_get_flags(struct file *f
> u32 fsflags;
>
> gfs2_holder_init(ip->i_gl, LM_ST_SHARED, GL_ATIME, &gh);
> - error = gfs2_glock_nq_m_atime(1, &gh);
> + error = gfs2_glock_nq_atime(&gh);
> if (error)
> return error;
>
--
Russell Cattelan <[EMAIL PROTECTED]>
signature.asc
Description: This is a digitally signed message part
Arjan van de Ven
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [EMAIL PROTECTED]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
Russell Cattelan <[EMAIL PROTECTED]>
signature.asc
Description: This is a digitally signed message part
*go_drop_th) (struct gfs2_glock *gl);
> + void (*go_drop_bh) (struct gfs2_glock *gl);
> + void (*go_sync) (struct gfs2_glock *gl);
> + void (*go_inval) (struct gfs2_glock *gl, int flags);
> + int (*go_demote_ok) (struct gfs2_glock *gl);
> + int (*go_lock) (struct gfs2_holder *gh);
> + void (*go_unlock) (struct gfs2_holder *gh);
> + void (*go_callback) (struct gfs2_glock *gl, unsigned int state);
> + void (*go_greedy) (struct gfs2_glock *gl);
> const int go_type;
> };
>
> diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c
> index 0ef8317..1408c5f 100644
> --- a/fs/gfs2/super.c
> +++ b/fs/gfs2/super.c
> @@ -517,7 +517,7 @@ int gfs2_make_fs_rw(struct gfs2_sbd *sdp
> return error;
>
> gfs2_meta_cache_flush(ip);
> - j_gl->gl_ops->go_inval(j_gl, DIO_METADATA | DIO_DATA);
> + j_gl->gl_ops->go_inval(j_gl, DIO_METADATA);
>
> error = gfs2_find_jhead(sdp->sd_jdesc, &head);
> if (error)
--
Russell Cattelan <[EMAIL PROTECTED]>
signature.asc
Description: This is a digitally signed message part
if (buffer_uptodate(first_bh))
> goto out;
> @@ -558,7 +556,7 @@ struct buffer_head *gfs2_meta_ra(struct
> extlen--;
>
> while (extlen) {
> - bh = getbuf(sdp, aspace, dblock, CREATE);
> + bh = getbuf(gl, dblock, CREATE);
>
gt;i_spin);
> if (*bh_slot && (*bh_slot)->b_blocknr == num) {
> bh = *bh_slot;
> diff --git a/fs/gfs2/ops_super.c b/fs/gfs2/ops_super.c
> index 8635175..7685b46 100644
> --- a/fs/gfs2/ops_super.c
> +++ b/fs/gfs2/ops_super.c
> @@ -157,7 +157,8 @@ static void gfs2_write_super(struct supe
> static int gfs2_sync_fs(struct super_block *sb, int wait)
> {
> sb->s_dirt = 0;
> - gfs2_log_flush(sb->s_fs_info, NULL);
> + if (wait)
> + gfs2_log_flush(sb->s_fs_info, NULL);
> return 0;
> }
>
> @@ -293,8 +294,6 @@ static void gfs2_clear_inode(struct inod
>*/
> if (inode->i_private) {
> struct gfs2_inode *ip = GFS2_I(inode);
> - gfs2_glock_inode_squish(inode);
> - gfs2_assert(inode->i_sb->s_fs_info, ip->i_gl->gl_state ==
> LM_ST_UNLOCKED);
> ip->i_gl->gl_object = NULL;
> gfs2_glock_schedule_for_reclaim(ip->i_gl);
> gfs2_glock_put(ip->i_gl);
> @@ -395,7 +394,7 @@ static void gfs2_delete_inode(struct ino
> if (!inode->i_private)
> goto out;
>
> - error = gfs2_glock_nq_init(ip->i_gl, LM_ST_EXCLUSIVE, LM_FLAG_TRY_1CB |
> GL_NOCACHE, &gh);
> + error = gfs2_glock_nq_init(ip->i_gl, LM_ST_EXCLUSIVE, LM_FLAG_TRY_1CB,
> &gh);
> if (unlikely(error)) {
> gfs2_glock_dq_uninit(&ip->i_iopen_gh);
> goto out;
--
Russell Cattelan <[EMAIL PROTECTED]>
signature.asc
Description: This is a digitally signed message part
struct gfs2_inode *ip, const void *buf);
> extern void gfs2_dinode_out(const struct gfs2_inode *ip, void *buf);
> extern void gfs2_ea_header_in(struct gfs2_ea_header *ea, const void *buf);
> extern void gfs2_ea_header_out(const struct gfs2_ea_header *ea, void *buf);
--
Russell Cattelan <[EMAIL PROTECTED]>
signature.asc
Description: This is a digitally signed message part
struct buffer_head *bh)
> -{
> - struct metapath mp;
> - int ret;
> -
> - bmap_lock(inode, create);
> - ret = gfs2_block_pointers(inode, lblock, create, bh, &mp);
> +out_ok:
> + error = 0;
> +out_fail:
> bmap_unlock(inode,
f a potential deadlock.
>
> This bug was spotted by Russell Cattelan.\
This bug was fixed correctly by Russell Cattelan
and this is an incomplete version of my patch.
As I keep trying to point out readpages is still wrong in that
the stuffed case is not correct and results in a panic
if
16(DT_DIR);
>
> - gfs2_dinode_out(&ip->i_di, di);
> + gfs2_dinode_out(ip, di);
>
> brelse(dibh);
> }
> @@ -541,7 +541,7 @@ static int gfs2_mknod(struct inode *dir,
> error = gfs2_meta_inode_buffer(ip, &dibh);
>
/fs/gfs2/meta_io.h b/fs/gfs2/meta_io.h
> index 3ec939e..e037425 100644
> --- a/fs/gfs2/meta_io.h
> +++ b/fs/gfs2/meta_io.h
> @@ -67,7 +67,6 @@ static inline int gfs2_meta_inode_buffer
> }
>
> struct buffer_head *gfs2_meta_ra(struct gfs2_glock *gl, u64 dblock, u32
> extlen);
> -void gfs2_meta_syncfs(struct gfs2_sbd *sdp);
>
> #define buffer_busy(bh) \
> ((bh)->b_state & ((1ul << BH_Dirty) | (1ul << BH_Lock) | (1ul << BH_Pinned)))
--
Russell Cattelan <[EMAIL PROTECTED]>
signature.asc
Description: This is a digitally signed message part
On Fri, 2006-12-01 at 19:25 +, Al Viro wrote:
> On Fri, Dec 01, 2006 at 01:19:04PM -0600, Russell Cattelan wrote:
> > On Thu, 2006-11-30 at 12:15 +, Steven Whitehouse wrote:
> > > >From 539e5d6b7ae8612c0393fe940d2da5b591318d3d Mon Sep 17 00:00:00 2001
> > > F
29 matches
Mail list logo