Re: [PATCH] prune_icache_sb

2006-12-04 Thread Russell Cattelan
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-

Re: [Cluster-devel] Re: [GFS2] Change argument of gfs2_dinode_out [17/70]

2006-12-03 Thread Russell Cattelan
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

Re: [Cluster-devel] Re: [GFS2] Change argument of gfs2_dinode_out [17/70]

2006-12-01 Thread Russell Cattelan
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

Re: [Cluster-devel] Re: [GFS2] Change argument of gfs2_dinode_out [17/70]

2006-12-01 Thread Russell Cattelan
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

Re: [GFS2] Change argument of gfs2_dinode_out [17/70]

2006-12-01 Thread Russell Cattelan
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); >

Re: [GFS2] Move gfs2_meta_syncfs() into log.c [57/70]

2006-12-01 Thread Russell Cattelan
/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

Re: [GFS2] Fix page lock/glock deadlock [32/70]

2006-12-01 Thread Russell Cattelan
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

Re: [GFS2] Tidy up bmap & fix boundary bug [48/70]

2006-12-01 Thread Russell Cattelan
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,

Re: [GFS2] Change argument to gfs2_dinode_in [18/70]

2006-12-01 Thread Russell Cattelan
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

Re: [GFS2] Fix journal flush problem [56/70]

2006-12-01 Thread Russell Cattelan
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

Re: [GFS2] Reduce number of arguments to meta_io.c:getbuf() [58/70]

2006-12-01 Thread Russell Cattelan
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); >

Re: [GFS2] Simplify glops functions [53/70]

2006-12-01 Thread Russell Cattelan
*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

Re: [GFS2 & DLM] Guide to -nmw tree patches

2006-12-01 Thread Russell Cattelan
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

Re: [GFS2] Remove unused function from inode.c [50/70]

2006-12-01 Thread Russell Cattelan
> @@ -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

Re: [GFS2] Shrink gfs2_inode (8) - i_vn [28/70]

2006-12-01 Thread Russell Cattelan
->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_

Re: [GFS2] Shrink gfs2_inode (6) - di_atime/di_mtime/di_ctime [26/70]

2006-12-01 Thread Russell Cattelan
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

Re: [GFS2] Shrink gfs2_inode (5) - di_nlink [25/70]

2006-12-01 Thread 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

Re: [GFS2] Fix incorrect fs sync behaviour [2/5]

2006-12-01 Thread Russell Cattelan
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 <

Re: [xfs-masters] Re: [PATCH] pull XFS support out of Kconfig submenu

2005-08-18 Thread Russell Cattelan
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

Re: kernel merge issues

2001-04-19 Thread Russell Cattelan
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

Re: Test12 ll_rw_block error.

2000-12-16 Thread Russell Cattelan
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

Re: Test12 ll_rw_block error.

2000-12-16 Thread Russell Cattelan
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. >

Re: Test12 ll_rw_block error.

2000-12-16 Thread Russell Cattelan
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. > >

Re: Test12 ll_rw_block error.

2000-12-16 Thread Russell Cattelan
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

Test12 ll_rw_block error.

2000-12-14 Thread Russell Cattelan
@@ 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

Re: [PATCH] livelock in elevator scheduling

2000-12-05 Thread Russell Cattelan
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

Re: [PATCH] livelock in elevator scheduling

2000-12-04 Thread Russell Cattelan
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

Re: [PATCH] livelock in elevator scheduling

2000-12-04 Thread Russell Cattelan
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

Re: [PATCH] livelock in elevator scheduling

2000-12-01 Thread Russell Cattelan
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