diff options
| author | David S. Miller <davem@davemloft.net> | 2009-12-01 22:13:38 -0800 | 
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2009-12-01 22:13:38 -0800 | 
| commit | ff9c38bba37937adb909cceb2a6521f2e92e17c6 (patch) | |
| tree | 93bd6152d9fa28348be99ef1c788040cc7b7a94d /fs/ocfs2/super.c | |
| parent | 65c0cfafce9575319fb6f70080fbe226e5617e3b (diff) | |
| parent | b2722b1c3a893ec6021508da15b32282ec79f4da (diff) | |
| download | olio-linux-3.10-ff9c38bba37937adb909cceb2a6521f2e92e17c6.tar.xz olio-linux-3.10-ff9c38bba37937adb909cceb2a6521f2e92e17c6.zip  | |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts:
	net/mac80211/ht.c
Diffstat (limited to 'fs/ocfs2/super.c')
| -rw-r--r-- | fs/ocfs2/super.c | 20 | 
1 files changed, 13 insertions, 7 deletions
diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c index c0e48aeebb1..14f47d2bfe0 100644 --- a/fs/ocfs2/super.c +++ b/fs/ocfs2/super.c @@ -773,18 +773,20 @@ static int ocfs2_sb_probe(struct super_block *sb,  		if (tmpstat < 0) {  			status = tmpstat;  			mlog_errno(status); -			goto bail; +			break;  		}  		di = (struct ocfs2_dinode *) (*bh)->b_data;  		memset(stats, 0, sizeof(struct ocfs2_blockcheck_stats));  		spin_lock_init(&stats->b_lock); -		status = ocfs2_verify_volume(di, *bh, blksize, stats); -		if (status >= 0) -			goto bail; -		brelse(*bh); -		*bh = NULL; -		if (status != -EAGAIN) +		tmpstat = ocfs2_verify_volume(di, *bh, blksize, stats); +		if (tmpstat < 0) { +			brelse(*bh); +			*bh = NULL; +		} +		if (tmpstat != -EAGAIN) { +			status = tmpstat;  			break; +		}  	}  bail: @@ -1645,6 +1647,10 @@ static int ocfs2_statfs(struct dentry *dentry, struct kstatfs *buf)  	buf->f_bavail = buf->f_bfree;  	buf->f_files = numbits;  	buf->f_ffree = freebits; +	buf->f_fsid.val[0] = crc32_le(0, osb->uuid_str, OCFS2_VOL_UUID_LEN) +				& 0xFFFFFFFFUL; +	buf->f_fsid.val[1] = crc32_le(0, osb->uuid_str + OCFS2_VOL_UUID_LEN, +				OCFS2_VOL_UUID_LEN) & 0xFFFFFFFFUL;  	brelse(bh);  |