Messages in this thread | | | Date | Mon, 4 Sep 2006 19:51:39 +0200 (MEST) | From | Jan Engelhardt <> | Subject | Re: [PATCH 02/16] GFS2: Core locking interface |
| |
Hi,
>> >Unfortunately thats not possible as the struct gfs2_sbd is actually >> >changed lower down the call chain, but only in the lock_dlm module. >> >> +void gfs2_lm_unmount(struct gfs2_sbd *sdp) >> +{ >> + if (likely(!test_bit(SDF_SHUTDOWN, &sdp->sd_flags))) >> + gfs2_unmount_lockproto(&sdp->sd_lockstruct); >> +} >> >> I can't follow... test_bit does not modify *sdp or sdp->sd_flags, and >> gfs2_unmount_lockproto does not either. > >sd_lockstruct is part of the superblock and fields in the lockstruct are >changed by (for example) fs/gfs2/locking/dlm/mount.c: gdlm_unmount() so >I don't think its valid to mark the superblock const here (despite being >a great fan of using const in general).
Ah I just looked, and saw that
struct { struct ... sd_lockstruct; } sdp;
sd_lockstruct is not a pointer but a struct in line. Yes, you are right. It would have been valid only if sd_lockstruct was a pointer to non-const memory.
Jan Engelhardt -- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |