* [Cluster-devel] cluster/gfs2/libgfs2 fs_ops.c
@ 2007-06-22 20:50 rpeterso
0 siblings, 0 replies; 7+ messages in thread
From: rpeterso @ 2007-06-22 20:50 UTC (permalink / raw)
To: cluster-devel.redhat.com
CVSROOT: /cvs/cluster
Module name: cluster
Branch: RHEL5
Changes by: rpeterso at sourceware.org 2007-06-22 20:50:44
Modified files:
gfs2/libgfs2 : fs_ops.c
Log message:
Resolves: bz 245360: GFS2: userland tools have problems with small
block sizes
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2/libgfs2/fs_ops.c.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.4.2.4&r2=1.4.2.5
--- cluster/gfs2/libgfs2/fs_ops.c 2007/05/15 18:21:08 1.4.2.4
+++ cluster/gfs2/libgfs2/fs_ops.c 2007/06/22 20:50:44 1.4.2.5
@@ -195,7 +195,7 @@
buffer_copy_tail(bh, 0,
ip->i_bh, sizeof(struct gfs2_dinode));
- brelse(bh, not_updated);
+ brelse(bh, updated);
}
}
@@ -345,9 +345,7 @@
unsigned int height;
unsigned int end_of_metadata;
unsigned int x;
- enum update_flags f;
- f = not_updated;
*new = 0;
*dblock = 0;
if (extlen)
@@ -379,7 +377,7 @@
for (x = 0; x < end_of_metadata; x++) {
lookup_block(ip, bh, x, mp, create, new, dblock);
- brelse(bh, not_updated);
+ brelse(bh, updated);
if (!*dblock)
goto out;
@@ -390,7 +388,6 @@
mh.mh_type = GFS2_METATYPE_IN;
mh.mh_format = GFS2_FORMAT_IN;
gfs2_meta_header_out(&mh, bh->b_data);
- f = updated;
} else
bh = bread(sdp, *dblock);
}
@@ -420,7 +417,7 @@
}
}
- brelse(bh, f);
+ brelse(bh, updated);
out:
free(mp);
^ permalink raw reply [flat|nested] 7+ messages in thread* [Cluster-devel] cluster/gfs2/libgfs2 fs_ops.c
@ 2007-09-25 16:01 rpeterso
0 siblings, 0 replies; 7+ messages in thread
From: rpeterso @ 2007-09-25 16:01 UTC (permalink / raw)
To: cluster-devel.redhat.com
CVSROOT: /cvs/cluster
Module name: cluster
Branch: RHEL51
Changes by: rpeterso at sourceware.org 2007-09-25 16:01:46
Modified files:
gfs2/libgfs2 : fs_ops.c
Log message:
Resolves: bz 304001: GFS2: Filesystems with 1k block size won't mount
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2/libgfs2/fs_ops.c.diff?cvsroot=cluster&only_with_tag=RHEL51&r1=1.4.2.6.2.1&r2=1.4.2.6.2.2
--- cluster/gfs2/libgfs2/fs_ops.c 2007/09/17 17:25:22 1.4.2.6.2.1
+++ cluster/gfs2/libgfs2/fs_ops.c 2007/09/25 16:01:45 1.4.2.6.2.2
@@ -585,7 +585,7 @@
}
struct gfs2_buffer_head *get_file_buf(struct gfs2_inode *ip, uint64_t lbn,
- int prealloc)
+ int prealloc)
{
struct gfs2_sbd *sdp = ip->i_sbd;
uint64_t dbn;
@@ -594,7 +594,7 @@
if (inode_is_stuffed(ip))
unstuff_dinode(ip);
- block_map(ip, lbn, &new, &dbn, NULL, prealloc, not_updated);
+ block_map(ip, lbn, &new, &dbn, NULL, prealloc, updated);
if (!dbn)
die("get_file_buf\n");
^ permalink raw reply [flat|nested] 7+ messages in thread* [Cluster-devel] cluster/gfs2/libgfs2 fs_ops.c
@ 2007-09-24 23:17 rpeterso
0 siblings, 0 replies; 7+ messages in thread
From: rpeterso @ 2007-09-24 23:17 UTC (permalink / raw)
To: cluster-devel.redhat.com
CVSROOT: /cvs/cluster
Module name: cluster
Branch: RHEL5
Changes by: rpeterso at sourceware.org 2007-09-24 23:17:41
Modified files:
gfs2/libgfs2 : fs_ops.c
Log message:
Resolves: bz 304001: GFS2: Filesystems with 1k block size won't mount
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2/libgfs2/fs_ops.c.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.4.2.7&r2=1.4.2.8
--- cluster/gfs2/libgfs2/fs_ops.c 2007/09/17 17:23:40 1.4.2.7
+++ cluster/gfs2/libgfs2/fs_ops.c 2007/09/24 23:17:41 1.4.2.8
@@ -585,7 +585,7 @@
}
struct gfs2_buffer_head *get_file_buf(struct gfs2_inode *ip, uint64_t lbn,
- int prealloc)
+ int prealloc)
{
struct gfs2_sbd *sdp = ip->i_sbd;
uint64_t dbn;
@@ -594,7 +594,7 @@
if (inode_is_stuffed(ip))
unstuff_dinode(ip);
- block_map(ip, lbn, &new, &dbn, NULL, prealloc, not_updated);
+ block_map(ip, lbn, &new, &dbn, NULL, prealloc, updated);
if (!dbn)
die("get_file_buf\n");
^ permalink raw reply [flat|nested] 7+ messages in thread* [Cluster-devel] cluster/gfs2/libgfs2 fs_ops.c
@ 2007-09-24 23:16 rpeterso
0 siblings, 0 replies; 7+ messages in thread
From: rpeterso @ 2007-09-24 23:16 UTC (permalink / raw)
To: cluster-devel.redhat.com
CVSROOT: /cvs/cluster
Module name: cluster
Changes by: rpeterso at sourceware.org 2007-09-24 23:16:34
Modified files:
gfs2/libgfs2 : fs_ops.c
Log message:
Resolves: bz 304001: GFS2: Filesystems with 1k block size won't mount
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2/libgfs2/fs_ops.c.diff?cvsroot=cluster&r1=1.11&r2=1.12
--- cluster/gfs2/libgfs2/fs_ops.c 2007/09/17 17:08:20 1.11
+++ cluster/gfs2/libgfs2/fs_ops.c 2007/09/24 23:16:34 1.12
@@ -585,7 +585,7 @@
}
struct gfs2_buffer_head *get_file_buf(struct gfs2_inode *ip, uint64_t lbn,
- int prealloc)
+ int prealloc)
{
struct gfs2_sbd *sdp = ip->i_sbd;
uint64_t dbn;
@@ -594,7 +594,7 @@
if (inode_is_stuffed(ip))
unstuff_dinode(ip);
- block_map(ip, lbn, &new, &dbn, NULL, prealloc, not_updated);
+ block_map(ip, lbn, &new, &dbn, NULL, prealloc, updated);
if (!dbn)
die("get_file_buf\n");
^ permalink raw reply [flat|nested] 7+ messages in thread* [Cluster-devel] cluster/gfs2/libgfs2 fs_ops.c
@ 2007-06-22 20:49 rpeterso
0 siblings, 0 replies; 7+ messages in thread
From: rpeterso @ 2007-06-22 20:49 UTC (permalink / raw)
To: cluster-devel.redhat.com
CVSROOT: /cvs/cluster
Module name: cluster
Changes by: rpeterso at sourceware.org 2007-06-22 20:49:11
Modified files:
gfs2/libgfs2 : fs_ops.c
Log message:
Resolves: bz 245360: GFS2: userland tools have problems with small
block sizes
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2/libgfs2/fs_ops.c.diff?cvsroot=cluster&r1=1.8&r2=1.9
--- cluster/gfs2/libgfs2/fs_ops.c 2007/05/15 18:11:10 1.8
+++ cluster/gfs2/libgfs2/fs_ops.c 2007/06/22 20:49:10 1.9
@@ -195,7 +195,7 @@
buffer_copy_tail(bh, 0,
ip->i_bh, sizeof(struct gfs2_dinode));
- brelse(bh, not_updated);
+ brelse(bh, updated);
}
}
@@ -345,9 +345,7 @@
unsigned int height;
unsigned int end_of_metadata;
unsigned int x;
- enum update_flags f;
- f = not_updated;
*new = 0;
*dblock = 0;
if (extlen)
@@ -379,7 +377,7 @@
for (x = 0; x < end_of_metadata; x++) {
lookup_block(ip, bh, x, mp, create, new, dblock);
- brelse(bh, not_updated);
+ brelse(bh, updated);
if (!*dblock)
goto out;
@@ -390,7 +388,6 @@
mh.mh_type = GFS2_METATYPE_IN;
mh.mh_format = GFS2_FORMAT_IN;
gfs2_meta_header_out(&mh, bh->b_data);
- f = updated;
} else
bh = bread(sdp, *dblock);
}
@@ -420,7 +417,7 @@
}
}
- brelse(bh, f);
+ brelse(bh, updated);
out:
free(mp);
^ permalink raw reply [flat|nested] 7+ messages in thread* [Cluster-devel] cluster/gfs2/libgfs2 fs_ops.c
@ 2007-03-26 19:32 rpeterso
0 siblings, 0 replies; 7+ messages in thread
From: rpeterso @ 2007-03-26 19:32 UTC (permalink / raw)
To: cluster-devel.redhat.com
CVSROOT: /cvs/cluster
Module name: cluster
Branch: RHEL5
Changes by: rpeterso at sourceware.org 2007-03-26 20:32:25
Modified files:
gfs2/libgfs2 : fs_ops.c
Log message:
Resolves: Bugzilla Bug 232124: gfs2_fsck will create multiple
lost+found directories.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2/libgfs2/fs_ops.c.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.4.2.1&r2=1.4.2.2
--- cluster/gfs2/libgfs2/fs_ops.c 2007/02/12 19:01:41 1.4.2.1
+++ cluster/gfs2/libgfs2/fs_ops.c 2007/03/26 19:32:25 1.4.2.2
@@ -1177,19 +1177,24 @@
uint64_t bn;
struct gfs2_inum inum;
struct gfs2_buffer_head *bh;
+ struct gfs2_inode *ip;
- bn = dinode_alloc(sdp);
+ gfs2_lookupi(dip, filename, strlen(filename), &ip);
+ if (!ip) {
+ bn = dinode_alloc(sdp);
- inum.no_formal_ino = sdp->md.next_inum++;
- inum.no_addr = bn;
+ inum.no_formal_ino = sdp->md.next_inum++;
+ inum.no_addr = bn;
- dir_add(dip, filename, strlen(filename), &inum, IF2DT(mode));
+ dir_add(dip, filename, strlen(filename), &inum, IF2DT(mode));
- if(S_ISDIR(mode))
- dip->i_di.di_nlink++;
+ if(S_ISDIR(mode))
+ dip->i_di.di_nlink++;
- bh = init_dinode(sdp, &inum, mode, flags, &dip->i_di.di_num);
- return inode_get(sdp, bh);
+ bh = init_dinode(sdp, &inum, mode, flags, &dip->i_di.di_num);
+ ip = inode_get(sdp, bh);
+ }
+ return ip;
}
/**
^ permalink raw reply [flat|nested] 7+ messages in thread* [Cluster-devel] cluster/gfs2/libgfs2 fs_ops.c
@ 2007-03-26 19:32 rpeterso
0 siblings, 0 replies; 7+ messages in thread
From: rpeterso @ 2007-03-26 19:32 UTC (permalink / raw)
To: cluster-devel.redhat.com
CVSROOT: /cvs/cluster
Module name: cluster
Changes by: rpeterso at sourceware.org 2007-03-26 20:32:00
Modified files:
gfs2/libgfs2 : fs_ops.c
Log message:
Resolves: Bugzilla Bug 232124: gfs2_fsck will create multiple
lost+found directories.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2/libgfs2/fs_ops.c.diff?cvsroot=cluster&r1=1.5&r2=1.6
--- cluster/gfs2/libgfs2/fs_ops.c 2007/02/12 18:55:29 1.5
+++ cluster/gfs2/libgfs2/fs_ops.c 2007/03/26 19:31:59 1.6
@@ -1177,19 +1177,24 @@
uint64_t bn;
struct gfs2_inum inum;
struct gfs2_buffer_head *bh;
+ struct gfs2_inode *ip;
- bn = dinode_alloc(sdp);
+ gfs2_lookupi(dip, filename, strlen(filename), &ip);
+ if (!ip) {
+ bn = dinode_alloc(sdp);
- inum.no_formal_ino = sdp->md.next_inum++;
- inum.no_addr = bn;
+ inum.no_formal_ino = sdp->md.next_inum++;
+ inum.no_addr = bn;
- dir_add(dip, filename, strlen(filename), &inum, IF2DT(mode));
+ dir_add(dip, filename, strlen(filename), &inum, IF2DT(mode));
- if(S_ISDIR(mode))
- dip->i_di.di_nlink++;
+ if(S_ISDIR(mode))
+ dip->i_di.di_nlink++;
- bh = init_dinode(sdp, &inum, mode, flags, &dip->i_di.di_num);
- return inode_get(sdp, bh);
+ bh = init_dinode(sdp, &inum, mode, flags, &dip->i_di.di_num);
+ ip = inode_get(sdp, bh);
+ }
+ return ip;
}
/**
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2007-09-25 16:01 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-06-22 20:50 [Cluster-devel] cluster/gfs2/libgfs2 fs_ops.c rpeterso
-- strict thread matches above, loose matches on Subject: below --
2007-09-25 16:01 rpeterso
2007-09-24 23:17 rpeterso
2007-09-24 23:16 rpeterso
2007-06-22 20:49 rpeterso
2007-03-26 19:32 rpeterso
2007-03-26 19:32 rpeterso
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).